summaryrefslogtreecommitdiff
path: root/components/libc/newlib/libc.c
diff options
context:
space:
mode:
Diffstat (limited to 'components/libc/newlib/libc.c')
-rw-r--r--components/libc/newlib/libc.c36
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);