我正在尝试将基于 Makefile 的 Cortex-M3 项目导入 SEGGER Embedded Studio(SEGGER Embedded Studio for ARM Release 5.10b Build 2020091601.43513)。
我的项目可以编译和链接,但是与原始项目相比,二进制文件的大小太大了。生成的可执行文件有效,但占用了太多 FLASH 空间。
比较映射文件,我看到某个库的所有符号和内容(ELF .a 文件拖放到源代码树中)都使用 SEGGER 链接器链接到我的二进制文件中。
我无法重建 .a 文件,因为它是由第三方以二进制形式提供的。
我试过了
- 将 .a 文件像源文件一样放置在源层次结构中
- 将链接器配置中的文件称为“附加输入文件”
如何从我的解决方案中强制 SEGGER 链接器去除未使用的符号?
“来自 SEGGER 产品手册:消除所有未使用的代码和数据以获得最小尺寸的图像。”