summaryrefslogtreecommitdiff
path: root/components
diff options
context:
space:
mode:
Diffstat (limited to 'components')
-rw-r--r--components/libc/newlib/libc.c36
-rw-r--r--components/libc/newlib/libc.h14
2 files changed, 28 insertions, 22 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);
diff --git a/components/libc/newlib/libc.h b/components/libc/newlib/libc.h
index 52fddd9492..a4f342df33 100644
--- a/components/libc/newlib/libc.h
+++ b/components/libc/newlib/libc.h
@@ -3,15 +3,15 @@
#include <sys/time.h>
-#define MILLISECOND_PER_SECOND 1000UL
-#define MICROSECOND_PER_SECOND 1000000UL
-#define NANOSECOND_PER_SECOND 1000000000UL
+#define MILLISECOND_PER_SECOND 1000UL
+#define MICROSECOND_PER_SECOND 1000000UL
+#define NANOSECOND_PER_SECOND 1000000000UL
-#define MILLISECOND_PER_TICK (MILLISECOND_PER_SECOND / RT_TICK_PER_SECOND)
-#define MICROSECOND_PER_TICK (MICROSECOND_PER_SECOND / RT_TICK_PER_SECOND)
-#define NANOSECOND_PER_TICK (NANOSECOND_PER_SECOND / RT_TICK_PER_SECOND)
+#define MILLISECOND_PER_TICK (MILLISECOND_PER_SECOND / RT_TICK_PER_SECOND)
+#define MICROSECOND_PER_TICK (MICROSECOND_PER_SECOND / RT_TICK_PER_SECOND)
+#define NANOSECOND_PER_TICK (NANOSECOND_PER_SECOND / RT_TICK_PER_SECOND)
-void libc_system_init(const char* tty_name);
+int libc_system_init(void);
/* some time related function */
int libc_set_time(const struct timespec *time);