This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具/软件:Code Composer Studio
您好,
我正在尝试使用MSP430F5438A构建程序。 使用eabi选项构建时,使用的内存为Flash1+Flash 2=44.63k;使用Legacy Coff选项构建时,使用的内存为Flash1+Flash 2=40k。 所以基本上,256k的整个内存都不是使用这两个选项。 但是,当我使用eabi选项构建程序时,我收到以下错误,并且无法调试程序。
说明资源路径位置类型
#1.001万链接时出错;“22tr 5438 chk.out”未构建22tr 5438 chk C/C++问题
#1.0099万-D程序将无法插入可用内存。对“.cinit”大小0x2b的区域进行定位失败。 可用内存范围:lnk_msp430f5438a.cmd /22tr 5438 chk line 148 C/C++问题
请帮助我了解为什么会发生这种情况,因为如果我遇到上述错误,我无法预测程序的确切内存要求。
谢谢。
用于MSP430F5438A的链接器命令文件是 lnk_msp430f5438a.cmd,位于类似的位置...
C:\ti\ccsv7\CCS_base\MSP430\include
从该文件中,我可以看到.cinit段被分配到闪存范围。 闪存范围为0xA380字节,刚好低于41K。 所以这就是为什么所有东西都适合用COFF ABI构建,而用EABI构建时,它有点太大了。
要更好地理解链接器命令文件,请参阅文章 链接器命令文件入门。
要更好地理解此诊断...
的放置失败#1.0099万-D程序将不适合可用内存。对齐部分".cinit"
请确保您看到整个诊断,而不仅仅是它的这个截断部分。 通过查看控制台视图中的所有生成输出来执行此操作。 然后在文章 Compiler/diagnostic messages/1.0099万中阅读有关它的更多信息。
谢谢,此致,
-George