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.

CC2541 OAD cannot reset from Image B after loading of Image A

Other Parts Discussed in Thread: CC2540

I try to use OAD feature, but I found one issue. My steps are:
1. First I make a big hex file consist of BIM + imgA + imgB,

2. I load firmware (with version 0) into device.

3. Open BLE Device Monitor for OAD. Find my device and enable OAD.

4. It shows me that imgB is active, I choose imgA.bin firmware (with version 1) to load device and it goes well. But then it 100% all is stuck. It preserves the connection and do not resets. If I reset it manually the firmware will be old.

----------------------------------------------------------------------

I discovered why it's happening with debbuger, but I don't know how to solve it:

By some reason CRC and CRC shadow are different, so bootloader never resets here:

Any ideas why this is happening? I using IAR 8.30.3 and BLE stack 1.4. For OAD manager I used CC2540 USB Dongle. Target device based on CC2541F256.

Also I can add, that then I made a file with BIM + imgA, load it into the device, and try to program with OAD imgB everything is fine, it's resets and starts a new imgB firmware. But after that all the same, it cannot load imgA.

  • It's seems to me that I'm converting .hex -> .bin not correctly a little. I'm not using the script from TI that merges hex files or converts .sim file to .bin. I used some popular utilities for that. Because I had some windows problem with script cc254x_ubl_pp.js and if someone will obstacle with similar problem, the solution will be to register windows libraries manually with command line:

    For x32 XP systems:

    1. regsvr32 %systemroot%\system32\vbscript.dll
    2. regsvr32 %systemroot%\system32\jscript.dll
    3. regsvr32 %systemroot%\system32\dispex.dll
    4. regsvr32 %systemroot%\system32\scrobj.dll
    5. regsvr32 %systemroot%\system32\scrrun.dll
    6. regsvr32 %systemroot%\system32\wshext.dll
    7. regsvr32 %systemroot%\system32\wshom.ocx
  • Hi,

    i am not sure, may be my suggestion will help you. after finished of OAD, just turn off and turn on your IPHONE or IPAD. your image name will be upload. 

    I dont know why its happening? but i facing same problem. i am continuing in this method only. its helping me. please check it.

    If you find any other method please update.

    Thank you,

    MANO MM

  • Hi,

    I'm using CC2540 USB Dongle for OAD now, working with iPhone will be the next step. I'm checking now TI tools for converting .hex & .sim files, may be something wrong with imgA when I converting .hex to .bin, because as I saw an imgA is build in more complicated way then imgB.

    Regards

  • I finally solved a problem and now OAD is working fine. As I said there was some problem in converting .hex file to .bin. Now I'm using TI tool but only by my own way and everything fine.

  • Hi,

    can you please share how do you convert hex to bin in your own way ? I seem to be facing the same problem with Image B to working.