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.

[参考译文] MSPM0G5187:有关生成单独主 DFU 映像和非主 DFU 映像的说明

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

https://e2e.ti.com/support/logic-group/logic/f/logic-forum/1660173/mspm0g5187-clarification-on-generating-separate-main-and-non-main-dfu-images

器件型号: MSPM0G5187

e2e 支持中已经介绍了 DFU 编程流程。 我现在了解了所需的编程序列以及必须先对非主映像进行编程的原因。

我有几个关于映像生成过程的问题。

目前、我正在使用您之前分享的命令、将 .out 文件转换为 .txt tiarmhex.exe 中 DFU 主机实用程序的文件。 但是、我不知道此转换过程如何确定编程地址。  0x00000000 默认情况下、似乎从地址开始生成映像、我不知道在 .out  .txt 转换期间如何修改或控制闪存地址。

您能指导我完成整个过程吗?

  1. 如何    在项目/代码级别分离主映像和非主映像?
  2. 如何生成单独的 main.out 和 nonmain.out 文件?
  3. 获得单独的 .out 文件后、将每个文件转换为 main.txt  nonmain.txt DFU 主机实用程序和为它们转换的正确过程是什么?
  4. 如何在 .out  .txt 转换期间指定或更改编程(闪存)地址? 是否有任何命令行选项或配置来控制生成的 .txt 文件中包含的地址?

如果有任何参考项目、应用手册或演示如何生成单独的主 DFU 映像和非主 DFU 映像的示例、请共享它们。 这将帮助我了解预期的工作流程。

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

    嗨、Ramanathan、

    对于默认的.out 输出格式、这是一种内部已经包含地址信息的格式、因此 NONMAIN 内容将在.out 文件中用于相应的地址区域(从 0x41c00000 开始)。 而且、基于.out 格式直接对非主内容和 MAIN 内容进行除法是不可行的。

    对于.txt 格式、您可以参考  MSPM0 MCU 开发指南的 3.5.1.5 生成十六进制文件(修订版 G) 、并选择 TI_TXT 格式作为输出格式。 如果您的工程包含 NONMAIN 配置、那么您会看到生成的.txt 输出文件中包含 0x41c00000 和 0x41c00100 内容、并且这是非 main 内容。 您可以手动将此 txt 文件分为 main.txt 部分和 nonmain.txt 部分。 TI-TXT 是一种简单的理解格式、二进制内容只以@address 开头、位于地址之后的字节之后、.txt 文件末尾需要“q“。