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.

[参考译文] CODECOMPOSER:TI-ARM-CLANG 是否支持使用0xFF 数据填充未使用的闪存区域?

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/1339792/codecomposer-does-ti-arm-clang-supports-filling-the-unused-flash-area-with-0xff-data

器件型号:CODECOMPOSER

大家好、

我有一个客户对 MSPM0器件使用 TI-clang 编译器、但他们发现.bin/.hex/.txt 将没有数据闪存区域、这使得他们的 OTA 函数异常。 以下是详细说明。

使用当前的编译器语法、当句段结束地址没有数据时、它将直接结束、而不是用 FF 数据填充。 这导致客户在执行 OTA 升级时无法识别这部分空数据、从而导致后续数据不一致。

请参阅以下内容: 标有红色、此区域中应该是0xFF 数据、但编译器输出它时没有数据。 它可以与 XDS110等调试器工具配合使用。 但是对于用户的 OTA 功能、不能侦察这个区域、自动填充0xFF、特别是客户把数据从 bin 文件、而不是 TI-TXT 文件中转换、然后通过串行口发出来。

在编译器侧、是否可以使用 FF 数据填充未使用的地址?

B.R.

萨尔

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

    我不熟悉无线更新工作方式的细节。  具体而言、我不知道所使用的文件的格式。  假设在链接后、您运行一个或多个命令来创建 OTA 所需的文件。  请向我显示这些命令。  请复制并粘贴文本、不要使用屏幕截图。

    谢谢。此致、

    -乔治

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

    您好、George、

    没有更多命令来为 OTA 创建文件。

    客户正在使用自己的工具从 bin 文件中获取消息、他们发现空白数据会导致后续数据不一致。

    我显示用于参考的 TXT 格式、两个闪存地址之间有一个空白。 客户正在使用 bin 文件。 它来自 ARM 十六进制单位:

     (bin 文件)

    --memwidth=8 --romwidth=8 --diag_wrap =off --二进制

    添加:我知道应该有一些客户工具问题来重新生成 bin 文件。 但客户不知道如何重新检查 bin 文件中的空白数据、因此他们想知道编译器侧是否有任何方法用空白闪存地址填充0xFF 数据。

    B.R.

    萨尔

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

    十六进制实用程序可以解决您的问题。  添加两个选项: -图像 --fill=0xffffffff

    关于 -图像 ..  这称为映像模式。  它需要您在十六进制命令文件中提供 ROMS 指令。  此文件的内容将类似于...

    ROMS {
       all_mem: origin = 0x8000, length = 0x2000
    }

    这将告知十六进制实用程序系统中已初始化存储器的范围。  根据需要更改这些常量。

    有关详细信息、请参阅  tiarmclang 在线手册中的"映像模式"和--fill 选项部分。   

    若要了解如何将十六进制命令文件添加到 CCS 工程、请 在 CCS 中搜索文章 Hex 实用程序 、查找标题为" 传递十六进制命令文件"的部分。

    谢谢。此致、

    -乔治