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.

[参考译文] TMS570LS3134:输出十六进制文件无法在 MCU 中运行

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1396961/tms570ls3134-output-hex-file-cannot-running-in-mcu

器件型号:TMS570LS3134

工具与软件:

您好!

CCS 会生成.out 文件、并且我将其加载到 MCU 中时、代码是否 运行正确。 当我生成并加载.hex 文件(Intel hex)时、该代码无法运行。 这是什么原因? 如何加载.hex 文件?

你能帮我吗?"

谢谢你。

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

    尊敬的 Samet:

    您如何为代码生成.hex 文件、您能否提供有关此过程的更多详细信息?

    ——
    谢谢、此致、
    Jagadish。

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

    我将在 CCS 中生成.hex 文件、如下面的屏幕截图所示。

    1.项目的属性部分

    2. CCS 构建

    3. ARM 十六进制实用程序

    4.输出 Formaat 选项

    5.英特尔十六进制(--intel,-I)

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

    尊敬的 Samet:

    我找到了问题的根本原因:

    实际上、如果我们在默认情况下没有指定存储器宽度和 ROM 宽度、它会将其用作 ROM 的8位宽度:

    这就是我们输出4个十六进制文件的原因、我的意思是数据是字节的多个字节分开、每个32位字的字节将放置在一个文件中、我们总共将得到4个十六进制文件。

    十六进制实用程序

    为了消除此问题、我们应该在外部将存储器宽度和 ROM 宽度配置为32位大小、如下所示:

    执行此配置后、现在删除旧的4-hex 文件、如下所示:

    删除后、现在生成工程、现在只能看到创建了一个 hex 文件、如下所示:

    现在您可以看到尺寸也变为4次了?

    现在、选择该文件并将其刷写到控制器中、在代码刷写后执行上电复位并验证功能。 我已经验证过、现在它可以正常工作、没有任何问题。

    ——
    谢谢、此致、
    Jagadish。

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

    非常感谢您的关注。 现在它正在正常运行。