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.

[参考译文] CC2640R2F:使用 UniFlash 对生产映像进行编程后、器件无法正常工作

Guru**** 2589265 points
Other Parts Discussed in Thread: CC2640R2F, UNIFLASH

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1108044/cc2640r2f-device-is-not-functional-after-programming-production-image-using-uniflash

器件型号:CC2640R2F
主题中讨论的其他器件: UNIFLASH

我们有一个基于 CC2640R2F 的器件、使用 CCS v10、SDK v5.10.00.02、BLE4堆栈、片外 OAD 开发的固件。  我们需要一个过程来生成将 BIM、堆栈和应用程序组合在一起的单个映像。  我们已按照涉及使用 srec_cat.exe 生成十六进制文件的指令进行操作、但在使用该二进制文件对器件进行编程后、器件无法正常工作。

到目前为止、我们唯一成功的过程是从 CCS 对堆栈进行编程、使用 UniFlash 对组合堆栈和应用.bin 文件进行编程、然后使用 CCS 对 BIM 进行编程。  这是基于早期开发中遵循的一些说明。  在最后一步对 BIM 进行编程后、器件始终复位并开始广播。  由于堆栈包含在第二步编程的.bin 文件中、因此该过程并不完全有意义、但如果我们跳过从 CCS 对堆栈进行编程的第一步、器件将无法正常工作。

使用如下命令创建了结合 BIM、栈和应用程序的.hex 文件:

srec_cat bim_oad_offchip_app_FlashOnly"。hex -英特尔 app_oad_offchip_FlashROM_unsecure_oad.bin -bin -o app_oad_product.hex

...根据此处的说明:

低功耗蓝牙增强无线下载(OAD)(TI.com)

使用 UniFlash 使用该文件对器件进行编程后、器件无法正常工作、无法手动复位。  我们发现、如果我们随后返回并将 CCS 中的堆栈编程到器件上、然后进行手动复位、则它将开始广播并正常工作、包括接收 OTA 更新。

这是否指向创建统一十六进制文件时出现的任何特定问题?  馈送到 srec_cat 工具的.bin 文件适用于 OTA 固件更新、因此它显然有效。  CCS 下载使用.out 文件进行堆栈和 BIM、但我不知道这是相关的。

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

    您好!

    我指派了一名相关专家来帮助您进行查询。

    此致、

    1月

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

    您好!

    感谢您的参与。

    请尝试在不同情况下转储器件的存储器、看看是否可以发现具体差异?

    除其他外、我想知道图像标题是否无效并导致这种行为。 如果是这种情况,则可能是oad_image_tool出现问题的迹象。

    您建议的另一个潜在根本原因可能是 srec_cat、它可能无法正确解释输入文件、放置错误(例如、移动几个扇区)等

    此致、

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

    应该提前考虑一下...

    从 srec_cat 创建的十六进制文件中似乎缺少栈。  在执行编译后处理步骤以生成.bin 文件时、我没有看到任何错误、该文件本应包含应用程序和栈、但需要验证.bin 文件的内容。