2011-10-08 21:02:22 +08:00
|
|
|
#include <rtthread.h>
|
|
|
|
#include <stdio.h>
|
|
|
|
#include <stdlib.h>
|
|
|
|
#include <fcntl.h>
|
|
|
|
#include <sys/time.h>
|
|
|
|
#include "libc.h"
|
|
|
|
|
2013-04-05 02:12:35 +08:00
|
|
|
#ifdef RT_USING_PTHREADS
|
|
|
|
#include <pthread.h>
|
|
|
|
#endif
|
|
|
|
|
2014-12-06 15:26:19 +08:00
|
|
|
#ifdef RT_USING_DFS
|
|
|
|
#include <dfs_posix.h>
|
|
|
|
|
|
|
|
#ifdef RT_USING_DFS_DEVFS
|
|
|
|
#include <devfs.h>
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
2011-10-08 21:02:22 +08:00
|
|
|
void libc_system_init(const char* tty_name)
|
|
|
|
{
|
2013-04-05 02:12:35 +08:00
|
|
|
#ifdef RT_USING_DFS
|
2011-10-08 21:02:22 +08:00
|
|
|
int fd;
|
|
|
|
|
|
|
|
#ifndef RT_USING_DFS_DEVFS
|
|
|
|
#error Please enable devfs by defining RT_USING_DFS_DEVFS in rtconfig.h
|
|
|
|
#endif
|
|
|
|
|
2014-12-06 15:26:19 +08:00
|
|
|
/* initialize console device */
|
2011-10-08 21:02:22 +08:00
|
|
|
rt_console_init(tty_name);
|
|
|
|
|
|
|
|
/* open console as stdin/stdout/stderr */
|
|
|
|
fd = open("/dev/console", O_RDONLY, 0); /* for stdin */
|
|
|
|
fd = open("/dev/console", O_WRONLY, 0); /* for stdout */
|
|
|
|
fd = open("/dev/console", O_WRONLY, 0); /* for stderr */
|
2014-12-06 15:26:19 +08:00
|
|
|
|
|
|
|
/* skip warning */
|
|
|
|
fd = fd;
|
2012-02-18 00:26:49 +08:00
|
|
|
#endif
|
2011-10-08 21:02:22 +08:00
|
|
|
|
|
|
|
/* set PATH and HOME */
|
|
|
|
putenv("PATH=/");
|
|
|
|
putenv("HOME=/");
|
|
|
|
|
|
|
|
#ifdef RT_USING_PTHREADS
|
|
|
|
pthread_system_init();
|
|
|
|
#endif
|
|
|
|
}
|