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.

[参考译文] CCS/CC2642R:OAD_IMAGE_TOOL 创建的 bin 文件损毁

Guru**** 2952510 points

Other Parts Discussed in Thread: SYSBIOS

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/931759/ccs-cc2642r-bin-file-created-by-oad_image_tool-crashed

器件型号:CC2642R
Thread 中讨论的其他器件:SYSBIOS

工具/软件:Code Composer Studio

您好!

我尝试修复一条警告消息、指出变量已设置但从未使用过。 重新标记此变量(与 BLE 无关)后、如果我使用 OAD 加载 bin 文件、我发现 BLE 不起作用、但如果我使用 XDS110加载 hex 或 out 文件、这是可以的。

bin 文件的大小从313k 更改为288k。 根据映射文件、我假设从0x4c00开始的.rodata.3段不包含在 OAD_IMAGE_TOOL.exe 的 bin 文件中、因为 bin 文件的末尾是0x48000 (288k)。

它只是设置问题还是 OAD_IMAGE_TOOL 问题?

附加的是映射文件。

e2e.ti.com/.../map_5F00_files.zip

CCS 版本10.0.00010

XDCtools 3.51.2.21

SimpleLink SDK 3.10.0.53

此致、

Gabriel

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

    您好!

    我已要求一位专家来研究您的问题。

    请多多包涵、

    此致、

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

    您好 Gabriel、

    您是否也加载了 BIM 文件?  

    这是您对默认项目所做的唯一更改吗?

    您使用的是哪个项目以及使用哪些设置? (片上/片外、安全/无安全)

    谢谢、  
    ELIN  

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

    您好、Elin、

    我们在工厂加载了片外非安全 BIM、并在之后通过 OAD 或 XDS110更改了 APP+STACK。

    OAD_IMAGE_TOOL 使用默认的 private.pem 来生成 bin 文件、因此 bin 文件应具有安全性。

    我们对默认项目所做的更改如下:

    应用程序下的用户应用程序文件、包括 simple_peripheral_oad_offchip.c 的更改

    2.关闭应用程序、库和 BIM 的 ARM 编译器优化

    3.在 ARM 编译器下添加的预定义符号

    4."VAR 秒= xdc.useModule('ti.sysbios.hal.Seconds');"附加到 tools/ble_release.cfg

    5.在 OSAL/osal.c 中添加了"radx"以返回 ltoa ()的值、以便 可以在 CCS 10.0.0.00010中编译它

    谢谢、

    Gabriel

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

    您好、Elin、

    我想添加一个我忘记处理的更改:

    由于我们使用不同的外部闪存和不同的 GPIO 引脚、我们修改了以下文件:EXT_FLASH.c、BSP.h、FLASH_interface_internal.c、FLASH_interface_ext_rtos_NVS.c、FLASH_interface.h、 LED_DEBUG.c、CRC32.h、CRC32.c、CC26X2R1_LAUNCHXL.c、 CC26X2R1_LAUNCHXL_Fxns.c、  CC26X2R1_LAUNCHXL.h

    谢谢、

    Gabriel

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

    您好 Gabriel、

    感谢您的耐心等待。  

    好的、如果我理解正确、您使用的是没有安全性的 BIM、但应用程序映像使用安全性? 如果是这种情况、您必须更改 BIM 或应用程序上的安全级别、因为它们都需要具有相同的安全级别才能工作。  

    谢谢、  
    ELIN  

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

    你(们)好 ELIN、

    我加载了一个具有使用相同默认密钥构建的安全性的 BIM、然后通过 OAD 下载有问题的 bin 文件。 它已启动、我仍然发现 BLE 无法正常工作。 我认为这不能解决我的问题。

    谢谢、

    Gabriel

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

    您好 Gabriel、  

    感谢您的检查。  

    您是否已按照 SimpleLink Academy BLE Enhanced OAD 实验室中的任务4 从应用中调试 BIM? 如果不是、您能否执行此任务以查看 BIM 是否正确启动应用程序?

    谢谢、  
    ELIN

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

    您好、Elin、

    感谢您的建议。
    关闭安全 BIM 的优化使其大于8k、无法装入0x56000~0x58000。 因此、我只调试了非安全 BIM。
    它最初将安全信息段作为有效载荷段、但后来找到了正确的有效载荷段。 有问题的 bin 文件或工作 bin 文件已正确加载。 因此、这不应是 BIM 问题。

    我查看了有问题的 bin 和工作十六进制文件、两者都源自相同的 out 文件。
    在十六进制文件中、修复头文件中的结束地址字段为0x47ed8、但映像的最后一个字节位于0x4d3b3 (0x4d3a0+0x14-1)。

    在 bin 文件中、fix header 中的 length 字段与 bin 文件的大小匹配。 (18413*16+12=0x47edc)

    在 bin 文件中找不到十六进制文件中从0x4c000到0x4d3b3的数据。

    谢谢、

    Gabriel

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

    您好 Gabriel、  

    好的、那么、您在调试时能够按照我之前的答复中的链接所述访问应用程序主函数?  

    我认为您不必关闭 BIM 项目的优化即可使其正常工作。 因此、如果要使用安全性、应使用同样使用安全性的应用程序调试安全性 BIM。  

    谢谢、  
    ELIN

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

    您好、Elin、

    我已经完成了任务4的"从 BIM 到应用程序的调试"。
    在上进行优化时、很难单步执行代码、因此我在断点处观察了起始地址、图像长度和程序输入。 我从安全性和非安全性 BIMS 中获得了相同的值、它们都转到了应用程序主程序。 我没有发现 BIM 有任何问题。

    谢谢、
    Gabriel

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

    您好 Gabriel。

    很好、感谢您的检查。  

    只需检查一下、当您加载 OAD 映像工具生成的_oad.bin 文件时、如何验证映像是否未运行? 您是否有任何可以发布的日志?

    谢谢、
    ELIN

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

    您好、Elin、

    我是 Gabriel 团队的一名团队成员。

    我们正在开发采用 TI CC2642解决方案的运动手表。

    我们现在遇到的是 OAD 映像问题。

    我们刚刚发现 CCS 附带的"oad_image_tool"、simpleLink SDK 可能无法创建正确的 OAD bin 映像。

    我们将编译器创建的.hex (我们知道它采用 Intel hex 格式)与"oad_image_tool"创建的.bin 进行了比较。

    结果表明、应将内容放入.bin 中可能会丢失、因为.hex 中的某些内容不会出现在.bin 文件中(我很确定它不是标头或 CRC 或 OAD 格式或过程的其他内容、 因为我们可以使用这个有问题的.bin 文件来完成 OAD。)。

    在 OAD 和有问题的.bin 文件之后。  我们找不到 BLE 器件。 因此、另一次 OAD 也无法完成。

    手表仍然可以打开、看起来仍然正常。 但 BLE 无法正常工作、我们无法通过 BLE 执行任何操作。

    我们尝试了"nRFconnect app"(使用不同的智能手机)、"SiLab BLED112"和笔记本电脑(使用 Marvell AVASTAR 蓝牙无线电适配器、英特尔 AC8265)来查找该手表。 但没有人能找到它。

    到目前为止、我们使用的解决方案是保留一些"未使用"的局部变量。 因为我们在对源代码进行一些清理后发现了这个问题。 我们以前没有遇到过这个问题、所以我们只需撤消我们所做的工作。 问题就消失了。
    因此、问题的原因类似于 OAD_IMAGE_TOOL 的段处理。

    由于其他考虑、我们关闭了应用程序的编译器优化(-O0)。

    如果您对我们的问题有任何了解、 请告诉我们。

    顺便说一下。 Gabriel 说他的 TI 帐户被锁定没有任何理由。 他很困惑、无法回复该帖子。 你能给他一个帮助吗?

    非常感谢。

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

    Joe、您好!  

    感谢您的介绍。

    您是否曾尝试在 CCS 中同时使用 OAD 映像工具并将其用作独立工具? 这会产生影响吗?

    您有监听器吗? 如果是,您能否监听连接并发送日志文件? 如果没有 、如果您有额外的 LaunchPad、则可以使用数据包监听器。  

    [引用 user="Joe Chang3]"、顺便说一下。 Gabriel 说他的 TI 帐户被锁定没有任何理由。 他很困惑、无法回复该帖子。 您能给他一个帮助吗?[/引述]

    我将检查并返回给您。  

    谢谢、  
    ELIN

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

    您好、Elin、

    我在命令行下使用与 CCS 相同的参数尝试过 oad_image_tool。 并得到相同的结果。

    但我没有记录太多。 我稍后会重试。

    我还将使用 LaunchPad 尝试监听器。 我还将答复结果。

    谢谢、

    Joe

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

    Joe、您好!  

    感谢您不断为我提供最新信息。 只需让男士知道您何时有更新。

    谢谢、  
    ELIN