avr-ld错误:"gc-sections需要一个条目或一个未定义的符号"

Bra*_*fer 5 c avr gnu ld

在编译和链接--gc-sections时,使用avr-gcc并尝试使用-ffunction-sections和-fdata-sections来减小二进制文件的大小..lds文件不包含任何内容:

部分{}

将许多.o部分链接到.a时会发生此错误,稍后将使用它来完成构建.

我已经阅读了其他一些讨论这些选项的帖子,但没有任何内容可以澄清ENTRY()问题.在尝试减少代码大小之前,它们在部分阶段似乎不需要它(预先存在的链接器脚本显然不使用它).

文档说明: - gc-sectionts

"在执行部分链接时可以设置此选项(使用选项'-r'启用).在这种情况下,必须通过'--entry'或`--undefined'选项或通过链接描述文件中的ENTRY命令."

这就是我失去的地方.非常感谢有关如何在链接描述文件中使用--undefined,--entry或ENTRY cmd来解决此问题的更多解释.

小智 -1

我有类似的问题并放弃了。我最终启用了 -fwhole-program 选项进行编译,这显着减小了引导加载程序的大小。