我写的cortex-A9主板小二进制文件,定义链接描述是这样的:更新链接变量--gc截面
SECTIONS
{
.text :
{
__text = . ;
*(.vector)
*(.text)
*(.text.*)
}
.rodata :
{
*(.rodata)
*(.rodata.*)
}
.data : {
__data_start = . ;
*(.data)
*(.data.*)
}
. = ALIGN(4);
__bss_start = . ;
.bss :
{
*(.bss)
*(.bss.*)
*(COMMON)
. = ALIGN(4);
}
__bss_end = .;
. = ALIGN(4);
__heap_start = .;
. = . + 0x1000;
. = ALIGN(4);
__heap_end = .;
_end = . ;
PROVIDE (end = .) ;
}
但似乎后--gc-sections
工作,并删除未使用的部分,在__heap_start
仍然--gc-sections
前值获得workked(我打印出来的代码,并检查LD标志):
ARM-Linux的gnueabihf-GCC -mcpu =的Cortex-A7 -msoft浮动-nostdlib 轮候册, --gc-sections -Wl, - print-gc-sections -Wl,-Ttext,0x04000000 -T csrvisor.ld小号轮候册,-Map,binary.map
任何人知道如何改变__heap_start
后--gc-sections
删除未使用的部分,以正确的价值?
我会检查你的意见,谢谢。 – akewart 2015-03-03 10:19:22