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.
由于 MSP430F5418A 当前不可用、我们希望在 MSP430F5437A 上运行我们的源代码。
我们的产品现已上市10多年、因此我们使用的编译器较旧、我们不想更改!
编译时、会出现在附件中的错误。
您还可以看到项目的操作数。
如何解决此问题?
此致
Daniel
您使用的是哪个 CCS 版本? 您能否将项目设置为使用大型代码内存模型? 如果未设置、则只能使用低64k 的存储器。
Project Properties -> Build -> MSP430 Compiler -> Processor Options
我们使用的是 CCS 版本6.1.0、我们已经在使用大代码存储器模型、如屏幕截图中所示。
Seth、
我觉得有趣的是、在下面的屏幕截图中、CCS 认为大型代码模型未根据错误行在链接器命令文件中定义:
有什么原因吗? 与 链接器相比、我知道 CCS 对定义的解释是单独的解析 器(理论上他们应该始终同意)。 但是、在我的演示项目中、大型数据模型是根据 CCS 定义的。
此致、
Evan
目前还不知道。 我已检查整个设置、但未发现任何异常。
问题是我们现在有一个复杂的线路停止数周。
那么、我们如何继续呢? 我们遇到了序列化问题!
这就是我所困惑的地方。 在编译器设置的标志摘要中、没有"-code_model"指令。 编译器手册 SLAU132P 自2017年6月起、声明对于基于 MSP430X 的器件而言、"large "是默认值、因此它的缺失无关紧要。
正如 Evan 指出的、正是链接器文件错误增加了我的假设、即未设置正确的存储器模型。 也许您可以尝试通过分别单击每个菜单上的"Set Additional Flags"来将"--code_model=large "添加到编译器和链接器标志中?
Daniel、您好!
我能够安装 TI 编译器版本 v4.1.9。 我可以重现您的问题、但在这个较旧的工具链中、__lar_code_model_似乎不是默认定义的。 但是、我似乎通过定义__large_code_model__来超越它、如下所示:
您可以尝试一下、然后再报告一下吗?
此致、
Evan
您好 Evan、您好 Seth、
感谢您的帮助!
@右下角。 但我已经通过使用高级设置来修复了这一问题。 所以 "-code_model=large "已经是编译器和链接器标志的一部分。
仍然得到错误
@Evan 我添加了"_lar_code_model__" 作为环境变量。
--我也得到了错误
我在文件"lnk_msp430f5437a.cmd"中添加了"#define _large_data_model__"以解决错误、但代码未在系统上运行。
此致、
Daniel
Daniel、您好!
您能否分享有关该错误的更多信息?
Evan
您是否能够连接到"无法正常工作"的设备? 调试器是否有关于程序计数器何时发生的有趣信息?
此外、您能否尝试将示例程序加载到5437A 上。 这是否符合预期?
Evan
没什么特别的
如果我从 现有项目中取出一些部件、使其适合64k、程序运行时不会出现问题。