工具/软件:TI C/C++编译器
你好
我正在寻找一些存储器空间、然后我看到一些存在的功能是一些未使用的 c 文件、它们会链接并在存储器映射中占用一些存储器空间。
简单示例:
文件 F2837xS_DefaultISR.c 包含映射到矢量表并进入 F2837xS_PieVect.c 的所有默认 ISR
由于所有函数都相同、并且从未使用、因为当使用中断时、会映射到其他函数、因此我决定更改默认矢量表。
示例
CLA_underflow_ISR -> NOTUSED_ISR
(笑声)
然后、所有表都是指向 NOTUSED_ISR 或 PIE_RESERTE_ISR 的链接。
但在编译后、在 memoryAlllocation 视图中
.text:retain (F2837xS_DefaultISR.obj) 1413!!
未使用的函数(CLA_undercie_ISR...) 出现在.map 文件中:
000dcabc 全局_CANA1_ISR (.text:retain)
000dcac6全局_CANB0_ISR (.text:retain)
000dcad0全局_CANB1_ISR (.text:retain)
000dcb2a 全局_CLA1_1_ISR (.text:retain)
000dcb34全局_CLA1_2_ISR (.text:retain)
000dcb3E 全局_CLA1_3_ISR (.text:retain)
000dcb48全局_CLA1_4_ISR (.text:retain)
000dcb52全局_CLA1_5_ISR (.text:retain)
000dcb5c 全局_CLA1_6_ISR (.text:retain)
000dcb66全局_CLA1_7_ISR (.text:retain)
000dcb70全局_CLA1_8_ISR (.text:retain)
000dccf6全局_cla_overflow_ISR (.text:retain)
000dcd00全局_cla_underflow_ISR (.text:retain)
是否可以选择不链接未使用的函数、然后赢得大量存储器空间?
我用于编译器优化、但没有更改任何内容。 (链接器问题…)
谢谢