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.

[参考译文] CC2640:无法升级芯片OAD上的固件

Guru**** 2558250 points
Other Parts Discussed in Thread: CC2640, CC2540

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/584303/cc2640-unable-to-upgrade-firmware-on-chip-oad

部件号:CC2640
主题: CC2540中讨论的其他部件

您好,

我想在cc2640上启用片上OAD功能。 我使用cc2640作为目标,使用CC2540加密狗作为下载器。

我已遵循以下步骤:

1)建立了oad_target (bim_flashOnly , cc2650lp_app-FlashROM, cc2650lp_stack-FlashROM)

2)运行脚本 merge.bat,它生成了输出文件 oad_target_cc2650lp_unuse.hex。

3)。 通过  i-jet将oad_target_cc2650lp_unuse.hex文件复制到运行cc2640。

4)。 然后 ,我在IAR中打开了simple_peripheral (\examples\cc2650lp\simple_peripher)项目,并选择了cc2650lp_app-FlashOnly" OAD_ImgB

5)。 我构建了项目,并尝试使用BLE设备监视器和CC2540 Dongle升级cc2640上的应用程序。

但我收到了图像被拒绝的错误。 固件版本:n.a

 如何解决该问题,使OAD映像不会被拒绝? 固件版本是否有任何问题? 如果是,我可以在哪里设置它?

等待您的帮助。

此致  

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

    您正在使用哪个BLE堆栈版本? 您是否尝试递增imgVer数?

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

    你好,扎希德,

    感谢您的回复。

    我正在使用BLE 2.2。1。 我在  C/C++编译器选项中插入了OAD_IMAGE_VERSION=2,但无法获得版本号=2。

    然后使用 oad_image_tool.py 使用以下命令生成img_b十六进制文件:

    Python oad_image_tool.py simile_peripheral_cc2650lp_app.thex -v 0x0001 -m 0x0.9万 -i app -t onchip -o img_b.hex

    但当我通过BLE设备监视器尝试OAD时,它仍然不拒绝OAD图像。以下是BLE设备监视器的输出。

    此问题是否由于CRC与CRC-Shdw不匹配而导致? 或者其它问题导致了该问题?

    正在等待您的友好回复。

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

    部件号:CC2640

    您好,

    我正在尝试升级cc2640上的固件。 我使用CC2540加密狗作为下载器,并将cc2640作为目标。 我使用 oad_image_tool.py合并了这些文件 ,并通过i-jet下载到cc2640。

    在cc2640上启用了OAD服务,我可以通过BLE设备监视器进行连接。 然后我构建了cc2650IP_app_FlashOnly" OAD_ImgB,并通过  以下命令使用oad_image_tool更改了版本号:

    Python oad_image_tool.py simile_peripheral_cc2650lp_app.thex -v 1 -i Production -t onchip -o img_b.hex

    以下是命令的输出。

    我通过BLE设备监视器复制了IMG_B,它显示OAD已成功复制。

    但cc2640不再有广告,我无法通过i-jet重新编程,它显示以下错误

    以下是日志输出:

     我也无法擦除内存。 我还附加了sniffer_log,但我无法将其附加到开机自检。

    我无法重新编程和擦除内存的原因是什么? 如何解决这个问题?

    正在等待您的友好回复。

    此致

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

    部件号:CC2640

    您好,  

    我正在尝试使用BLE设备监视器通过OAD下载simple永久应用程序的image_B。 但它不接受image_B,因为新映像的版本与已运行映像的版本相同。

    我试图通过IAR更改版本,方法是在  C/C++编译器选项中插入OAD_IMAGE_VERSION=3预处理程序,但输出图像的版本仍然是img version =0。

    然后,我尝试 使用以下命令通过oad_image_tool.py升级映像版本:

    Python oad_image_tool.py simile_peripheral_cc2650lp_app.tonchip -i app --imgVer 3 -o img_b.hex


    但它仍然提供相同的映像版本(而不是3)。

    请指导您以任何其他正确方式更新image_B的映像版本

    等待您的帮助。

    此致

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

    您似乎正在努力加载,并创建了几个与加载相关的线程。 我已经把它们合并在一起。 通常,最好保持线程压缩,以便获得最佳支持。

    要总结上述线程,您似乎遇到了图像元数据问题。 特别是版本号。

    我建议您按照以下步骤操作: processors.wiki.ti.com/.../CC2640_OAD_User's_Guide

    您可以将CC2540R2 SDK中的OAD Capable BTool与R1设备以及图像工具脚本一起使用。

    请尝试上面链接的维客页面上详述的步骤。