diff options
| author | Bernard.Xiong <[email protected]> | 2015-03-26 19:58:05 +0800 |
|---|---|---|
| committer | Bernard.Xiong <[email protected]> | 2015-03-26 19:58:05 +0800 |
| commit | 0da8d515acb23f702deaa6d6ee332a225d2bdb48 (patch) | |
| tree | 2a5f530bf2fdc599fdd65650217bb5b8c046f9e6 /components/libc/newlib/libc.c | |
| parent | 62a0172d11e559272128bf52b56ef806ba28ae24 (diff) | |
[Libc] Change libc_system_init as INIT_COMPONENT
Diffstat (limited to 'components/libc/newlib/libc.c')
| -rw-r--r-- | components/libc/newlib/libc.c | 36 |
1 files changed, 21 insertions, 15 deletions
diff --git a/components/libc/newlib/libc.c b/components/libc/newlib/libc.c index 73270969b8..0427a6d91b 100644 --- a/components/libc/newlib/libc.c +++ b/components/libc/newlib/libc.c @@ -18,32 +18,38 @@ #endif -void libc_system_init(const char* tty_name) +int libc_system_init(void) { #ifdef RT_USING_DFS - int fd; + int fd; + struct rt_device *console_dev; #ifndef RT_USING_DFS_DEVFS #error Please enable devfs by defining RT_USING_DFS_DEVFS in rtconfig.h #endif - /* initialize console device */ - rt_console_init(tty_name); + console_dev = rt_console_get_device(); + if (console_dev) + { + /* initialize console device */ + rt_console_init(console_dev->parent.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 */ - - /* skip warning */ - fd = fd; + /* 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 */ + + /* skip warning */ + fd = fd; + } #endif - /* set PATH and HOME */ - putenv("PATH=/"); - putenv("HOME=/"); + /* set PATH and HOME */ + putenv("PATH=/bin"); + putenv("HOME=/home"); #ifdef RT_USING_PTHREADS - pthread_system_init(); + pthread_system_init(); #endif } +INIT_COMPONENT_EXPORT(libc_system_init); |
