Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
BaiXuePrincess
rt-thread
提交
a5a36d3f
R
rt-thread
项目概览
BaiXuePrincess
/
rt-thread
与 Fork 源项目一致
Fork自
RT-Thread / rt-thread
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
rt-thread
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
a5a36d3f
编写于
7月 11, 2013
作者:
B
Bernard Xiong
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #127 from aozima/pulls
update linker script and SConstruct.
上级
51532ae4
8711a0c9
变更
46
隐藏空白更改
内联
并排
Showing
46 changed file
with
711 addition
and
667 deletion
+711
-667
bsp/at91sam9260/SConstruct
bsp/at91sam9260/SConstruct
+2
-5
bsp/at91sam9260/at91sam9260_ram.ld
bsp/at91sam9260/at91sam9260_ram.ld
+75
-69
bsp/avr32uc3b0/SConstruct
bsp/avr32uc3b0/SConstruct
+2
-5
bsp/dev3210/SConstruct
bsp/dev3210/SConstruct
+2
-5
bsp/efm32/SConstruct
bsp/efm32/SConstruct
+2
-5
bsp/efm32/efm32g_rom.ld
bsp/efm32/efm32g_rom.ld
+134
-127
bsp/jz47xx/SConscript
bsp/jz47xx/SConscript
+1
-1
bsp/jz47xx/SConstruct
bsp/jz47xx/SConstruct
+2
-5
bsp/lm3s8962/SConstruct
bsp/lm3s8962/SConstruct
+2
-4
bsp/lm3s8962/lm3s_rom.ld
bsp/lm3s8962/lm3s_rom.ld
+6
-0
bsp/lm3s9b9x/SConstruct
bsp/lm3s9b9x/SConstruct
+2
-5
bsp/lm3s9b9x/lm3s_rom.ld
bsp/lm3s9b9x/lm3s_rom.ld
+6
-0
bsp/lm4f232/SConstruct
bsp/lm4f232/SConstruct
+2
-5
bsp/lm4f232/lm4f_rom.ld
bsp/lm4f232/lm4f_rom.ld
+7
-1
bsp/lpc176x/rtthread-lpc17xx.ld
bsp/lpc176x/rtthread-lpc17xx.ld
+2
-1
bsp/lpc178x/SConstruct
bsp/lpc178x/SConstruct
+2
-5
bsp/lpc178x/rtthread-lpc178x.ld
bsp/lpc178x/rtthread-lpc178x.ld
+6
-0
bsp/lpc2148/SConstruct
bsp/lpc2148/SConstruct
+2
-5
bsp/lpc2148/lpc2148_rom.ld
bsp/lpc2148/lpc2148_rom.ld
+86
-80
bsp/lpc2478/SConstruct
bsp/lpc2478/SConstruct
+2
-5
bsp/lpc2478/lpc2478_rom.lds
bsp/lpc2478/lpc2478_rom.lds
+29
-23
bsp/ls1bdev/SConstruct
bsp/ls1bdev/SConstruct
+2
-5
bsp/m16c62p/SConstruct
bsp/m16c62p/SConstruct
+2
-5
bsp/mb9bf500r/SConstruct
bsp/mb9bf500r/SConstruct
+2
-5
bsp/mb9bf500r/fm3_rom.ld
bsp/mb9bf500r/fm3_rom.ld
+6
-0
bsp/mb9bf506r/SConstruct
bsp/mb9bf506r/SConstruct
+2
-5
bsp/mb9bf506r/rtthread-mb9bf506.ld
bsp/mb9bf506r/rtthread-mb9bf506.ld
+106
-97
bsp/mini2440/SConstruct
bsp/mini2440/SConstruct
+2
-5
bsp/mini2440/mini2440_ram.ld
bsp/mini2440/mini2440_ram.ld
+75
-69
bsp/mini4020/SConstruct
bsp/mini4020/SConstruct
+2
-5
bsp/sam7x/SConstruct
bsp/sam7x/SConstruct
+2
-5
bsp/sam7x/sam7x_rom.ld
bsp/sam7x/sam7x_rom.ld
+49
-43
bsp/stm32f0x/SConstruct
bsp/stm32f0x/SConstruct
+2
-5
bsp/stm32f0x/stm32_rom.ld
bsp/stm32f0x/stm32_rom.ld
+13
-6
bsp/stm32f107/stm32_rom.ld
bsp/stm32f107/stm32_rom.ld
+13
-6
bsp/stm32f10x/SConstruct
bsp/stm32f10x/SConstruct
+2
-5
bsp/stm32f10x/stm32_rom.ld
bsp/stm32f10x/stm32_rom.ld
+13
-6
bsp/stm32f20x/SConstruct
bsp/stm32f20x/SConstruct
+2
-5
bsp/stm32f20x/stm32_rom.ld
bsp/stm32f20x/stm32_rom.ld
+14
-7
bsp/stm32f40x/SConstruct
bsp/stm32f40x/SConstruct
+2
-5
bsp/stm32f40x/stm32_rom.ld
bsp/stm32f40x/stm32_rom.ld
+13
-6
bsp/taihu/applications/SConscript
bsp/taihu/applications/SConscript
+1
-1
bsp/upd70f3454/SConstruct
bsp/upd70f3454/SConstruct
+2
-5
bsp/x86/SConstruct
bsp/x86/SConstruct
+2
-5
bsp/xplorer4330/m4/SConstruct
bsp/xplorer4330/m4/SConstruct
+2
-5
bsp/xplorer4330/m4/lpc4330_xplorer_spifi32mb.ld
bsp/xplorer4330/m4/lpc4330_xplorer_spifi32mb.ld
+6
-0
未找到文件。
bsp/at91sam9260/SConstruct
浏览文件 @
a5a36d3f
...
...
@@ -34,8 +34,5 @@ if GetDepend('RT_USING_RTGUI'):
# libc testsuite
objs
=
objs
+
SConscript
(
RTT_ROOT
+
'/examples/libc/SConscript'
,
variant_dir
=
'build/examples/libc'
,
duplicate
=
0
)
# build program
env
.
Program
(
TARGET
,
objs
)
# end building
EndBuilding
(
TARGET
)
# make a building
DoBuilding
(
TARGET
,
objs
)
bsp/at91sam9260/at91sam9260_ram.ld
浏览文件 @
a5a36d3f
...
...
@@ -3,83 +3,89 @@ OUTPUT_ARCH(arm)
ENTRY(_start)
SECTIONS
{
. = 0x20000000;
. = 0x20000000;
. = ALIGN(4);
.text :
{
*(.init)
*(.text)
*(.gnu.linkonce.t*)
/* section information for finsh shell */
. = ALIGN(4);
__fsymtab_start = .;
KEEP(*(FSymTab))
__fsymtab_end = .;
. = ALIGN(4);
__vsymtab_start = .;
KEEP(*(VSymTab))
__vsymtab_end = .;
. = ALIGN(4);
. = ALIGN(4);
.text :
{
*(.init)
*(.text)
*(.gnu.linkonce.t*)
/* section information for finsh shell */
. = ALIGN(4);
__fsymtab_start = .;
KEEP(*(FSymTab))
__fsymtab_end = .;
. = ALIGN(4);
__vsymtab_start = .;
KEEP(*(VSymTab))
__vsymtab_end = .;
. = ALIGN(4);
/* section information for modules */
. = ALIGN(4);
__rtmsymtab_start = .;
KEEP(*(RTMSymTab))
__rtmsymtab_end = .;
}
. = ALIGN(4);
__rt_init_start = .;
KEEP(*(SORT(.rti_fn*)))
__rt_init_end = .;
. = ALIGN(4);
. = ALIGN(4);
.rodata : { *(.rodata) *(.rodata.*) *(.gnu.linkonce.r*) *(.eh_frame) }
/* section information for modules */
. = ALIGN(4);
__rtmsymtab_start = .;
KEEP(*(RTMSymTab))
__rtmsymtab_end = .;
}
. = ALIGN(4);
.ctors :
{
PROVIDE(__ctors_start__ = .);
KEEP(*(SORT(.ctors.*)))
KEEP(*(.ctors))
PROVIDE(__ctors_end__ = .);
}
. = ALIGN(4);
.rodata : { *(.rodata) *(.rodata.*) *(.gnu.linkonce.r*) *(.eh_frame) }
.dtors :
{
PROVIDE(__dtors_start__ = .);
KEEP(*(SORT(.dtors.*)))
KEEP(*(.dtors))
PROVIDE(__dtors_end__ = .);
}
. = ALIGN(4);
.ctors :
{
PROVIDE(__ctors_start__ = .);
KEEP(*(SORT(.ctors.*)))
KEEP(*(.ctors))
PROVIDE(__ctors_end__ = .);
}
. = ALIGN(4);
.data :
{
*(.data
)
*(.data.*
)
*(.gnu.linkonce.d*)
}
.dtors :
{
PROVIDE(__dtors_start__ = .);
KEEP(*(SORT(.dtors.*))
)
KEEP(*(.dtors)
)
PROVIDE(__dtors_end__ = .);
}
. = ALIGN(4);
.nobss : { *(.nobss) }
. = ALIGN(4);
.data :
{
*(.data)
*(.data.*)
*(.gnu.linkonce.d*)
}
. = 0x20300000;
. = ALIGN(4);
__bss_start = .;
.bss : { *(.bss) }
__bss_end = .;
. = ALIGN(4);
.nobss : { *(.nobss) }
/* 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) }
.debug_abbrev 0 : { *(.debug_abbrev) }
.debug_info 0 : { *(.debug_info) }
.debug_line 0 : { *(.debug_line) }
.debug_pubnames 0 : { *(.debug_pubnames) }
.debug_aranges 0 : { *(.debug_aranges) }
. = 0x20300000;
. = ALIGN(4);
__bss_start = .;
.bss : { *(.bss) }
__bss_end = .;
_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) }
.debug_abbrev 0 : { *(.debug_abbrev) }
.debug_info 0 : { *(.debug_info) }
.debug_line 0 : { *(.debug_line) }
.debug_pubnames 0 : { *(.debug_pubnames) }
.debug_aranges 0 : { *(.debug_aranges) }
_end = .;
}
bsp/avr32uc3b0/SConstruct
浏览文件 @
a5a36d3f
...
...
@@ -28,8 +28,5 @@ objs = PrepareBuilding(env, RTT_ROOT)
# AVR32 software framework building script
objs
=
objs
+
SConscript
(
RTT_ROOT
+
'/bsp/avr32uc3b0/SOFTWARE_FRAMEWORK/SConscript'
,
variant_dir
=
'bsp/SOFTWARE_FRAMEWORK'
,
duplicate
=
0
)
# build program
env
.
Program
(
TARGET
,
objs
)
# end building
EndBuilding
(
TARGET
)
\ No newline at end of file
# make a building
DoBuilding
(
TARGET
,
objs
)
bsp/dev3210/SConstruct
浏览文件 @
a5a36d3f
...
...
@@ -25,8 +25,5 @@ Export('rtconfig')
# prepare building environment
objs
=
PrepareBuilding
(
env
,
RTT_ROOT
)
# build program
env
.
Program
(
TARGET
,
objs
)
# end building
EndBuilding
(
TARGET
)
# make a building
DoBuilding
(
TARGET
,
objs
)
bsp/efm32/SConstruct
浏览文件 @
a5a36d3f
...
...
@@ -31,8 +31,5 @@ objs = objs + SConscript(RTT_ROOT + '/bsp/efm32/EFM32GG_DK3750/SConscript', vari
objs
=
objs
+
SConscript
(
RTT_ROOT
+
'/bsp/efm32/graphics/SConscript'
,
variant_dir
=
'build/graphics'
,
duplicate
=
0
)
objs
=
objs
+
SConscript
(
RTT_ROOT
+
'/bsp/efm32/Libraries/SConscript'
,
variant_dir
=
'build/Libraries'
,
duplicate
=
0
)
# build program
env
.
Program
(
TARGET
,
objs
)
# end building
EndBuilding
(
TARGET
)
# make a building
DoBuilding
(
TARGET
,
objs
)
bsp/efm32/efm32g_rom.ld
浏览文件 @
a5a36d3f
/***************************************************************************//**
* @file
efm32_rom_g.ld
* @brief
Linker script for EFM32 gecko
*
COPYRIGHT (C) 2012, RT-Thread Development Team
* @author
Bernard, onelife
* @file
efm32_rom_g.ld
* @brief
Linker script for EFM32 gecko
*
COPYRIGHT (C) 2012, RT-Thread Development Team
* @author
Bernard, onelife
* @version 1.0
*******************************************************************************
* @section License
...
...
@@ -10,11 +10,11 @@
* LICENSE in this distribution or at http://www.rt-thread.org/license/LICENSE
*******************************************************************************
* @section Change Logs
* Date
Author
Notes
* 2009-10-14
Bernard
first version
* 2010-12-22
onelife
Modify for EFM32
* 2011-07-06
onelife
Modify to make use the start code in libraries
* 2012-05-15
onelife
Modified to compatible with CMSIS v3
* Date
Author
Notes
* 2009-10-14
Bernard
first version
* 2010-12-22
onelife
Modify for EFM32
* 2011-07-06
onelife
Modify to make use the start code in libraries
* 2012-05-15
onelife
Modified to compatible with CMSIS v3
******************************************************************************/
MEMORY
{
...
...
@@ -53,122 +53,129 @@ ENTRY(Reset_Handler)
SECTIONS
{
.text :
{
KEEP(*(.isr_vector))
*(.text*)
KEEP(*(.init))
KEEP(*(.fini))
/* .ctors */
*crtbegin.o(.ctors)
*crtbegin?.o(.ctors)
*(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors)
*(SORT(.ctors.*))
*(.ctors)
/* .dtors */
*crtbegin.o(.dtors)
*crtbegin?.o(.dtors)
*(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors)
*(SORT(.dtors.*))
*(.dtors)
*(.rodata*)
KEEP(*(.eh_frame*))
/* section information for finsh shell */
. = ALIGN(4);
__fsymtab_start = .;
KEEP(*(FSymTab))
__fsymtab_end = .;
. = ALIGN(4);
__vsymtab_start = .;
KEEP(*(VSymTab))
__vsymtab_end = .;
} > FLASH = 0
.ARM.extab :
{
*(.ARM.extab* .gnu.linkonce.armextab.*)
} > FLASH
__exidx_start = .;
.ARM.exidx :
{
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
} > FLASH
__exidx_end = .;
__etext = .;
.data : AT (__etext)
{
__data_start__ = .;
*(vtable)
*(.data*)
*(.ram)
. = ALIGN(4);
/* preinit data */
PROVIDE_HIDDEN (__preinit_array_start = .);
KEEP(*(.preinit_array))
PROVIDE_HIDDEN (__preinit_array_end = .);
. = ALIGN(4);
/* init data */
PROVIDE_HIDDEN (__init_array_start = .);
KEEP(*(SORT(.init_array.*)))
KEEP(*(.init_array))
PROVIDE_HIDDEN (__init_array_end = .);
. = ALIGN(4);
/* finit data */
PROVIDE_HIDDEN (__fini_array_start = .);
KEEP(*(SORT(.fini_array.*)))
KEEP(*(.fini_array))
PROVIDE_HIDDEN (__fini_array_end = .);
. = ALIGN(4);
/* All data end */
__data_end__ = .;
} > RAM
.bss :
{
__bss_start__ = .;
*(.bss*)
*(COMMON)
__bss_end__ = .;
} > RAM
.heap :
{
__end__ = .;
end = __end__;
_end = __end__;
*(.heap*)
__HeapLimit = .;
} > RAM
/* .stack_dummy section doesn't contains any symbols. It is only
* used for linker to calculate size of stack sections, and assign
* values to stack symbols later */
.stack_dummy :
{
*(.stack)
} > RAM
/* Set stack top to end of RAM, and stack limit move down by
* size of stack_dummy section */
__StackTop = ORIGIN(RAM) + LENGTH(RAM);
__StackLimit = __StackTop - SIZEOF(.stack_dummy);
PROVIDE(__stack = __StackTop);
/* Check if data + heap + stack exceeds RAM limit */
ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack")
.text :
{
KEEP(*(.isr_vector))
*(.text*)
KEEP(*(.init))
KEEP(*(.fini))
/* .ctors */
*crtbegin.o(.ctors)
*crtbegin?.o(.ctors)
*(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors)
*(SORT(.ctors.*))
*(.ctors)
/* .dtors */
*crtbegin.o(.dtors)
*crtbegin?.o(.dtors)
*(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors)
*(SORT(.dtors.*))
*(.dtors)
*(.rodata*)
KEEP(*(.eh_frame*))
/* section information for finsh shell */
. = ALIGN(4);
__fsymtab_start = .;
KEEP(*(FSymTab))
__fsymtab_end = .;
. = ALIGN(4);
__vsymtab_start = .;
KEEP(*(VSymTab))
__vsymtab_end = .;
. = ALIGN(4);
__rt_init_start = .;
KEEP(*(SORT(.rti_fn*)))
__rt_init_end = .;
. = ALIGN(4);
} > FLASH = 0
.ARM.extab :
{
*(.ARM.extab* .gnu.linkonce.armextab.*)
} > FLASH
__exidx_start = .;
.ARM.exidx :
{
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
} > FLASH
__exidx_end = .;
__etext = .;
.data : AT (__etext)
{
__data_start__ = .;
*(vtable)
*(.data*)
*(.ram)
. = ALIGN(4);
/* preinit data */
PROVIDE_HIDDEN (__preinit_array_start = .);
KEEP(*(.preinit_array))
PROVIDE_HIDDEN (__preinit_array_end = .);
. = ALIGN(4);
/* init data */
PROVIDE_HIDDEN (__init_array_start = .);
KEEP(*(SORT(.init_array.*)))
KEEP(*(.init_array))
PROVIDE_HIDDEN (__init_array_end = .);
. = ALIGN(4);
/* finit data */
PROVIDE_HIDDEN (__fini_array_start = .);
KEEP(*(SORT(.fini_array.*)))
KEEP(*(.fini_array))
PROVIDE_HIDDEN (__fini_array_end = .);
. = ALIGN(4);
/* All data end */
__data_end__ = .;
} > RAM
.bss :
{
__bss_start__ = .;
*(.bss*)
*(COMMON)
__bss_end__ = .;
} > RAM
.heap :
{
__end__ = .;
end = __end__;
_end = __end__;
*(.heap*)
__HeapLimit = .;
} > RAM
/* .stack_dummy section doesn't contains any symbols. It is only
* used for linker to calculate size of stack sections, and assign
* values to stack symbols later */
.stack_dummy :
{
*(.stack)
} > RAM
/* Set stack top to end of RAM, and stack limit move down by
* size of stack_dummy section */
__StackTop = ORIGIN(RAM) + LENGTH(RAM);
__StackLimit = __StackTop - SIZEOF(.stack_dummy);
PROVIDE(__stack = __StackTop);
/* Check if data + heap + stack exceeds RAM limit */
ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack")
}
bsp/jz47xx/SConscript
浏览文件 @
a5a36d3f
...
...
@@ -6,7 +6,7 @@ src_bsp = ['application.c', 'startup.c', 'board.c']
src_drv
=
[
'uart.c'
]
src
=
File
(
src_bsp
+
src_drv
)
CPPPATH
=
Dir
(
'#'
)
CPPPATH
=
str
(
Dir
(
'#'
)
)
group
=
DefineGroup
(
'Startup'
,
src
,
depend
=
[
''
],
CPPPATH
=
CPPPATH
)
Return
(
'group'
)
bsp/jz47xx/SConstruct
浏览文件 @
a5a36d3f
...
...
@@ -25,8 +25,5 @@ Export('rtconfig')
# prepare building environment
objs
=
PrepareBuilding
(
env
,
RTT_ROOT
)
# build program
env
.
Program
(
TARGET
,
objs
)
# end building
EndBuilding
(
TARGET
)
# make a building
DoBuilding
(
TARGET
,
objs
)
bsp/lm3s8962/SConstruct
浏览文件 @
a5a36d3f
...
...
@@ -25,7 +25,5 @@ Export('rtconfig')
# prepare building environment
objs
=
PrepareBuilding
(
env
,
RTT_ROOT
,
has_libcpu
=
False
)
env
.
Program
(
TARGET
,
objs
)
# end building
EndBuilding
(
TARGET
)
# make a building
DoBuilding
(
TARGET
,
objs
)
bsp/lm3s8962/lm3s_rom.ld
浏览文件 @
a5a36d3f
...
...
@@ -37,6 +37,12 @@ SECTIONS
__vsymtab_end = .;
. = ALIGN(4);
. = ALIGN(4);
__rt_init_start = .;
KEEP(*(SORT(.rti_fn*)))
__rt_init_end = .;
. = ALIGN(4);
_etext = .;
} > CODE = 0
...
...
bsp/lm3s9b9x/SConstruct
浏览文件 @
a5a36d3f
...
...
@@ -25,8 +25,5 @@ Export('rtconfig')
# prepare building environment
objs
=
PrepareBuilding
(
env
,
RTT_ROOT
,
has_libcpu
=
False
)
# build program
env
.
Program
(
TARGET
,
objs
)
# end building
EndBuilding
(
TARGET
)
# make a building
DoBuilding
(
TARGET
,
objs
)
bsp/lm3s9b9x/lm3s_rom.ld
浏览文件 @
a5a36d3f
...
...
@@ -37,6 +37,12 @@ SECTIONS
__vsymtab_end = .;
. = ALIGN(4);
. = ALIGN(4);
__rt_init_start = .;
KEEP(*(SORT(.rti_fn*)))
__rt_init_end = .;
. = ALIGN(4);
_etext = .;
} > CODE = 0
...
...
bsp/lm4f232/SConstruct
浏览文件 @
a5a36d3f
...
...
@@ -25,8 +25,5 @@ Export('rtconfig')
# prepare building environment
objs
=
PrepareBuilding
(
env
,
RTT_ROOT
,
has_libcpu
=
False
)
# build program
env
.
Program
(
TARGET
,
objs
)
# end building
EndBuilding
(
TARGET
)
# make a building
DoBuilding
(
TARGET
,
objs
)
bsp/lm4f232/lm4f_rom.ld
浏览文件 @
a5a36d3f
...
...
@@ -50,7 +50,13 @@ SECTIONS
__vsymtab_end = .;
. = ALIGN(4);
} > FLASH
. = ALIGN(4);
__rt_init_start = .;
KEEP(*(SORT(.rti_fn*)))
__rt_init_end = .;
. = ALIGN(4);
} > FLASH
.data : AT(ADDR(.text) + SIZEOF(.text))
{
...
...
bsp/lpc176x/rtthread-lpc17xx.ld
浏览文件 @
a5a36d3f
...
...
@@ -36,9 +36,10 @@ SECTIONS
__vsymtab_start = .;
KEEP(*(VSymTab))
__vsymtab_end = .;
. = ALIGN(4);
__rt_init_start = .;
KEEP(*(
.rti_fn*
))
KEEP(*(
SORT(.rti_fn*)
))
__rt_init_end = .;
. = ALIGN(4);
...
...
bsp/lpc178x/SConstruct
浏览文件 @
a5a36d3f
...
...
@@ -28,8 +28,5 @@ objs = PrepareBuilding(env, RTT_ROOT)
if
GetDepend
(
'RT_USING_RTGUI'
):
objs
=
objs
+
SConscript
(
RTT_ROOT
+
'/examples/gui/SConscript'
,
variant_dir
=
'build/examples/gui'
,
duplicate
=
0
)
# build program
env
.
Program
(
TARGET
,
objs
)
# end building
EndBuilding
(
TARGET
)
# make a building
DoBuilding
(
TARGET
,
objs
)
bsp/lpc178x/rtthread-lpc178x.ld
浏览文件 @
a5a36d3f
...
...
@@ -38,6 +38,12 @@ SECTIONS
__vsymtab_end = .;
. = ALIGN(4);
. = ALIGN(4);
__rt_init_start = .;
KEEP(*(SORT(.rti_fn*)))
__rt_init_end = .;
. = ALIGN(4);
. = ALIGN(4);
_etext = .;
} > CODE = 0
...
...
bsp/lpc2148/SConstruct
浏览文件 @
a5a36d3f
...
...
@@ -25,8 +25,5 @@ Export('rtconfig')
# prepare building environment
objs
=
PrepareBuilding
(
env
,
RTT_ROOT
,
has_libcpu
=
False
)
# build program
env
.
Program
(
TARGET
,
objs
)
# end building
EndBuilding
(
TARGET
)
# make a building
DoBuilding
(
TARGET
,
objs
)
bsp/lpc2148/lpc2148_rom.ld
浏览文件 @
a5a36d3f
...
...
@@ -4,8 +4,8 @@ OUTPUT_ARCH(arm)
MEMORY
{
CODE (rx) : ORIGIN = 0x00000000, LENGTH = 512k /* 512KB flash */
DATA (rw) : ORIGIN = 0x40000000, LENGTH = 32k /* 32K sram */
CODE (rx) : ORIGIN = 0x00000000, LENGTH = 512k /* 512KB flash */
DATA (rw) : ORIGIN = 0x40000000, LENGTH = 32k /* 32K sram */
}
ENTRY(_start)
...
...
@@ -18,49 +18,55 @@ _svc_tack_size = 0x400;
SECTIONS
{
. = 0;
. = ALIGN(4);
.text :
{
*(.init)
*(.text)
*(.rodata)
*(.rodata*)
*(.glue_7)
*(.glue_7t)
/* section information for finsh shell */
. = ALIGN(4);
__fsymtab_start = .;
KEEP(*(FSymTab))
__fsymtab_end = .;
. = ALIGN(4);
__vsymtab_start = .;
KEEP(*(VSymTab))
__vsymtab_end = .;
. = ALIGN(4);
} >CODE
. = ALIGN(4);
.ctors :
{
PROVIDE(__ctors_start__ = .);
KEEP(*(SORT(.ctors.*)))
KEEP(*(.ctors))
PROVIDE(__ctors_end__ = .);
} > CODE
.dtors :
{
PROVIDE(__dtors_start__ = .);
KEEP(*(SORT(.dtors.*)))
KEEP(*(.dtors))
PROVIDE(__dtors_end__ = .);
} > CODE
__end_of_text__ = .;
. = 0;
. = ALIGN(4);
.text :
{
*(.init)
*(.text)
*(.rodata)
*(.rodata*)
*(.glue_7)
*(.glue_7t)
/* section information for finsh shell */
. = ALIGN(4);
__fsymtab_start = .;
KEEP(*(FSymTab))
__fsymtab_end = .;
. = ALIGN(4);
__vsymtab_start = .;
KEEP(*(VSymTab))
__vsymtab_end = .;
. = ALIGN(4);
. = ALIGN(4);
__rt_init_start = .;
KEEP(*(SORT(.rti_fn*)))
__rt_init_end = .;
. = ALIGN(4);
} >CODE
. = ALIGN(4);
.ctors :
{
PROVIDE(__ctors_start__ = .);
KEEP(*(SORT(.ctors.*)))
KEEP(*(.ctors))
PROVIDE(__ctors_end__ = .);
} > CODE
.dtors :
{
PROVIDE(__dtors_start__ = .);
KEEP(*(SORT(.dtors.*)))
KEEP(*(.dtors))
PROVIDE(__dtors_end__ = .);
} > CODE
__end_of_text__ = .;
/* .ARM.exidx is sorted, so has to go in its own output section. */
__exidx_start = .;
...
...
@@ -73,7 +79,7 @@ SECTIONS
} > CODE
__exidx_end = .;
/* .data section which is used for initialized data */
/* .data section which is used for initialized data */
.data : AT (_sidata)
{
. = ALIGN(4);
...
...
@@ -88,36 +94,36 @@ SECTIONS
/* This is used by the startup in order to initialize the .data secion */
_edata = . ;
} >DATA
__data_end = .;
.noinit :
{
*(.bss.noinit)
} > DATA
.stack :
{
. = ALIGN(4);
_undefined_stack_base = .;
. = . + _undefined_tack_size;
_undefined_stack_top = .;
_abort_stack_base = .;
. = . + _abort_tack_size;
_abort_stack_top = .;
_fiq_stack_base = .;
. = . + _fiq_tack_size;
_fiq_stack_top = .;
_irq_stack_base = .;
. = . + _irq_tack_size;
_irq_stack_top = .;
_svc_stack_base = .;
. = . + _svc_tack_size;
_svc_stack_top = .;
} >DATA
__data_end = .;
.noinit :
{
*(.bss.noinit)
} > DATA
.stack :
{
. = ALIGN(4);
_undefined_stack_base = .;
. = . + _undefined_tack_size;
_undefined_stack_top = .;
_abort_stack_base = .;
. = . + _abort_tack_size;
_abort_stack_top = .;
_fiq_stack_base = .;
. = . + _fiq_tack_size;
_fiq_stack_top = .;
_irq_stack_base = .;
. = . + _irq_tack_size;
_irq_stack_top = .;
_svc_stack_base = .;
. = . + _svc_tack_size;
_svc_stack_top = .;
} >DATA
__bss_start = .;
.bss :
...
...
@@ -135,8 +141,8 @@ SECTIONS
} > DATA
__bss_end = .;
/* Align here to ensure that the .bss section occupies space up to
_end. Align after .bss to ensure correct alignment even if the
.bss section disappears because there are no input sections. */
. = ALIGN(32 / 8);
/* Align here to ensure that the .bss section occupies space up to
_end. Align after .bss to ensure correct alignment even if the
.bss section disappears because there are no input sections. */
. = ALIGN(32 / 8);
}
bsp/lpc2478/SConstruct
浏览文件 @
a5a36d3f
...
...
@@ -25,8 +25,5 @@ Export('rtconfig')
# prepare building environment
objs
=
PrepareBuilding
(
env
,
RTT_ROOT
,
has_libcpu
=
False
)
# build program
env
.
Program
(
TARGET
,
objs
)
# end building
EndBuilding
(
TARGET
)
# make a building
DoBuilding
(
TARGET
,
objs
)
bsp/lpc2478/lpc2478_rom.lds
浏览文件 @
a5a36d3f
...
...
@@ -15,8 +15,8 @@ SECTIONS
{
.text :
{
*(.init)
*(.text)
*(.init)
*(.text)
*(.text.*) /* remaining code */
*(.rodata) /* read-only data (constants) */
*(.rodata*)
...
...
@@ -35,26 +35,32 @@ SECTIONS
__vsymtab_end = .;
. = ALIGN(4);
. = ALIGN(4);
__rt_init_start = .;
KEEP(*(SORT(.rti_fn*)))
__rt_init_end = .;
. = ALIGN(4);
. = ALIGN(4);
_etext = .;
} > CODE = 0
. = ALIGN(4);
.ctors :
{
PROVIDE(__ctors_start__ = .);
KEEP(*(SORT(.ctors.*)))
KEEP(*(.ctors))
PROVIDE(__ctors_end__ = .);
} > CODE
.dtors :
{
PROVIDE(__dtors_start__ = .);
KEEP(*(SORT(.dtors.*)))
KEEP(*(.dtors))
PROVIDE(__dtors_end__ = .);
} > CODE
. = ALIGN(4);
.ctors :
{
PROVIDE(__ctors_start__ = .);
KEEP(*(SORT(.ctors.*)))
KEEP(*(.ctors))
PROVIDE(__ctors_end__ = .);
} > CODE
.dtors :
{
PROVIDE(__dtors_start__ = .);
KEEP(*(SORT(.dtors.*)))
KEEP(*(.dtors))
PROVIDE(__dtors_end__ = .);
} > CODE
/* .ARM.exidx is sorted, so has to go in its own output section. */
__exidx_start = .;
...
...
@@ -82,12 +88,12 @@ SECTIONS
/* This is used by the startup in order to initialize the .data secion */
_edata = . ;
} >DATA
__data_end = .;
__data_end = .;
.noinit :
{
*(.bss.noinit)
} > DATA
.noinit :
{
*(.bss.noinit)
} > DATA
__bss_start = .;
.bss :
...
...
bsp/ls1bdev/SConstruct
浏览文件 @
a5a36d3f
...
...
@@ -28,8 +28,5 @@ objs = PrepareBuilding(env, RTT_ROOT)
if
GetDepend
(
'RT_USING_RTGUI'
):
objs
=
objs
+
SConscript
(
RTT_ROOT
+
'/examples/gui/SConscript'
,
variant_dir
=
'build/examples/gui'
,
duplicate
=
0
)
# build program
env
.
Program
(
TARGET
,
objs
)
# end building
EndBuilding
(
TARGET
)
# make a building
DoBuilding
(
TARGET
,
objs
)
bsp/m16c62p/SConstruct
浏览文件 @
a5a36d3f
...
...
@@ -39,8 +39,5 @@ if GetDepend('RT_USING_RTGUI'):
# libc testsuite
# objs = objs + SConscript(RTT_ROOT + '/examples/libc/SConscript', variant_dir='build/examples/libc', duplicate=0)
# build program
env
.
Program
(
TARGET
,
objs
)
# end building
EndBuilding
(
TARGET
)
# make a building
DoBuilding
(
TARGET
,
objs
)
bsp/mb9bf500r/SConstruct
浏览文件 @
a5a36d3f
...
...
@@ -32,8 +32,5 @@ objs = PrepareBuilding(env, RTT_ROOT)
objs
=
objs
+
SConscript
(
'CMSIS/SConscript'
,
variant_dir
=
'build/bsp/CMSIS'
,
duplicate
=
0
)
# build program
env
.
Program
(
TARGET
,
objs
)
# end building
EndBuilding
(
TARGET
)
# make a building
DoBuilding
(
TARGET
,
objs
)
bsp/mb9bf500r/fm3_rom.ld
浏览文件 @
a5a36d3f
...
...
@@ -32,6 +32,12 @@ SECTIONS
__vsymtab_end = .;
. = ALIGN(4);
. = ALIGN(4);
__rt_init_start = .;
KEEP(*(SORT(.rti_fn*)))
__rt_init_end = .;
. = ALIGN(4);
. = ALIGN(4);
_etext = .;
} > CODE = 0
...
...
bsp/mb9bf506r/SConstruct
浏览文件 @
a5a36d3f
...
...
@@ -30,8 +30,5 @@ Export('rtconfig')
# prepare building environment
objs
=
PrepareBuilding
(
env
,
RTT_ROOT
)
# build program
env
.
Program
(
TARGET
,
objs
)
# end building
EndBuilding
(
TARGET
)
# make a building
DoBuilding
(
TARGET
,
objs
)
bsp/mb9bf506r/rtthread-mb9bf506.ld
浏览文件 @
a5a36d3f
...
...
@@ -41,76 +41,76 @@ PROVIDE(__cs3_heap_end = __cs3_region_start_ram + __cs3_region_size_ram);
SECTIONS
{
.text :
{
CREATE_OBJECT_SYMBOLS
__cs3_region_start_rom = .;
*(.cs3.region-head.rom)
__cs3_interrupt_vector = __cs3_interrupt_vector_cortex_m;
*(.cs3.interrupt_vector)
/* Make sure we pulled in an interrupt vector. */
ASSERT (. != __cs3_interrupt_vector_cortex_m, "No interrupt vector");
*(.rom)
*(.rom.b)
__cs3_reset = __cs3_reset_cortex_m;
*(.cs3.reset)
/* Make sure we pulled in some reset code. */
ASSERT (. != __cs3_reset, "No reset code");
*(.text .text.* .gnu.linkonce.t.*)
*(.plt)
*(.gnu.warning)
*(.glue_7t) *(.glue_7) *(.vfp11_veneer)
*(.rodata .rodata.* .gnu.linkonce.r.*)
*(.ARM.extab* .gnu.linkonce.armextab.*)
*(.gcc_except_table)
*(.eh_frame_hdr)
*(.eh_frame)
. = ALIGN(4);
KEEP(*(.init))
. = ALIGN(4);
__preinit_array_start = .;
KEEP (*(.preinit_array))
__preinit_array_end = .;
. = ALIGN(4);
__init_array_start = .;
KEEP (*(SORT(.init_array.*)))
KEEP (*(.init_array))
__init_array_end = .;
. = ALIGN(0x4);
KEEP (*crtbegin.o(.ctors))
KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
KEEP (*(SORT(.ctors.*)))
KEEP (*crtend.o(.ctors))
. = ALIGN(4);
KEEP(*(.fini))
. = ALIGN(4);
__fini_array_start = .;
KEEP (*(.fini_array))
KEEP (*(SORT(.fini_array.*)))
__fini_array_end = .;
KEEP (*crtbegin.o(.dtors))
KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
KEEP (*(SORT(.dtors.*)))
KEEP (*crtend.o(.dtors))
. = ALIGN(4);
__cs3_regions = .;
LONG (0)
LONG (__cs3_region_init_ram)
LONG (__cs3_region_start_ram)
LONG (__cs3_region_init_size_ram)
LONG (__cs3_region_zero_size_ram)
.text :
{
CREATE_OBJECT_SYMBOLS
__cs3_region_start_rom = .;
*(.cs3.region-head.rom)
__cs3_interrupt_vector = __cs3_interrupt_vector_cortex_m;
*(.cs3.interrupt_vector)
/* Make sure we pulled in an interrupt vector. */
ASSERT (. != __cs3_interrupt_vector_cortex_m, "No interrupt vector");
*(.rom)
*(.rom.b)
__cs3_reset = __cs3_reset_cortex_m;
*(.cs3.reset)
/* Make sure we pulled in some reset code. */
ASSERT (. != __cs3_reset, "No reset code");
*(.text .text.* .gnu.linkonce.t.*)
*(.plt)
*(.gnu.warning)
*(.glue_7t) *(.glue_7) *(.vfp11_veneer)
*(.rodata .rodata.* .gnu.linkonce.r.*)
*(.ARM.extab* .gnu.linkonce.armextab.*)
*(.gcc_except_table)
*(.eh_frame_hdr)
*(.eh_frame)
. = ALIGN(4);
KEEP(*(.init))
. = ALIGN(4);
__preinit_array_start = .;
KEEP (*(.preinit_array))
__preinit_array_end = .;
. = ALIGN(4);
__init_array_start = .;
KEEP (*(SORT(.init_array.*)))
KEEP (*(.init_array))
__init_array_end = .;
. = ALIGN(0x4);
KEEP (*crtbegin.o(.ctors))
KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
KEEP (*(SORT(.ctors.*)))
KEEP (*crtend.o(.ctors))
. = ALIGN(4);
KEEP(*(.fini))
. = ALIGN(4);
__fini_array_start = .;
KEEP (*(.fini_array))
KEEP (*(SORT(.fini_array.*)))
__fini_array_end = .;
KEEP (*crtbegin.o(.dtors))
KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
KEEP (*(SORT(.dtors.*)))
KEEP (*crtend.o(.dtors))
. = ALIGN(4);
__cs3_regions = .;
LONG (0)
LONG (__cs3_region_init_ram)
LONG (__cs3_region_start_ram)
LONG (__cs3_region_init_size_ram)
LONG (__cs3_region_zero_size_ram)
/* section information for finsh shell */
. = ALIGN(4);
...
...
@@ -122,35 +122,43 @@ SECTIONS
KEEP(*(VSymTab))
__vsymtab_end = .;
. = ALIGN(4);
}
/* .ARM.exidx is sorted, so has to go in its own output section. */
__exidx_start = .;
.ARM.exidx :
{
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
} >rom
__exidx_end = .;
.text.align :
{
. = ALIGN(8);
_etext = .;
} >rom
__cs3_region_size_rom = LENGTH(rom);
__cs3_region_num = 1;
. = ALIGN(4);
__rt_init_start = .;
KEEP(*(SORT(.rti_fn*)))
__rt_init_end = .;
. = ALIGN(4);
}
/* .ARM.exidx is sorted, so has to go in its own output section. */
__exidx_start = .;
.ARM.exidx :
{
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
} >rom
__exidx_end = .;
.text.align :
{
. = ALIGN(8);
_etext = .;
} >rom
__cs3_region_size_rom = LENGTH(rom);
__cs3_region_num = 1;
.data :
{
__cs3_region_start_ram = .;
*(.cs3.region-head.ram)
KEEP(*(.jcr))
*(.got.plt) *(.got)
*(.shdata)
*(.data .data.* .gnu.linkonce.d.*)
*(.ram)
. = ALIGN (8);
_edata = .;
} >ram AT>rom
.data :
{
__cs3_region_start_ram = .;
*(.cs3.region-head.ram)
KEEP(*(.jcr))
*(.got.plt) *(.got)
*(.shdata)
*(.data .data.* .gnu.linkonce.d.*)
*(.ram)
. = ALIGN (8);
_edata = .;
} >ram AT>rom
.bss :
{
*(.shbss)
...
...
@@ -161,6 +169,7 @@ SECTIONS
_end = .;
__end = .;
} >ram AT>rom
.heap :
{
*(.heap)
...
...
bsp/mini2440/SConstruct
浏览文件 @
a5a36d3f
...
...
@@ -32,8 +32,5 @@ if GetDepend('RT_USING_RTGUI'):
# libc testsuite
# objs = objs + SConscript(RTT_ROOT + '/examples/libc/SConscript', variant_dir='build/examples/libc', duplicate=0)
# build program
env
.
Program
(
TARGET
,
objs
)
# end building
EndBuilding
(
TARGET
)
# make a building
DoBuilding
(
TARGET
,
objs
)
bsp/mini2440/mini2440_ram.ld
浏览文件 @
a5a36d3f
...
...
@@ -3,83 +3,89 @@ OUTPUT_ARCH(arm)
ENTRY(_start)
SECTIONS
{
. = 0x30000000;
. = 0x30000000;
. = ALIGN(4);
.text :
{
*(.init)
*(.text)
*(.gnu.linkonce.t*)
/* section information for finsh shell */
. = ALIGN(4);
__fsymtab_start = .;
KEEP(*(FSymTab))
__fsymtab_end = .;
. = ALIGN(4);
__vsymtab_start = .;
KEEP(*(VSymTab))
__vsymtab_end = .;
. = ALIGN(4);
. = ALIGN(4);
.text :
{
*(.init)
*(.text)
*(.gnu.linkonce.t*)
/* section information for finsh shell */
. = ALIGN(4);
__fsymtab_start = .;
KEEP(*(FSymTab))
__fsymtab_end = .;
. = ALIGN(4);
__vsymtab_start = .;
KEEP(*(VSymTab))
__vsymtab_end = .;
. = ALIGN(4);
/* section information for modules */
. = ALIGN(4);
__rtmsymtab_start = .;
KEEP(*(RTMSymTab))
__rtmsymtab_end = .;
}
. = ALIGN(4);
__rt_init_start = .;
KEEP(*(SORT(.rti_fn*)))
__rt_init_end = .;
. = ALIGN(4);
. = ALIGN(4);
.rodata : { *(.rodata) *(.rodata.*) *(.gnu.linkonce.r*) *(.eh_frame) }
/* section information for modules */
. = ALIGN(4);
__rtmsymtab_start = .;
KEEP(*(RTMSymTab))
__rtmsymtab_end = .;
}
. = ALIGN(4);
.ctors :
{
PROVIDE(__ctors_start__ = .);
KEEP(*(SORT(.ctors.*)))
KEEP(*(.ctors))
PROVIDE(__ctors_end__ = .);
}
. = ALIGN(4);
.rodata : { *(.rodata) *(.rodata.*) *(.gnu.linkonce.r*) *(.eh_frame) }
.dtors :
{
PROVIDE(__dtors_start__ = .);
KEEP(*(SORT(.dtors.*)))
KEEP(*(.dtors))
PROVIDE(__dtors_end__ = .);
}
. = ALIGN(4);
.ctors :
{
PROVIDE(__ctors_start__ = .);
KEEP(*(SORT(.ctors.*)))
KEEP(*(.ctors))
PROVIDE(__ctors_end__ = .);
}
. = ALIGN(4);
.data :
{
*(.data
)
*(.data.*
)
*(.gnu.linkonce.d*)
}
.dtors :
{
PROVIDE(__dtors_start__ = .);
KEEP(*(SORT(.dtors.*))
)
KEEP(*(.dtors)
)
PROVIDE(__dtors_end__ = .);
}
. = ALIGN(4);
.nobss : { *(.nobss) }
. = ALIGN(4);
.data :
{
*(.data)
*(.data.*)
*(.gnu.linkonce.d*)
}
. = 0x30200000;
. = ALIGN(4);
__bss_start = .;
.bss : { *(.bss) }
__bss_end = .;
. = ALIGN(4);
.nobss : { *(.nobss) }
/* 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) }
.debug_abbrev 0 : { *(.debug_abbrev) }
.debug_info 0 : { *(.debug_info) }
.debug_line 0 : { *(.debug_line) }
.debug_pubnames 0 : { *(.debug_pubnames) }
.debug_aranges 0 : { *(.debug_aranges) }
. = 0x30200000;
. = ALIGN(4);
__bss_start = .;
.bss : { *(.bss) }
__bss_end = .;
_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) }
.debug_abbrev 0 : { *(.debug_abbrev) }
.debug_info 0 : { *(.debug_info) }
.debug_line 0 : { *(.debug_line) }
.debug_pubnames 0 : { *(.debug_pubnames) }
.debug_aranges 0 : { *(.debug_aranges) }
_end = .;
}
bsp/mini4020/SConstruct
浏览文件 @
a5a36d3f
...
...
@@ -25,8 +25,5 @@ Export('rtconfig')
# prepare building environment
objs
=
PrepareBuilding
(
env
,
RTT_ROOT
)
# build program
env
.
Program
(
TARGET
,
objs
)
# end building
EndBuilding
(
TARGET
)
# make a building
DoBuilding
(
TARGET
,
objs
)
bsp/sam7x/SConstruct
浏览文件 @
a5a36d3f
...
...
@@ -30,8 +30,5 @@ objs = PrepareBuilding(env, RTT_ROOT)
# kernel testsuite
#objs = objs + SConscript(RTT_ROOT + '/examples/kernel/SConscript', variant_dir='build/examples/kernel', duplicate=0)
# build program
env
.
Program
(
TARGET
,
objs
)
# end building
EndBuilding
(
TARGET
)
# make a building
DoBuilding
(
TARGET
,
objs
)
bsp/sam7x/sam7x_rom.ld
浏览文件 @
a5a36d3f
...
...
@@ -2,48 +2,54 @@ OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
OUTPUT_ARCH(arm)
MEMORY
{
CODE (rx) : ORIGIN = 0x00100000, LENGTH = 0x00040000
/* DATA (rw) : ORIGIN = 0x00200000, LENGTH = 0x00010000 */
DATA (rw) : ORIGIN = 0x00204000, LENGTH = 0x0000C000
CODE (rx) : ORIGIN = 0x00100000, LENGTH = 0x00040000
/* DATA (rw) : ORIGIN = 0x00200000, LENGTH = 0x00010000 */
DATA (rw) : ORIGIN = 0x00204000, LENGTH = 0x0000C000
}
ENTRY(_start)
SECTIONS
{
.text :
{
*(.init)
*(.text)
*(.rodata)
/* section information for finsh shell */
. = ALIGN(4);
__fsymtab_start = .;
KEEP(*(FSymTab))
__fsymtab_end = .;
. = ALIGN(4);
__vsymtab_start = .;
KEEP(*(VSymTab))
__vsymtab_end = .;
. = ALIGN(4);
} > CODE = 0
. = ALIGN(4);
.ctors :
{
PROVIDE(__ctors_start__ = .);
KEEP(*(SORT(.ctors.*)))
KEEP(*(.ctors))
PROVIDE(__ctors_end__ = .);
} > CODE
.dtors :
{
PROVIDE(__dtors_start__ = .);
KEEP(*(SORT(.dtors.*)))
KEEP(*(.dtors))
PROVIDE(__dtors_end__ = .);
} > CODE
.text :
{
*(.init)
*(.text)
*(.rodata)
/* section information for finsh shell */
. = ALIGN(4);
__fsymtab_start = .;
KEEP(*(FSymTab))
__fsymtab_end = .;
. = ALIGN(4);
__vsymtab_start = .;
KEEP(*(VSymTab))
__vsymtab_end = .;
. = ALIGN(4);
. = ALIGN(4);
__rt_init_start = .;
KEEP(*(SORT(.rti_fn*)))
__rt_init_end = .;
. = ALIGN(4);
} > CODE = 0
. = ALIGN(4);
.ctors :
{
PROVIDE(__ctors_start__ = .);
KEEP(*(SORT(.ctors.*)))
KEEP(*(.ctors))
PROVIDE(__ctors_end__ = .);
} > CODE
.dtors :
{
PROVIDE(__dtors_start__ = .);
KEEP(*(SORT(.dtors.*)))
KEEP(*(.dtors))
PROVIDE(__dtors_end__ = .);
} > CODE
/* .ARM.exidx is sorted, so has to go in its own output section. */
__exidx_start = .;
...
...
@@ -71,12 +77,12 @@ SECTIONS
/* This is used by the startup in order to initialize the .data secion */
_edata = . ;
} >DATA
__data_end = .;
__data_end = .;
.noinit :
{
*(.bss.noinit)
} > DATA
.noinit :
{
*(.bss.noinit)
} > DATA
__bss_start = .;
.bss :
...
...
bsp/stm32f0x/SConstruct
浏览文件 @
a5a36d3f
...
...
@@ -30,8 +30,5 @@ Export('rtconfig')
# prepare building environment
objs
=
PrepareBuilding
(
env
,
RTT_ROOT
,
has_libcpu
=
False
)
# build program
env
.
Program
(
TARGET
,
objs
)
# end building
EndBuilding
(
TARGET
)
# make a building
DoBuilding
(
TARGET
,
objs
)
bsp/stm32f0x/stm32_rom.ld
浏览文件 @
a5a36d3f
...
...
@@ -38,6 +38,13 @@ SECTIONS
__vsymtab_end = .;
. = ALIGN(4);
/* section information for initial. */
. = ALIGN(4);
__rt_init_start = .;
KEEP(*(SORT(.rti_fn*)))
__rt_init_end = .;
. = ALIGN(4);
. = ALIGN(4);
_etext = .;
} > CODE = 0
...
...
@@ -70,12 +77,12 @@ SECTIONS
_edata = . ;
} >DATA
.stack :
{
. = . + _system_stack_size;
. = ALIGN(4);
_estack = .;
} >DATA
.stack :
{
. = . + _system_stack_size;
. = ALIGN(4);
_estack = .;
} >DATA
__bss_start = .;
.bss :
...
...
bsp/stm32f107/stm32_rom.ld
浏览文件 @
a5a36d3f
...
...
@@ -39,6 +39,13 @@ SECTIONS
__vsymtab_end = .;
. = ALIGN(4);
/* section information for initial. */
. = ALIGN(4);
__rt_init_start = .;
KEEP(*(SORT(.rti_fn*)))
__rt_init_end = .;
. = ALIGN(4);
. = ALIGN(4);
_etext = .;
} > CODE = 0
...
...
@@ -71,12 +78,12 @@ SECTIONS
_edata = . ;
} >DATA
.stack :
{
. = . + _system_stack_size;
. = ALIGN(4);
_estack = .;
} >DATA
.stack :
{
. = . + _system_stack_size;
. = ALIGN(4);
_estack = .;
} >DATA
__bss_start = .;
.bss :
...
...
bsp/stm32f10x/SConstruct
浏览文件 @
a5a36d3f
...
...
@@ -33,8 +33,5 @@ objs = PrepareBuilding(env, RTT_ROOT)
# STM32 firemare library building script
objs
=
objs
+
SConscript
(
GetCurrentDir
()
+
'/Libraries/SConscript'
,
variant_dir
=
'build/bsp/Libraries'
,
duplicate
=
0
)
# build program
env
.
Program
(
TARGET
,
objs
)
# end building
EndBuilding
(
TARGET
)
# make a building
DoBuilding
(
TARGET
,
objs
)
bsp/stm32f10x/stm32_rom.ld
浏览文件 @
a5a36d3f
...
...
@@ -39,6 +39,13 @@ SECTIONS
__vsymtab_end = .;
. = ALIGN(4);
/* section information for initial. */
. = ALIGN(4);
__rt_init_start = .;
KEEP(*(SORT(.rti_fn*)))
__rt_init_end = .;
. = ALIGN(4);
. = ALIGN(4);
_etext = .;
} > CODE = 0
...
...
@@ -71,12 +78,12 @@ SECTIONS
_edata = . ;
} >DATA
.stack :
{
. = . + _system_stack_size;
. = ALIGN(4);
_estack = .;
} >DATA
.stack :
{
. = . + _system_stack_size;
. = ALIGN(4);
_estack = .;
} >DATA
__bss_start = .;
.bss :
...
...
bsp/stm32f20x/SConstruct
浏览文件 @
a5a36d3f
...
...
@@ -30,8 +30,5 @@ Export('rtconfig')
# prepare building environment
objs
=
PrepareBuilding
(
env
,
RTT_ROOT
,
has_libcpu
=
False
)
# build program
env
.
Program
(
TARGET
,
objs
)
# end building
EndBuilding
(
TARGET
)
# make a building
DoBuilding
(
TARGET
,
objs
)
bsp/stm32f20x/stm32_rom.ld
浏览文件 @
a5a36d3f
...
...
@@ -7,7 +7,7 @@
MEMORY
{
CODE (rx) : ORIGIN = 0x08000000, LENGTH = 512k /* 512KB flash */
DATA (rw) : ORIGIN = 0x20000000, LENGTH =
128k /* 64K sram */
DATA (rw) : ORIGIN = 0x20000000, LENGTH = 128k /* 64K sram */
}
ENTRY(Reset_Handler)
_system_stack_size = 0x100;
...
...
@@ -39,6 +39,13 @@ SECTIONS
__vsymtab_end = .;
. = ALIGN(4);
/* section information for initial. */
. = ALIGN(4);
__rt_init_start = .;
KEEP(*(SORT(.rti_fn*)))
__rt_init_end = .;
. = ALIGN(4);
. = ALIGN(4);
_etext = .;
} > CODE = 0
...
...
@@ -71,12 +78,12 @@ SECTIONS
_edata = . ;
} >DATA
.stack :
{
. = . + _system_stack_size;
. = ALIGN(4);
_estack = .;
} >DATA
.stack :
{
. = . + _system_stack_size;
. = ALIGN(4);
_estack = .;
} >DATA
__bss_start = .;
.bss :
...
...
bsp/stm32f40x/SConstruct
浏览文件 @
a5a36d3f
...
...
@@ -30,8 +30,5 @@ Export('rtconfig')
# prepare building environment
objs
=
PrepareBuilding
(
env
,
RTT_ROOT
,
has_libcpu
=
False
)
# build program
env
.
Program
(
TARGET
,
objs
)
# end building
EndBuilding
(
TARGET
)
# make a building
DoBuilding
(
TARGET
,
objs
)
bsp/stm32f40x/stm32_rom.ld
浏览文件 @
a5a36d3f
...
...
@@ -39,6 +39,13 @@ SECTIONS
__vsymtab_end = .;
. = ALIGN(4);
/* section information for initial. */
. = ALIGN(4);
__rt_init_start = .;
KEEP(*(SORT(.rti_fn*)))
__rt_init_end = .;
. = ALIGN(4);
. = ALIGN(4);
_etext = .;
} > CODE = 0
...
...
@@ -71,12 +78,12 @@ SECTIONS
_edata = . ;
} >DATA
.stack :
{
. = . + _system_stack_size;
. = ALIGN(4);
_estack = .;
} >DATA
.stack :
{
. = . + _system_stack_size;
. = ALIGN(4);
_estack = .;
} >DATA
__bss_start = .;
.bss :
...
...
bsp/taihu/applications/SConscript
浏览文件 @
a5a36d3f
...
...
@@ -4,7 +4,7 @@ from building import *
cwd
=
GetCurrentDir
()
src
=
Glob
(
'*.c'
)
CPPPATH
=
[
cwd
,
Dir
(
'#'
)]
CPPPATH
=
[
cwd
,
str
(
Dir
(
'#'
)
)]
group
=
DefineGroup
(
'Applications'
,
src
,
depend
=
[
''
],
CPPPATH
=
CPPPATH
)
...
...
bsp/upd70f3454/SConstruct
浏览文件 @
a5a36d3f
...
...
@@ -30,8 +30,5 @@ Export('rtconfig')
# prepare building environment
objs
=
PrepareBuilding
(
env
,
RTT_ROOT
)
# build program
env
.
Program
(
TARGET
,
objs
)
# end building
EndBuilding
(
TARGET
)
# make a building
DoBuilding
(
TARGET
,
objs
)
bsp/x86/SConstruct
浏览文件 @
a5a36d3f
...
...
@@ -25,8 +25,5 @@ Export('rtconfig')
# prepare building environment
objs
=
PrepareBuilding
(
env
,
RTT_ROOT
)
# build program
env
.
Program
(
TARGET
,
objs
)
# end building
EndBuilding
(
TARGET
)
# make a building
DoBuilding
(
TARGET
,
objs
)
bsp/xplorer4330/m4/SConstruct
浏览文件 @
a5a36d3f
...
...
@@ -30,8 +30,5 @@ Export('rtconfig')
# prepare building environment
objs
=
PrepareBuilding
(
env
,
RTT_ROOT
,
has_libcpu
=
False
)
# build program
env
.
Program
(
TARGET
,
objs
)
# end building
EndBuilding
(
TARGET
)
# make a building
DoBuilding
(
TARGET
,
objs
)
bsp/xplorer4330/m4/lpc4330_xplorer_spifi32mb.ld
浏览文件 @
a5a36d3f
...
...
@@ -38,6 +38,12 @@ SECTIONS
__vsymtab_end = .;
. = ALIGN(4);
. = ALIGN(4);
__rt_init_start = .;
KEEP(*(SORT(.rti_fn*)))
__rt_init_end = .;
. = ALIGN(4);
. = ALIGN(4);
_etext = .;
} > CODE = 0
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录