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.

[参考译文] EK-TM4C1294XL:将器件元数据附加到二进制文件中

Guru**** 2609285 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/756151/ek-tm4c1294xl-append-device-metadata-to-the-binary

器件型号:EK-TM4C1294XL

大家好、

在我的项目中、我使用不同的字符串来标识产品名称、版本、实例等。 这些信息(主要是设备实例)必须是每个硬件产品唯一的信息,是在预编译步骤中生成的(发出头文件)。

我所寻找的解决方案是在不执行编译步骤的情况下将一个块附加到二进制文件中。 我想避免连续编译、除了开发人员之外、其他任何人都应该可以编辑它。

此致、

Norbert

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

    诺伯特

    您是否意味着您希望将此元数据(产品名称、版本等)采用某种二进制格式、可以直接链接到可执行文件中? 如果是、我相信我们今天的工具中没有这方面的预设解决方案。 但是、如果数据位于.c/.h 文件中、则可以对其进行预编译、并且可以将目标文件或库链接到可执行文件中。 这仍会经历构建过程、但它会在链接步骤而不是预构建步骤期间被引入。

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

    正是这样、这就是我想要的、但正如我所说的、我希望避免编译、即使使用 CCS:只是一个示例: 在 CCS 中开发代码是可以的、但是将二进制文件下载到10、50或100 HW 产品将会绕过编译、但是我有一个每个器件的唯一 ID、该 ID 应从下载更改为下载。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我们没有标准解决方案来解决此问题、但我们想到的一个想法是将器件元数据构建到单独的可执行文件中、该可执行文件会刷写到特定的存储器区域(在与程序其余部分不同的区域中)。 然后、在下载代码之前、将闪存设置配置为不擦除整个闪存、而只擦除必要的页面或特定地址范围、以便先前刷写的器件实例保持不变。

    我实际上没有亲自尝试过这种方法、但可能值得尝试一下、看看它是否能帮助您实现所需的目标。