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.

[参考译文] MSP430F6731:代码在 MSP430F6726上运行、但在 MSP430F6731上不运行

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1163121/msp430f6731-code-runs-on-msp430f6726-but-not-on-msp430f6731

器件型号:MSP430F6731
主题中讨论的其他器件:MSP430F6723

您好!

如标题中所述、我的一个项目将在 MSP430F6723上正常运行、但在某种程度上不会在 MSP430F6731上运行。 这两个 MCU 之间的唯一区别似乎是闪存(64KB 与32KB)和 RAM (4KB 与2KB)。 SD24通道均未使用、因此这一点无关紧要。 CCS 中的内存分配显示使用了1360B RAM、使用了18912B 闪存。 因此 MSP430F6731应具有足够的 RAM。

当我尝试调试/单步执行 MSP430F6731上的代码时、播放/恢复按钮将灰显。 如果我按下暂停按钮、我将会看到屏幕截图。 这是否意味着代码在启动时滞留在某个低级初始化过程中?

如果我只是将一些简单的测试代码、例如闪烁或 UART 回波加载到基于 MSP430F6731的电路板中、一切看起来都很正常。 因此电路板本身应该可以正常工作。

有人能提供一些有关如何解决问题的指针吗? 提前感谢。

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

    尊敬的李志勇:

    您能否为每个构建共享.map 文件以及.txt 格式的输出文件?

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

    尊敬的 Dennis:

    感谢您的回复。 附加的文件。 更新:删除了文件。

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

    尊敬的李志勇:

    尝试将处理器选项设置为 F6731使用小型代码内存和小型数据内存、看看这是否会产生影响。

    我已与 SW 团队联系、以帮助了解这一点。

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

    尊敬的 Dennis:

    CODE_MODEL 似乎是个问题。 昨天早些时候、我的队友也无意中发现了这一选择。 将其从默认的大文件更改为小文件后、编译后的二进制文件可以在 F6731上正常运行。 我们还尝试了一些其他选项、例如从默认值增加堆栈/堆的大小、这些选项不起作用。 注释掉代码的某些部分也可以使剩余部分正常工作。

    您是否对 CODE_MODEL 选项有任何引用?

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

    尊敬的李志勇:

    好的、很高兴听到这个消息。  请查看 MSP430 C 编译器指南中 有关代码模型的第2.3.4节。

    我会假设您可以从这里出发、因此 我会将此帖子标记为已解决。 如果情况并非如此,请单击“这无法解决我的问题”按钮,并使用更多信息回复此主题。
    如果此主题锁定、请单击"提出相关问题"按钮、然后在新主题中描述您的问题的当前状态以及您可能需要帮助我们帮助解决您的问题的任何其他详细信息。

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

    尊敬的 Dennis:

    再次感谢您的快速回复。 而问题本身已得到解决。 出于好奇心、是否知道为什么使用 code_model = large 编译的二进制文件不会在 F6731中运行? 从我可以看到的结果来看、这两个器件都具有更少的64KB 内存。

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

    尊敬的李志勇:

    我不确定具体情况。  如果您看一下两个.map 文件、您会发现 F6723有多个代码段(.text、.text.1、.text.2)、而 F6731 .map 文件将所有代码放在一个段(.text)中。  尝试为两种内存模型构建 F6731项目、然后比较两个.map 文件。  如果您愿意、请与我们分享

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

    尊敬的李志勇:

    我们已经听过你几天了、所以我假设你可以从这里出发。 我将此帖子标记为已解决。 如果情况并非如此,请单击“这无法解决我的问题”按钮,并使用更多信息回复此主题。
    如果此主题锁定、请单击"提出相关问题"按钮、然后在新主题中描述您的问题的当前状态以及您可能需要帮助我们帮助解决您的问题的任何其他详细信息