指定bss数据
-
链接脚本添加bss代码段,不添加则由系统随机分配RAM地址
SECTIONS { .sram :>. SRAM … .mybss abs(0xffe04000) :>. /* locate the section to address 0xffe04000 */ … }
-
源码指定bss数据存放区域
注意:这里 section 为 bss段#pragma ghs section bss=”.mybss” int svarInit; #pragma ghs section bss=default
指定data数据
-
链接脚本添加data代码段,不添加则由系统随机分配RAM地址
SECTIONS { .sram :>. SRAM … .mydata abs(0xffe04000) :>. /* locate the section to address 0xffe04000 */ … }
-
源码指定data数据存放区域
注意:这里 section 为 data段#pragma ghs section data=”.mydata” int svarInit = 3; #pragma ghs section data=default
指定text
-
链接脚本添加text代码段,不添加则由系统随机分配RAM地址
SECTIONS { .intvec :>. CODE_FLASH … .mytextabs(0x101FE0000) :>. /* locate the section to address 0xffe04000 */ … }
-
源码指定text数据存放区域
注意:这里 section 为 text 段#pragma ghs section text=”.mytext” void mey_func(void) {} #pragma ghs section text=default
链接脚本指定源文件存储位置
SECTIONS
{
/********************************************/
.text:
{
test.o(.text) //指定test.o存储地址 运行地址
}>ROM
ROM.data ROM(data) :>.
/********************************************/
.data :
{
main.o(.text) //指定main.o的代码段的运行地址到data段
main.o(.rodata) //指定main.o的只读段的运行地址到data段
}
> SRAM
.bss :
{
main.o(.bss) //指定main.o的bss段的运行地址到bss段
}
> .
}