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.

[参考译文] TMS320F28377D-2837D:由 EP 生成的 bin 文件中缺少0xFFFF

Guru**** 2463330 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1498474/tms320f28377d-ep-0xffff-is-missing-from-the-bin-file-generated-by-28377d

器件型号:TMS320F28377D-ROM EP

工具/软件:

使用2837D 的 CPU2时、使用仿真器生成的 OUT 文件下载闪存中、在查看存储器时、存储器中有0xFFFF、但当 Vscode 打开相应的 bin 文件时、相应的位置不是0xFFFF。(如下图所示)、bin 文件中缺少4 0xFFFF

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

    此 bin 文件来自哪里?  请显示用于创建它的命令的文本、而不是屏幕截图。

    谢谢。此致、

    -乔治

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

    使用 CCS 启用"Enable C2000 Hex Utility"生成的 bin 文件设置如下:--memwidth=16 --order=MS --romwidth=16 --diag_swap=off --binary。此外如果 CPU1内核使用相同的设置、则不会出现此问题。

    CPU2有什么特别之处、或者是否官方设置教程

     

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

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

    由...创建的二进制文件

    使用 CCS 启用"Enable C2000 Hex Utility"生成的二进制文件。设置如下:---memwidth=16 --order=MS --romwidth=16 --diag_swrap=off --binary。

    ...有一个问题。  各段之间的存储器间的任何间隙都将被忽略。   

    请使用 此论坛帖子中描述的权变措施。  除了其他详细信息、此权变措施需要在 CCS 工程中添加一个十六进制实用程序命令文件。  有关如何执行此操作的详细信息、请参阅 CCS 中十六进制实用程序一文的最后一部分

    谢谢。此致、

    -乔治

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

    我更改了生成 BIN 文件的方式。

    生成后、我使用: "${CCE_INSTALL_ROOT}/utils/tiobj2bin/tiobj2bin "${BuildArtifactFileName}""${BuildArtifactFileBaseName}.bin""${CG_TOOL_ROOT}/bin/ofd2000 "${CG_TOOL_ROOT}/bin/hex2000 "${CCE_INSTALL_ROOT}/utils/tiobj2bin/mkhex4bin

    CPU1 CPU2使用相同的方法CPU1 bin 文件没有问题(bin 文件 memory 视图中的完全相同)

    但是、CPU2存在问题:例如、下载 JATG 后、在内存视图中查看的数据为 FFFF FFFF FFFF、但 bin 文件为0000 0000 0000

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

    我向您推荐的解决方法不使用 tiobj2bin 。  因为 tiobj2bin 有问题。

    第一、它不支持 C2000 EABI 文件。  我假设您使用 EABI 来构建、因此我不知道如何使其正常运行。   

    二、间隙始终用0填充。   

    如果您使用我建议的解决方法、默认情况下它会用0填充间隙。  但您可以通过添加选项来更改该默认值  -- fill=0xFFFF 连接到 hex2000 命令。

    谢谢。此致、

    -乔治