【发布时间】:2015-05-05 05:13:40
【问题描述】:
我正在尝试在链接时加载符号文件。我提供了 symbol.txt 文件以及我链接的其他库。这是我尝试过的两件事。
第一,我提供的符号文件与 arm-none-eabi-nm 的输出完全相同,但这在第 1 行本身返回语法错误。
第二,我稍微改变了格式。我在文件开头添加了
#< SYMDEFS >#,并进行了更改以遵循 ARM 的 symdef 文件格式。这给了我错误
文件无法识别:文件格式无法识别 collect2.exe:错误:ld 返回 1 个退出状态
有没有人有将符号文件加载到链接器(arm-none-eabi-ld)的经验?如果是,请帮我弄清楚我在上面遗漏了什么。
我的符号文件的前几行如下:
"##" ;这里没有",我用它来去掉标记
0x00000000 A __heap_size
0x00000000 R __vect_table
0x00000000 R __vector_table
0x00000074 A ___data_size
我知道这种格式适用于 armlink。
【问题讨论】:
-
“符号文件”是什么意思?您是指链接器脚本吗?后者是 GNU ld 的文件,其中通常包含
__heap_startetl 之类的符号。人。已定义。 -
符号文件是指 arm-none-eabi-nm 的输出,而不是链接器脚本文件。
标签: c linker arm static-linking symbols