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.

[参考译文] MSP430F5437A:在 MSP430F5437A 上运行 MSP430F5418A 的源代码

Guru**** 664280 points
Other Parts Discussed in Thread: MSP430F5437A, MSP430F5418A
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1102106/msp430f5437a-running-source-code-of-msp430f5418a-on-a-msp430f5437a

器件型号:MSP430F5437A
主题中讨论的其他器件: MSP430F5418A

由于 MSP430F5418A 当前不可用、我们希望在 MSP430F5437A 上运行我们的源代码。

我们的产品现已上市10多年、因此我们使用的编译器较旧、我们不想更改!

编译时、会出现在附件中的错误。

您还可以看到项目的操作数。

如何解决此问题?

此致
Daniel

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您使用的是哪个 CCS 版本? 您能否将项目设置为使用大型代码内存模型? 如果未设置、则只能使用低64k 的存储器。

    Project Properties -> Build -> MSP430 Compiler -> Processor Options

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我们使用的是 CCS 版本6.1.0、我们已经在使用大代码存储器模型、如屏幕截图中所示。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Seth、

    我觉得有趣的是、在下面的屏幕截图中、CCS 认为大型代码模型未根据错误行在链接器命令文件中定义:

    有什么原因吗? 与 链接器相比、我知道 CCS 对定义的解释是单独的解析 器(理论上他们应该始终同意)。 但是、在我的演示项目中、大型数据模型是根据 CCS 定义的。

    此致、

    Evan

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    目前还不知道。 我已检查整个设置、但未发现任何异常。

    问题是我们现在有一个复杂的线路停止数周。
    那么、我们如何继续呢? 我们遇到了序列化问题!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="521816" URL"~μ C/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1102106 msp430f5437a-running - source-code-of-of msp430f5418a-on -msp430f5437a/8406773]、因为我们已经在使用大内存模型引用了大内存模式[引用#8406773]。

    这就是我所困惑的地方。 在编译器设置的标志摘要中、没有"-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、程序运行时不会出现问题。