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.

[参考译文] AM263P4-Q1:如何从系统 mcelf 创建可擦写的 hex 文件

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1438100/am263p4-q1-how-to-create-a-flashable-hex-file-from-a-system-mcelf

器件型号:AM263P4-Q1

工具与软件:

你(们)好

在我们的应用程序中、我们需要提供一个十六进制文件、作为软件的可闪存映像。

软件将在多核上运行、因此需要从系统工程的.mcelf 生成 hex 文件。

当系统工程提供了从构建中生成文件的选项时、生成十六进制文件的过程是什么?

我曾尝试将 tiobj2bin 脚本调用为 post-build 步骤、但收到以下错误:

工具调用:

C:/ti/ccstheia151/ccs Multicore_Led /ti/ccstheia151/ccs ./Debug/Microelectronics Multicore_Led blinkingApp_am263px-lp_system_nortos.mcelf ./Debug/MicrobootingApp_am263px-lp_system_nortos.mcelf.hex C:/tools/compiler/ti-cgt-armllvm_4.0.0.LTS/bin/tiarmhex.exe C:/utils/tiobj2bin/mkhex4bin.exe /ti/ccstheia151/ccs C:/tools/compiler/ti-cgt-armllvm_4.0.0.LTS/bin/tiarmofd.exe /ti/ccstheia151/ccs /utils/tiobj2bin/tiobj2bin.bat

结果:

[1010]Use of uninitialized value $str in pattern match (m//) at xml_TI_ofd.pm line 2146。
[1011]在 script/mkhex4bin.pl lin 中的乘法(*)中使用未初始化值

我无法真正在网上找到导致此错误的原因。  

另外、可以使用 hexview 工具打开.mcelf。 这样做时、十六进制地址映射与项目链接器脚本中指定的地址不对应。

非常感谢您帮助理解流程。

期待您的阅读。

此致

单端

注意:我正在使用 mcu_plus_sdk_am263px_10_00_00_35

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

    尊敬的 Seb:

    感谢您的提问、

    我正在研究它。

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

    Sebastien、您好!

    在我们的应用程序中、我们需要提供一个十六进制文件作为软件的可擦写映像。

    这是您正在使用的刷写工具的要求吗?

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

    我还获得了有关十六进制转换工具的更多信息、 目前我们没有 mcelf 格式的十六进制转换工具

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

    你(们)好

    感谢您的反馈。

    我会在内部进行检查、但我认为这对我们来说是个问题。

    实际上、需要使用 hex 文件来使用"经典"刷写工具更新现场 ECU。

    您能否确认您的计划是什么?

    它根本不会出现、还是 mcelf 的十六进制转换将在 CCS 的后续版本中可用?

    我们还可以通过哪些途径来生成此 hex 文件?

    谢谢

    此致

    单端

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

    尊敬的 Sebatian:

    根据您的请求、我已经能够优先考虑此申请我们有计划构建2025年第一季度 SDK 版本中预计会提供的相同工具。

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

    你(们)好

    感谢您的反馈。

    这在某种程度上是好的,但也是坏的,因为它将是太晚对我们。

    您可以同时使用 tiarmhex 或 BIN2HEX 等工具或其他工具或任何类型的脚本的组合建议任何变通办法?

    谢谢  

    此致

    单端

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

    Sebastian、  

    由于这是新工具的开发、因此无法立即提供一些东西、

    在 SDK 11.0发布之前、您可以使用.appimage 格式、这是将停用 appimage 格式的情况。 我们已经将十六进制图像格式生成器作为 ARM 十六进制实用程序生成器的一部分了。

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

    你(们)好  

    感谢您的答复。

    是否可以更详细地描述如何继续?

    由于十六进制工具被禁用/在 CCS THEIA 中对于一个系统项目来说不存在、它就像编写一个脚本一样简单、这个脚本调用 tiarmhex.exe 来将系统文件夹中的 appimage 文件转换为所需的十六进制文件格式、或者还有更多内容吗?

    期待了解更多详细信息。

    谢谢。

    此致

    单端

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

    尊敬的 Sebastian:

    是的、它将是您可以编写的命令行脚本、有关更多详细信息、请遵循以下步骤:16。 十六进制转换实用程序说明—TI Arm Clang 编译器工具用户指南

    该选项出现在 CCS 12.8 Eclipse IDE 中、IDE 显示了以下用于生成 HEX 工具的选项:

    /cfs-file/__key/communityserver-discussions-components-files/908/pastedimage1619276318581v2.png

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

    你好、Nilabh

    感谢您的反馈。 我也和 Chris Lande 谈这个话题。

    他还向我指出了相同的文档、但该工具似乎对从系统工程创建的映像存在问题。

    下面是我使用.appimage 而不是.mcelf 得到的最新错误:  

    我使用以下命令行调用该工具:

    c:/ti/ccstheia151/ccs /utils/tiobj2bin tiobj2bin.bat  ./Debug/Micro-B Multicore_Led 链接 App_am263px-LP_SYSTEM_nortos .appimage ./Debug/Micro-B Multicore_Led 链接 App_am263px-LP_SYSTEM_nortos .appimage.hex  c:/ti/ccstheia151/ccs /tools/compiler/ti-cgt-armllvm_4.0.0.LTS/bin tiarmofd.exe c:/ti/ccstheia151/ccs /tools/compiler/ti-cgt-armllvm_4.0.0.LTS/bin tiarmhex.exe c:/ti/ccstheia151/ccs /utils/tiobj2bin mkhex4bin.exe

     

    我相信命令行是正确的,并调用正确的 OFD 和十六进制生成工具,但它正在运行以下错误:

      "./Debug/USBlinkingApp_am263px-lp_system_nortos.appimage" Multicore_Led

    在 XML_TI_OFD.pm 第2146行的模式匹配(m//)中使用未初始化的值$str。

    在 XML_TI_OFD.pm 第1325行的哈希元素中使用未初始化的值$Targ_num。

    意外目标:在 script/mkhex4bin.pl 行270处未知。

    C:/ti/ccstheia151/ccs /utils/tiobj2bin/mkhex4bin.exe 出现故障。  放弃。

     

    这似乎是该工具引发的内部错误、但我一直在对其进行调试。

    该工具能否为多核.appimage 创建一个 hexfile?  

    我们不清楚十六进制工具提供的文档在这一点上。

    感谢您的帮助。

    此致

    单端

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

    尊敬的 Sebastian:

    遗憾的是、我不知道此错误、请尝试就此问题征询我们工具团队的专家。

    您能在这里帮助我们吗?

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

    尊敬的 Sebastian:

    我们不建议使用 tiobj2bin.bat 、这是一个旧工具、不是很受支持。  相反、您应该切换到使用 tiarmobjcopy 在这里有说明 、位于与 tiarmclang 相同的\bin 目录中。 这也避免了使用较旧的 tiarmhex 实用程序。  可以切换吗?

    -艾伦

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

    你(们)好

    感谢 Alan 的回答。 对不起的答复,我将研究这一问题,并回来给你。

    谢谢

    此致

    单端

x 出现错误。请重试或与管理员联系。