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.
我之前在 CCS 9中遇到了一个问题(或者更具体地说、随附的 GCC 包含) 、其中 MSP430FR5964中的 ISR 被放置在 RAM 中、而不是 ROM 中。 这是由于5964和许多其他 MSP430处理器的.ld 文件中缺少.lowtext 段定义。
我刚刚升级到 CCS 10.4、可以确认此版本仍然存在问题。 我已经检查了5964、5994和前面提到的一些其他处理器、它似乎会影响同一组处理器。
如前所述、修复过程相对简单、只需将.lowtext 添加到收集的段中以包含在 ROM (在本例中为 FRAM)中。 我从正确包含定义的处理器中选择了.ld、并修改了 msp430fr5964.ld 以遵循相同的模式。
这里没什么可做的——如果有人来这里旅行,那就只适合后代。 CCS 9已提出此问题。 据我所知、它仅影响 GCC 工具链。
Andrew
Andrew、
感谢您的反馈。 我将把这个问题转交给软件团队进行研究。
此问题在 MSP430-GCC 9.3.1.2中似乎已修复。 从 https://www.ti.com/tool/download/MSP430-GCC-OPENSOURCE 安装最新版本 并复制~/ti/msp430-gcc/include/msp430fr5994.ld 以覆盖项目中的 msp430fr5994.ld 文件后、中断处理程序再次正常工作。
~/ti/msp430-gcc/Revisions_Header.txt 在错误修复中提到了"修复 GCC 链接器文件缺少的低文本部分"。 我想这是关键的变化。