diff options
| author | Bernard Xiong <[email protected]> | 2015-04-10 14:43:42 +0800 |
|---|---|---|
| committer | Bernard Xiong <[email protected]> | 2015-04-10 14:43:42 +0800 |
| commit | 3949ae258b8fb115d5e81bdf9d5c284ccd419ffe (patch) | |
| tree | e1e32a9935deab57084e1a9f9cdae2e570559d60 /components | |
| parent | 2ff048f7f0170d618333edc4484cb6b09eaf17fd (diff) | |
| parent | 1f95de43aa6f24d2684e40b1d9e1a60689f7651d (diff) | |
Merge pull request #456 from BernardXiong/master
[tools] Add package.json as building script.
Diffstat (limited to 'components')
| -rw-r--r-- | components/cplusplus/crt.cpp | 24 | ||||
| -rw-r--r-- | components/cplusplus/crt.h | 24 | ||||
| -rw-r--r-- | components/cplusplus/crt_init.c | 2 | ||||
| -rw-r--r-- | components/dfs/SConscript | 211 | ||||
| -rw-r--r-- | components/dfs/filesystems/SConscript | 15 | ||||
| -rw-r--r-- | components/dfs/filesystems/devfs/SConscript | 11 | ||||
| -rw-r--r-- | components/dfs/filesystems/elmfat/SConscript | 26 | ||||
| -rw-r--r-- | components/dfs/filesystems/jffs2/SConscript | 50 | ||||
| -rw-r--r-- | components/dfs/filesystems/nfs/SConscript | 11 | ||||
| -rw-r--r-- | components/dfs/filesystems/ramfs/SConscript | 2 | ||||
| -rw-r--r-- | components/dfs/filesystems/romfs/SConscript | 15 | ||||
| -rw-r--r-- | components/dfs/filesystems/skeleton/skeleton.c | 3 | ||||
| -rw-r--r-- | components/dfs/filesystems/uffs/SConscript | 11 | ||||
| -rw-r--r-- | components/finsh/cmd.c | 1 | ||||
| -rw-r--r-- | components/finsh/shell.c | 3 | ||||
| -rw-r--r-- | components/init/SConscript | 14 | ||||
| -rw-r--r-- | components/init/components.c | 177 | ||||
| -rw-r--r-- | components/init/components.h | 105 | ||||
| -rw-r--r-- | components/libc/newlib/libc.c | 36 | ||||
| -rw-r--r-- | components/libc/newlib/libc.h | 14 |
20 files changed, 232 insertions, 523 deletions
diff --git a/components/cplusplus/crt.cpp b/components/cplusplus/crt.cpp index 6fa540b9e7..b6455f73f4 100644 --- a/components/cplusplus/crt.cpp +++ b/components/cplusplus/crt.cpp @@ -1,3 +1,27 @@ +/* +* File : crt.cpp +* This file is part of Device File System in RT-Thread RTOS +* COPYRIGHT (C) 2008-2015, RT-Thread Development Team +* +* This program is free software; you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation; either version 2 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License along +* with this program; if not, write to the Free Software Foundation, Inc., +* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +* +* Change Logs: +* Date Author Notes +* 2015-03-07 Bernard Add copyright header. +*/ + #include <rtthread.h> #include "crt.h" diff --git a/components/cplusplus/crt.h b/components/cplusplus/crt.h index fd287c2ad5..105aa0e4fc 100644 --- a/components/cplusplus/crt.h +++ b/components/cplusplus/crt.h @@ -1,3 +1,27 @@ +/* +* File : crt.h +* This file is part of Device File System in RT-Thread RTOS +* COPYRIGHT (C) 2008-2015, RT-Thread Development Team +* +* This program is free software; you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation; either version 2 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License along +* with this program; if not, write to the Free Software Foundation, Inc., +* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +* +* Change Logs: +* Date Author Notes +* 2015-03-07 Bernard Add copyright header. +*/ + #ifndef CRT_H_ #define CRT_H_ diff --git a/components/cplusplus/crt_init.c b/components/cplusplus/crt_init.c index 958177c1f2..9a823e394c 100644 --- a/components/cplusplus/crt_init.c +++ b/components/cplusplus/crt_init.c @@ -1,7 +1,7 @@ /* * File : crt_init.c * This file is part of Device File System in RT-Thread RTOS -* COPYRIGHT (C) 2008-2011, RT-Thread Development Team +* COPYRIGHT (C) 2008-2015, RT-Thread Development Team * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/components/dfs/SConscript b/components/dfs/SConscript index 132f237f8b..e13ed292dc 100644 --- a/components/dfs/SConscript +++ b/components/dfs/SConscript @@ -1,207 +1,18 @@ -Import('RTT_ROOT') -Import('rtconfig') from building import * # The set of source files associated with this SConscript file. -dfs = Split(""" -src/dfs.c -src/dfs_fs.c -src/dfs_file.c -src/dfs_posix.c -""") +src = Glob('src/*.c') +cwd = GetCurrentDir() +CPPPATH = [cwd + "/include"] -# DFS-ELMFAT options -elmfat = Split(""" -filesystems/elmfat/dfs_elm.c -filesystems/elmfat/ff.c -""") +group = DefineGroup('Filesystem', src, depend = ['RT_USING_DFS'], CPPPATH = CPPPATH) -# DFS-ROMFS options -romfs = Split(""" -filesystems/romfs/dfs_romfs.c -""") -if not GetDepend('DFS_ROMFS_ROOT'): - romfs = romfs + Split('filesystems/romfs/romfs.c') - -# DFS-RAMFS options -ramfs = Split(""" -filesystems/ramfs/dfs_ramfs.c -""") - -# DFS-DeviceFS options -devfs = Split(""" -filesystems/devfs/devfs.c -filesystems/devfs/console.c -""") - -# DFS-YAFFS2 options -yaffs2_src = Split(""" -filesystems/yaffs2/dfs_yaffs2.c -filesystems/yaffs2/yaffs_osglue.c -filesystems/yaffs2/yaffs_nandcfg.c - -filesystems/yaffs2/yaffs/yaffs_allocator.c -filesystems/yaffs2/yaffs/yaffs_bitmap.c -filesystems/yaffs2/yaffs/yaffs_checkptrw.c -filesystems/yaffs2/yaffs/yaffs_ecc.c -filesystems/yaffs2/yaffs/yaffs_guts.c -filesystems/yaffs2/yaffs/yaffs_nameval.c -filesystems/yaffs2/yaffs/yaffs_nand.c -filesystems/yaffs2/yaffs/yaffs_packedtags1.c -filesystems/yaffs2/yaffs/yaffs_packedtags2.c -filesystems/yaffs2/yaffs/yaffs_summary.c -filesystems/yaffs2/yaffs/yaffs_tagscompat.c -filesystems/yaffs2/yaffs/yaffs_verify.c -filesystems/yaffs2/yaffs/yaffs_yaffs1.c -filesystems/yaffs2/yaffs/yaffs_yaffs2.c - -filesystems/yaffs2/yaffs/direct/yaffs_attribs.c -filesystems/yaffs2/yaffs/direct/yaffs_hweight.c -filesystems/yaffs2/yaffs/direct/yaffs_nandif.c -filesystems/yaffs2/yaffs/direct/yaffs_qsort.c -filesystems/yaffs2/yaffs/direct/yaffsfs.c - -""") - -nfs = Split(''' -filesystems/nfs/mount_clnt.c -filesystems/nfs/mount_xdr.c -filesystems/nfs/nfs_clnt.c -filesystems/nfs/nfs_xdr.c -filesystems/nfs/dfs_nfs.c -filesystems/nfs/rpc/auth_none.c -filesystems/nfs/rpc/clnt_generic.c -filesystems/nfs/rpc/clnt_udp.c -filesystems/nfs/rpc/rpc_prot.c -filesystems/nfs/rpc/pmap.c -filesystems/nfs/rpc/xdr.c -filesystems/nfs/rpc/xdr_mem.c -''') - -uffs = Split(''' -filesystems/uffs/src/uffs/uffs_badblock.c -filesystems/uffs/src/uffs/uffs_blockinfo.c -filesystems/uffs/src/uffs/uffs_buf.c -filesystems/uffs/src/uffs/uffs_debug.c -filesystems/uffs/src/uffs/uffs_device.c -filesystems/uffs/src/uffs/uffs_ecc.c -filesystems/uffs/src/uffs/uffs_crc.c -filesystems/uffs/src/uffs/uffs_fd.c -filesystems/uffs/src/uffs/uffs_find.c -filesystems/uffs/src/uffs/uffs_flash.c -filesystems/uffs/src/uffs/uffs_fs.c -filesystems/uffs/src/uffs/uffs_init.c -filesystems/uffs/src/uffs/uffs_mem.c -filesystems/uffs/src/uffs/uffs_mtb.c -filesystems/uffs/src/uffs/uffs_pool.c -filesystems/uffs/src/uffs/uffs_public.c -filesystems/uffs/src/uffs/uffs_tree.c -filesystems/uffs/src/uffs/uffs_utils.c -filesystems/uffs/src/uffs/uffs_version.c - -filesystems/uffs/dfs_uffs.c -filesystems/uffs/uffs_nandif.c -filesystems/uffs/uffs_rtthread.c -''') - -jffs2 = Split(''' -filesystems/jffs2/dfs_jffs2.c -filesystems/jffs2/porting.c - -filesystems/jffs2/cyg/compress/src/adler32.c -filesystems/jffs2/cyg/compress/src/compress.c -filesystems/jffs2/cyg/compress/src/deflate.c -filesystems/jffs2/cyg/compress/src/infback.c -filesystems/jffs2/cyg/compress/src/inffast.c -filesystems/jffs2/cyg/compress/src/inflate.c -filesystems/jffs2/cyg/compress/src/inftrees.c -filesystems/jffs2/cyg/compress/src/trees.c -filesystems/jffs2/cyg/compress/src/uncompr.c -filesystems/jffs2/cyg/compress/src/zutil.c - -filesystems/jffs2/cyg/crc/crc16.c -filesystems/jffs2/cyg/crc/crc32.c -filesystems/jffs2/cyg/crc/posix_crc.c -filesystems/jffs2/kernel/rbtree.c -filesystems/jffs2/src/build.c -filesystems/jffs2/src/compr.c -filesystems/jffs2/src/compr_rtime.c -filesystems/jffs2/src/compr_rubin.c -filesystems/jffs2/src/compr_zlib.c -filesystems/jffs2/src/debug.c -filesystems/jffs2/src/dir-ecos.c -filesystems/jffs2/src/erase.c -filesystems/jffs2/src/flashio.c -filesystems/jffs2/src/fs-ecos.c -filesystems/jffs2/src/gc.c -filesystems/jffs2/src/gcthread.c -filesystems/jffs2/src/malloc-ecos.c -filesystems/jffs2/src/nodelist.c -filesystems/jffs2/src/nodemgmt.c -filesystems/jffs2/src/read.c -filesystems/jffs2/src/readinode.c -filesystems/jffs2/src/scan.c -filesystems/jffs2/src/write.c -''') - -src_local = dfs -CPPDEFINES = [] - -# The set of source files associated with this SConscript file. -path = [RTT_ROOT + '/components/dfs', RTT_ROOT + '/components/dfs/include'] - -if GetDepend('RT_USING_DFS_YAFFS2'): - src_local = src_local + yaffs2_src - path = path + [RTT_ROOT + '/components/dfs/filesystems/yaffs2/yaffs', \ - RTT_ROOT + '/components/dfs/filesystems/yaffs2/yaffs/direct' ] - -if GetDepend('RT_USING_DFS_ELMFAT'): - if GetDepend('RT_DFS_ELM_USE_LFN'): - if GetDepend('RT_DFS_ELM_CODE_PAGE_FILE'): - elmfat += ['filesystems/elmfat/option/ccfile.c'] - else: - if GetConfigValue('RT_DFS_ELM_CODE_PAGE') == 932: - elmfat += ['filesystems/elmfat/option/cc932.c'] - elif GetConfigValue('RT_DFS_ELM_CODE_PAGE') == 936: - elmfat += ['filesystems/elmfat/option/cc936.c'] - elif GetConfigValue('RT_DFS_ELM_CODE_PAGE') == 949: - elmfat += ['filesystems/elmfat/option/cc949.c'] - elif GetConfigValue('RT_DFS_ELM_CODE_PAGE') == 950: - elmfat += ['filesystems/elmfat/option/cc950.c'] - else: - elmfat += ['filesystems/elmfat/option/ccsbcs.c'] - src_local = src_local + elmfat - -if GetDepend(['RT_USING_DFS_NFS', 'RT_USING_LWIP']): - src_local = src_local + nfs - path = path + [RTT_ROOT + '/components/dfs/filesystems/nfs'] - -if GetDepend('RT_USING_DFS_ROMFS'): - src_local = src_local + romfs - path = path + [RTT_ROOT + '/components/dfs/filesystems/romfs'] - -if GetDepend('RT_USING_DFS_RAMFS'): - src_local = src_local + ramfs - path = path + [RTT_ROOT + '/components/dfs/filesystems/ramfs'] - -if GetDepend('RT_USING_DFS_DEVFS'): - src_local = src_local + devfs - path = path + [RTT_ROOT + '/components/dfs/filesystems/devfs'] - -if GetDepend('RT_USING_DFS_UFFS'): - src_local = src_local + uffs - path = path + [RTT_ROOT + '/components/dfs/filesystems/uffs/src/inc', \ - RTT_ROOT + '/components/dfs/filesystems/uffs'] #, \ - # RTT_ROOT + '/components/dfs/filesystems/uffs/flash'] - -if GetDepend('RT_USING_DFS_JFFS2'): - src_local = src_local + jffs2 - path = path + [RTT_ROOT + '/components/dfs/filesystems/jffs2/src', \ - RTT_ROOT + '/components/dfs/filesystems/jffs2/kernel', \ - RTT_ROOT + '/components/dfs/filesystems/jffs2/include', \ - RTT_ROOT + '/components/dfs/filesystems/jffs2', \ - RTT_ROOT + '/components/dfs/filesystems/jffs2/cyg/compress'] - -group = DefineGroup('Filesystem', src_local, depend = ['RT_USING_DFS'], CPPPATH = path, CPPDEFINES = CPPDEFINES) +if GetDepend('RT_USING_DFS'): + # search in the file system implementation + list = os.listdir(cwd) + + for item in list: + if os.path.isfile(os.path.join(cwd, item, 'SConscript')): + group = group + SConscript(os.path.join(item, 'SConscript')) Return('group') diff --git a/components/dfs/filesystems/SConscript b/components/dfs/filesystems/SConscript new file mode 100644 index 0000000000..4c815c49b8 --- /dev/null +++ b/components/dfs/filesystems/SConscript @@ -0,0 +1,15 @@ +# RT-Thread building script for bridge + +import os +from building import * + +cwd = GetCurrentDir() +objs = [] +list = os.listdir(cwd) + +for d in list: + path = os.path.join(cwd, d) + if os.path.isfile(os.path.join(path, 'SConscript')): + objs = objs + SConscript(os.path.join(d, 'SConscript')) + +Return('objs') diff --git a/components/dfs/filesystems/devfs/SConscript b/components/dfs/filesystems/devfs/SConscript new file mode 100644 index 0000000000..898b04a234 --- /dev/null +++ b/components/dfs/filesystems/devfs/SConscript @@ -0,0 +1,11 @@ +# RT-Thread building script for component + +from building import * + +cwd = GetCurrentDir() +src = Glob('*.c') +CPPPATH = [cwd] + +group = DefineGroup('Filesystem', src, depend = ['RT_USING_DFS', 'RT_USING_DFS_DEVFS'], CPPPATH = CPPPATH) + +Return('group') diff --git a/components/dfs/filesystems/elmfat/SConscript b/components/dfs/filesystems/elmfat/SConscript new file mode 100644 index 0000000000..8b7ec02d43 --- /dev/null +++ b/components/dfs/filesystems/elmfat/SConscript @@ -0,0 +1,26 @@ +# RT-Thread building script for component + +from building import * + +cwd = GetCurrentDir() +src = Glob('*.c') +CPPPATH = [cwd] + +if GetDepend('RT_DFS_ELM_USE_LFN'): + if GetDepend('RT_DFS_ELM_CODE_PAGE_FILE'): + src += ['option/ccfile.c'] + else: + if GetConfigValue('RT_DFS_ELM_CODE_PAGE') == 932: + src += ['option/cc932.c'] + elif GetConfigValue('RT_DFS_ELM_CODE_PAGE') == 936: + src += ['option/cc936.c'] + elif GetConfigValue('RT_DFS_ELM_CODE_PAGE') == 949: + src += ['option/cc949.c'] + elif GetConfigValue('RT_DFS_ELM_CODE_PAGE') == 950: + src += ['option/cc950.c'] + else: + src += ['option/ccsbcs.c'] + +group = DefineGroup('Filesystem', src, depend = ['RT_USING_DFS', 'RT_USING_DFS_ELMFAT'], CPPPATH = CPPPATH) + +Return('group') diff --git a/components/dfs/filesystems/jffs2/SConscript b/components/dfs/filesystems/jffs2/SConscript new file mode 100644 index 0000000000..47854393e3 --- /dev/null +++ b/components/dfs/filesystems/jffs2/SConscript @@ -0,0 +1,50 @@ +# RT-Thread building script for component + +from building import * + +cwd = GetCurrentDir() +src = Split(''' +dfs_jffs2.c +porting.c + +cyg/compress/src/adler32.c +cyg/compress/src/compress.c +cyg/compress/src/deflate.c +cyg/compress/src/infback.c +cyg/compress/src/inffast.c +cyg/compress/src/inflate.c +cyg/compress/src/inftrees.c +cyg/compress/src/trees.c +cyg/compress/src/uncompr.c +cyg/compress/src/zutil.c + +cyg/crc/crc16.c +cyg/crc/crc32.c +cyg/crc/posix_crc.c +kernel/rbtree.c +src/build.c +src/compr.c +src/compr_rtime.c +src/compr_rubin.c +src/compr_zlib.c +src/debug.c +src/dir-ecos.c +src/erase.c +src/flashio.c +src/fs-ecos.c +src/gc.c +src/gcthread.c +src/malloc-ecos.c +src/nodelist.c +src/nodemgmt.c +src/read.c +src/readinode.c +src/scan.c +src/write.c +''') + +CPPPATH = [cwd, cwd + '/include', cwd + '/src', cwd + '/cyg', cwd + '/kernel', cwd + '/cyg/compress'] + +group = DefineGroup('Filesystem', src, depend = ['RT_USING_DFS', 'RT_USING_DFS_JFFS2'], CPPPATH = CPPPATH) + +Return('group') diff --git a/components/dfs/filesystems/nfs/SConscript b/components/dfs/filesystems/nfs/SConscript new file mode 100644 index 0000000000..3a5a665b30 --- /dev/null +++ b/components/dfs/filesystems/nfs/SConscript @@ -0,0 +1,11 @@ +# RT-Thread building script for component + +from building import * + +cwd = GetCurrentDir() +src = Glob('*.c') +CPPPATH = [cwd] + +group = DefineGroup('Filesystem', src, depend = ['RT_USING_DFS', 'RT_USING_DFS_NFS'], CPPPATH = CPPPATH) + +Return('group') diff --git a/components/dfs/filesystems/ramfs/SConscript b/components/dfs/filesystems/ramfs/SConscript index 637ee2d9bc..1304f59629 100644 --- a/components/dfs/filesystems/ramfs/SConscript +++ b/components/dfs/filesystems/ramfs/SConscript @@ -4,6 +4,6 @@ cwd = GetCurrentDir() src = Glob('*.c') CPPPATH = [cwd] -group = DefineGroup('Filesystem', src, depend = ['RT_USING_DFS', 'RT_USING_MEMHEAP'], CPPPATH = CPPPATH) +group = DefineGroup('Filesystem', src, depend = ['RT_USING_DFS', 'RT_USING_MEMHEAP', 'RT_USING_DFS_RAMFS'], CPPPATH = CPPPATH) Return('group') diff --git a/components/dfs/filesystems/romfs/SConscript b/components/dfs/filesystems/romfs/SConscript new file mode 100644 index 0000000000..bfd633ce91 --- /dev/null +++ b/components/dfs/filesystems/romfs/SConscript @@ -0,0 +1,15 @@ +# RT-Thread building script for component + +from building import * + +cwd = GetCurrentDir() +src = Glob('*.c') +CPPPATH = [cwd] + +if GetDepend('DFS_ROMFS_ROOT'): + # A new ROMFS root has been defined, we should remove the romfs.c + SrcRemove(src, ['romfs.c']) + +group = DefineGroup('Filesystem', src, depend = ['RT_USING_DFS','RT_USING_DFS_ROMFS'], CPPPATH = CPPPATH) + +Return('group') diff --git a/components/dfs/filesystems/skeleton/skeleton.c b/components/dfs/filesystems/skeleton/skeleton.c index 74b0150140..6abcec12ff 100644 --- a/components/dfs/filesystems/skeleton/skeleton.c +++ b/components/dfs/filesystems/skeleton/skeleton.c @@ -1,7 +1,7 @@ /* * File : skeleton.c * This file is part of Device File System in RT-Thread RTOS - * COPYRIGHT (C) 2004-2011, RT-Thread Development Team + * COPYRIGHT (C) 2004-2015, RT-Thread Development Team * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -100,3 +100,4 @@ int dfs_skt_init(void) dfs_register(&_skt_fs); return 0; } +INIT_FS_EXPORT(dfs_skt_init); diff --git a/components/dfs/filesystems/uffs/SConscript b/components/dfs/filesystems/uffs/SConscript new file mode 100644 index 0000000000..f822cf5d73 --- /dev/null +++ b/components/dfs/filesystems/uffs/SConscript @@ -0,0 +1,11 @@ +# RT-Thread building script for component + +from building import * + +cwd = GetCurrentDir() +src = Glob('*.c') +CPPPATH = [cwd, cwd + '/src/inc'] + +group = DefineGroup('Filesystem', src, depend = ['RT_USING_DFS', 'RT_USING_DFS_UFFS'], CPPPATH = CPPPATH) + +Return('group') diff --git a/components/finsh/cmd.c b/components/finsh/cmd.c index e449e0c2dc..7d24a33d6a 100644 --- a/components/finsh/cmd.c +++ b/components/finsh/cmd.c @@ -623,7 +623,6 @@ int list_mod_detail(const char *name) return 0; } FINSH_FUNCTION_EXPORT(list_mod_detail, list module objects in system) -MSH_CMD_EXPORT(list_mod_detail, list module objects in system) #endif long list(void) diff --git a/components/finsh/shell.c b/components/finsh/shell.c index 125dcec198..f28e235b3f 100644 --- a/components/finsh/shell.c +++ b/components/finsh/shell.c @@ -526,7 +526,8 @@ void finsh_thread_entry(void* parameter) else { shell->line[shell->line_position] = ch; - rt_kprintf("%c", ch); + if (shell->echo_mode) + rt_kprintf("%c", ch); } ch = 0; diff --git a/components/init/SConscript b/components/init/SConscript deleted file mode 100644 index 97e1535240..0000000000 --- a/components/init/SConscript +++ /dev/null @@ -1,14 +0,0 @@ -Import('rtconfig') -from building import * - -cwd = GetCurrentDir() -src = Glob('*.c') -CPPPATH = [cwd] -if rtconfig.CROSS_TOOL == 'keil': - LINKFLAGS = ' --keep __rt_init* ' -else: - LINKFLAGS = '' - -group = DefineGroup('Components', src, depend = ['RT_USING_COMPONENTS_INIT'], CPPPATH = CPPPATH, LINKFLAGS = LINKFLAGS) - -Return('group') diff --git a/components/init/components.c b/components/init/components.c deleted file mode 100644 index 2c507e12f8..0000000000 --- a/components/init/components.c +++ /dev/null @@ -1,177 +0,0 @@ -/* - * File : components.c - * This file is part of RT-Thread RTOS - * COPYRIGHT (C) 2012 - 2013, RT-Thread Development Team - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Change Logs: - * Date Author Notes - * 2012-09-20 Bernard Change the name to components.c - * And all components related header files. - * 2012-12-23 Bernard fix the pthread initialization issue. - * 2013-06-23 Bernard Add the init_call for components initialization. - * 2013-07-05 Bernard Remove initialization feature for MS VC++ compiler - */ - -#include "components.h" - -static int rti_start(void) -{ - return 0; -} -INIT_EXPORT(rti_start, "0"); - -static int rti_board_end(void) -{ - return 0; -} -INIT_EXPORT(rti_board_end, "1.post"); - -static int rti_end(void) -{ - return 0; -} -INIT_EXPORT(rti_end,"7"); - -/** - * RT-Thread Components Initialization for board - */ -void rt_components_board_init(void) -{ -#ifndef _MSC_VER -#if RT_DEBUG_INIT - int result; - const struct rt_init_desc *desc; - for (desc = &__rt_init_desc_rti_start; desc < &__rt_init_desc_rti_board_end; desc ++) - { - rt_kprintf("initialize %s", desc->fn_name); - result = desc->fn(); - rt_kprintf(":%d done\n", result); - } -#else - const init_fn_t *fn_ptr; - - for (fn_ptr = &__rt_init_rti_start; fn_ptr < &__rt_init_rti_board_end; fn_ptr++) - { - (*fn_ptr)(); - } -#endif -#endif -} - -/** - * RT-Thread Components Initialization - */ -void rt_components_init(void) -{ -#ifndef _MSC_VER -#if RT_DEBUG_INIT - int result; - const struct rt_init_desc *desc; - - rt_kprintf("do components intialization.\n"); - for (desc = &__rt_init_desc_rti_board_end; desc < &__rt_init_desc_rti_end; desc ++) - { - rt_kprintf("initialize %s", desc->fn_name); - result = desc->fn(); - rt_kprintf(":%d done\n", result); - } -#else - const init_fn_t *fn_ptr; - - for (fn_ptr = &__rt_init_rti_board_end; fn_ptr < &__rt_init_rti_end; fn_ptr ++) - { - (*fn_ptr)(); - } -#endif -#else -#ifdef RT_USING_MODULE - rt_system_module_init(); -#endif - -#ifdef RT_USING_FINSH - /* initialize finsh */ - finsh_system_init(); - finsh_set_device(RT_CONSOLE_DEVICE_NAME); -#endif - -#ifdef RT_USING_LWIP - /* initialize lwip stack */ - /* register ethernetif device */ - eth_system_device_init(); - - /* initialize lwip system */ - lwip_system_init(); - rt_kprintf("TCP/IP initialized!\n"); -#endif - -#ifdef RT_USING_DFS - /* initialize the device file system */ - dfs_init(); - -#ifdef RT_USING_DFS_ELMFAT - /* initialize the elm chan FatFS file system*/ - elm_init(); -#endif - -#if defined(RT_USING_DFS_NFS) && defined(RT_USING_LWIP) - /* initialize NFSv3 client file system */ - nfs_init(); -#endif - -#ifdef RT_USING_DFS_YAFFS2 - dfs_yaffs2_init(); -#endif - -#ifdef RT_USING_DFS_UFFS - dfs_uffs_init(); -#endif - -#ifdef RT_USING_DFS_JFFS2 - dfs_jffs2_init(); -#endif - -#ifdef RT_USING_DFS_ROMFS - dfs_romfs_init(); -#endif - -#ifdef RT_USING_DFS_RAMFS - dfs_ramfs_init(); -#endif - -#ifdef RT_USING_DFS_DEVFS - devfs_init(); -#endif -#endif /* end of RT_USING_DFS */ - -#ifdef RT_USING_NEWLIB - libc_system_init(RT_CONSOLE_DEVICE_NAME); -#else - /* the pthread system initialization will be initiallized in libc */ -#ifdef RT_USING_PTHREADS - pthread_system_init(); -#endif -#endif - -#ifdef RT_USING_RTGUI - rtgui_system_server_init(); -#endif - -#ifdef RT_USING_USB_HOST - rt_usb_host_init(); -#endif -#endif -} diff --git a/components/init/components.h b/components/init/components.h deleted file mode 100644 index 11d3c81788..0000000000 --- a/components/init/components.h +++ /dev/null @@ -1,105 +0,0 @@ -/* - * File : components_init.h - * This file is part of RT-Thread RTOS - * COPYRIGHT (C) 2012, RT-Thread Development Team - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Change Logs: - * Date Author Notes - * 2012-09-20 Bernard Change the name to components.h - * And all components related header files. - */ - -#ifndef __COMPONENTS_INIT_H__ -#define __COMPONENTS_INIT_H__ - -#include <rtthread.h> - -#ifdef RT_USING_FINSH -#include <finsh.h> -#include <shell.h> -#endif - -#ifdef RT_USING_LWIP -#include <lwip/sys.h> -#include <netif/ethernetif.h> -extern void lwip_system_init(void); -#endif - -#ifdef RT_USING_DFS -#include <dfs_init.h> -#include <dfs_fs.h> -#ifdef RT_USING_DFS_ELMFAT -#include <dfs_elm.h> -#endif -#if defined(RT_USING_LWIP) && defined(RT_USING_DFS_NFS) -#include <dfs_nfs.h> -#endif -#ifdef RT_USING_DFS_ROMFS -#include <dfs_romfs.h> -#endif -#ifdef RT_USING_DFS_DEVFS -#include <devfs.h> -#endif -#ifdef RT_USING_DFS_UFFS -#include <dfs_uffs.h> -#endif -#ifdef RT_USING_DFS_JFFS2 -#include <dfs_jffs2.h> -#endif -#ifdef RT_USING_DFS_YAFFS2 -#include <dfs_yaffs2.h> -#endif -#ifdef RT_USING_DFS_ROMFS -#include <dfs_romfs.h> -#endif -#endif - -#ifdef RT_USING_NEWLIB -#include <libc.h> -#endif -#ifdef RT_USING_PTHREADS -#include <pthread.h> -#endif - -#ifdef RT_USING_MODULE -#include <rtm.h> -#endif - -#ifdef RT_USING_RTGUI -#include <rtgui/rtgui_system.h> -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * Initializes board routine in RT-Thread. - */ -void rt_components_board_init(void); - -/** - * Initializes components in RT-Thread - * notes: this function must be invoked in Init Thread - */ -void rt_components_init(void); - -#ifdef __cplusplus -} -#endif - -#endif 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); |
