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.

[参考译文] CC1310:OAD 失败

Guru**** 2847400 points

Other Parts Discussed in Thread: CC1310, UNIFLASH

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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1635768/cc1310-oad-failed

器件型号: CC1310
Thread 中讨论的其他器件: UNIFLASH

嗨、大家好:

使用两个 CC1310 MCU 测试 OAD 的示例
SDK 版本:Simplelink_cc13x0usdk_4_20-02_07、ti154STACK_LUX_x64_8_30_00_05
我尝试在 Linux 上发送 OAD 请求、但当传感器收到 OAD 请求时、OAD 直接失败、如图所示

image.png

我使用 UART 输出图片中圈出的参数:

oadBlkTot:1920
oadRemainingBytes:0
pValue[hdrOffset + 2]:0x00

pValue[hdrOffset + 3]:0xF0

我的问题应该来自 BIN 文件的生成。 我通过引用自述文件生成了 BIN 文件
1.首先、将 bim_extflash.Hex 和 sensor_oad.Hex 合并为一个十六进制 (python hexmerge.py -o devices_1310.hex “--overlap=error" device_1310.hex“ device_1310.hex bim_1310.hex)
2.将合并的十六进制格式转换为 bin (python oad_image_tool.py -v 0x0200 -t onchip -i 生产设备_1310.hex -ob devices_1310_v0.2.0.bin -m 0x14F0)
但我检查过自述文件很多次,没有找到任何其他方法来生成文件。 可以帮帮我吗? 谢谢你

 

 

 

 

 

 

 

 

 

 

 

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

    您好、Faker、

    这里有三件事要讨论:

    1.在 CC1310 上具有 TI 15.4-Stack 时、我们不支持片上闪存、因为没有足够的闪存、所以只有 bim_offchip (bim_extflash) 工程存在、而是生成片上二进制文件。

    2.您的输入和输出十六进制文件 (devices_1310.hex ) 有相同的文件名,所以它在被读取时被覆盖,可能会发生令人讨厌的东西,你也会丢失你的原始应用程序十六进制。

    3、您正在生成一个 OAD 映像作为 BIM +应用程序、但它只能包含该应用程序。

    相反、应生成如下所示的所需文件:

    首先、生成一个同时包含 BIM 和应用程序的十六进制文件。 使用 UniFlash 将 devices_1310_all.hex 直接刷写到器件中。

    python hexmerge.py -o devices_1310_all.hex "--overlap=error" devices_1310.hex bim_1310.hex
    

    其次、生成 OAD 二进制器件_1310_v.0.2.0.bin、该文件仅包含应用程序。 通过 OAD 刷写该文件。 OAD 二进制文件不能包含 BIM、BIM 无法升级且已存在于嵌入式器件中。

    python oad_image_tool.py -v 0x0200 -t offchip -i app devices_1310.hex -ob devices_1310_v0.2.0.bin -m 0x14F0

    此致、

    Daniel