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 | |
| parent | 62a0172d11e559272128bf52b56ef806ba28ae24 (diff) | |
[Libc] Change libc_system_init as INIT_COMPONENT
Diffstat (limited to 'components')
| -rw-r--r-- | components/libc/newlib/libc.c | 36 | ||||
| -rw-r--r-- | components/libc/newlib/libc.h | 14 |
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); |
