From 4eeae777dcb576e8c041bf938f1b56484f6dde3d Mon Sep 17 00:00:00 2001 From: "bernard.xiong@gmail.com" Date: Sun, 22 Aug 2010 23:19:11 +0000 Subject: [PATCH] use minimal configuration on rtconfig.h git-svn-id: https://rt-thread.googlecode.com/svn/trunk@876 bbd45198-f89e-11dd-88c7-29a3b14d5316 --- bsp/jz47xx/jz47xx_ram.lds | 113 ++++++++++++++++++++++++++++++++++++++ bsp/jz47xx/rtconfig.h | 4 +- bsp/jz47xx/rtconfig.py | 9 ++- bsp/jz47xx/startup.c | 2 + 4 files changed, 124 insertions(+), 4 deletions(-) create mode 100644 bsp/jz47xx/jz47xx_ram.lds diff --git a/bsp/jz47xx/jz47xx_ram.lds b/bsp/jz47xx/jz47xx_ram.lds new file mode 100644 index 0000000000..ebea08a5c5 --- /dev/null +++ b/bsp/jz47xx/jz47xx_ram.lds @@ -0,0 +1,113 @@ +/* + * File : jz47xx_ram.lds + * This file is part of RT-Thread RTOS + * COPYRIGHT (C) 2010, RT-Thread Development Team + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rt-thread.org/license/LICENSE + * + * Change Logs: + * Date Author Notes + * 2010-05-17 swkyer first version + * 2010-08-23 bernard change to jz47xx + */ + +ENTRY(_entry) +SECTIONS +{ + .start 0x80000000: + { + *(.start); + } + + .text ALIGN(0x4) : + { + *(.text) + *(.text.*) + *(.rodata) + *(.rodata.*) + *(.rodata1) + *(.rodata1.*) + + /* section information for finsh shell */ + . = ALIGN(4); + __fsymtab_start = .; + KEEP(*(FSymTab)) + __fsymtab_end = .; + . = ALIGN(4); + __vsymtab_start = .; + KEEP(*(VSymTab)) + __vsymtab_end = .; + . = ALIGN(4); + } + + .data ALIGN(0x4) : + { + *(.data) + *(.data.*) + + *(.data1) + *(.data1.*) + + . = ALIGN(8); + _gp = ABSOLUTE(.); /* Base of small data */ + + *(.sdata) + *(.sdata.*) + } + + __bss_start = ABSOLUTE(.); + .sbss : + { + *(.sbss) + *(.sbss.*) + *(.dynsbss) + *(.scommon) + } + + .bss : + { + *(.bss) + *(.bss.*) + *(.dynbss) + *(COMMON) + } + __bss_end = ABSOLUTE(.); + + _end = .; + + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + /* DWARF debug sections. + * Symbols in the DWARF debugging sections are relative to the beginning + * of the section so we begin them at 0. */ + /* DWARF 1 */ + .debug 0 : { *(.debug) } + .line 0 : { *(.line) } + /* GNU DWARF 1 extensions */ + .debug_srcinfo 0 : { *(.debug_srcinfo) } + .debug_sfnames 0 : { *(.debug_sfnames) } + /* DWARF 1.1 and DWARF 2 */ + .debug_aranges 0 : { *(.debug_aranges) } + .debug_pubnames 0 : { *(.debug_pubnames) } + /* DWARF 2 */ + .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_line 0 : { *(.debug_line) } + .debug_frame 0 : { *(.debug_frame) } + .debug_str 0 : { *(.debug_str) } + .debug_loc 0 : { *(.debug_loc) } + .debug_macinfo 0 : { *(.debug_macinfo) } + /* SGI/MIPS DWARF 2 extensions */ + .debug_weaknames 0 : { *(.debug_weaknames) } + .debug_funcnames 0 : { *(.debug_funcnames) } + .debug_typenames 0 : { *(.debug_typenames) } + .debug_varnames 0 : { *(.debug_varnames) } +} \ No newline at end of file diff --git a/bsp/jz47xx/rtconfig.h b/bsp/jz47xx/rtconfig.h index acafa7efbf..e6a2076671 100644 --- a/bsp/jz47xx/rtconfig.h +++ b/bsp/jz47xx/rtconfig.h @@ -49,7 +49,7 @@ #define RT_USING_MEMPOOL /* Using Dynamic Heap Management */ -#define RT_USING_HEAP +/* #define RT_USING_HEAP */ /* Using Small MM */ #define RT_USING_SMALL_MEM @@ -74,7 +74,7 @@ #define FINSH_DEVICE_NAME "uart" /* SECTION: device filesystem support */ -#define RT_USING_DFS +/* #define RT_USING_DFS */ #define RT_USING_DFS_ELMFAT /* the max number of mounted filesystem */ diff --git a/bsp/jz47xx/rtconfig.py b/bsp/jz47xx/rtconfig.py index a63f96e1a5..8246204e36 100644 --- a/bsp/jz47xx/rtconfig.py +++ b/bsp/jz47xx/rtconfig.py @@ -5,11 +5,12 @@ import SCons.cpp # make all component false RT_USING_FINSH = False RT_USING_DFS = False -RT_USING_DFS_ELMFAT = False +RT_USING_DFS_ELMFAT = False RT_USING_DFS_YAFFS2 = False RT_USING_LWIP = False RT_USING_WEBSERVER = False RT_USING_RTGUI = False +RT_USING_MODULE = False # parse rtconfig.h to get used component PreProcessor = SCons.cpp.PreProcessor() @@ -42,6 +43,10 @@ if rtconfig_ns.has_key('RT_USING_LWIP'): if rtconfig_ns.has_key('RT_USING_RTGUI'): RT_USING_RTGUI = True +# module options +if rtconfig_ns.has_key('RT_USING_MODULE'): + RT_USING_MODULE = True + # toolchains options ARCH='mips' CPU='jz47xx' @@ -65,7 +70,7 @@ OBJCPY = PREFIX + 'objcopy' DEVICE = ' -mips32 -msoft-float' CFLAGS = DEVICE + ' -G0 -DRT_USING_MINILIBC -mno-abicalls -fno-pic -fno-builtin -fno-exceptions -ffunction-sections -fomit-frame-pointer' AFLAGS = ' -c' + DEVICE + ' -x assembler-with-cpp' -LFLAGS = DEVICE + ' -Wl,--gc-sections,-Map=rtthread-jz47xx.map,-cref,-u,Reset_Handler -T jz47xx_ram.ld' +LFLAGS = DEVICE + ' -Wl,--gc-sections,-Map=rtthread-jz47xx.map,-cref,-u,Reset_Handler -T jz47xx_ram.lds' CPATH = '' LPATH = '' diff --git a/bsp/jz47xx/startup.c b/bsp/jz47xx/startup.c index c718d93732..904a40121f 100644 --- a/bsp/jz47xx/startup.c +++ b/bsp/jz47xx/startup.c @@ -42,7 +42,9 @@ void rtthread_startup(void) /* init timer system */ rt_system_timer_init(); +#ifdef RT_USING_HEAP rt_system_heap_init((void*)&__bss_end, (void*)RT_HW_HEAP_END); +#endif /* init scheduler system */ rt_system_scheduler_init();