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.

OAD FW upgrate failed (off-chip and build on CCS)

Other Parts Discussed in Thread: CC2640, CC2650

Hello, 

I followed CC2640 BLE OAD User's Guide to implement OAD function on CC2650, according to chapter 9, I have generated OAD_IMAGE_FULL.hex and BIM_ExtFlash.hex successfully, however, I couldn't download and copy images neither with BLE monitor nor Multitool app on my iPhone 6.

And it always shows "FW upgrade failed, Device did not disconnect after programming as it should. Firmware upgrade failed, you should check battery and settings".

I know it's not the battery problem. Because there is few people discuss the off-chip and CCS built issue, I cannot find any suggest works on mine problem, please help me.

Wei 

  • Hello Wei,

    Do the generated hex files work correctly if you flash them with SmartRF Flash Programmer 2? If this step doesn't work then the OAD process will fail.

    Also, please see the SensorTag User Guide (Wiki) for additions updates for OAD.

    Best wishes
  • Hi Wei,

    In addition to JXS's suggestions, please tell us what example project you are using from our SDK. Please note that the SensorTag project uses a slightly different method of OAD than the other projects. This is explained in the SensorTag User Guide (Wiki) that JXS mentioned.
  • Hi JXS,
    Thanks, I'll retry the whole hex-generating part.

    Best wishes
  • Hi Sean2,

    I use SimpleBLE peripheral as example project to implement OAD(according to CC2640 BLE OAD User's Guide , chap 9).

    Wei
  • Wei,

    Were you sure to set the reset value to 1010 within the .cfg file? Even when using a pre-made configuration you must manually do that step for hexfile generation.
  • Sean2,

    I've already set M3Hwi.resetVectorAddress to 0x00001010 in the appBLE.cfg file, is this what you mean?

    Wei
  • Hi,

    Yes, that is what I mean. What hardware platform are you using? Does the OAD begin downloading and then fail after with the message you provided or does it not begin at all? On BLE device monitor there is an indicator as to how many flash pages you have programmed.

    If the OAD completes, and then the BIM doesn't select it, there are a couple reasons why this could happen: one is a bad CRC on the image you just sent OTA. Look into the BIM source code and see if you cannot catch this case with your debugger.

    In general there are a couple reason OAD will fail:
    1. Image is rejected due to wrong version
    2. image is rejected due to wrong size
    3. image is corrupted OTA and CRC is bad

    There others but the above are common.
  • Sean2,

    I use SmartRF06+CC2650 and OAD failed after download 100%.
    I'll check the reasons with my debugger, thanks.

    Another question, I use SensorTagAO_142-A.bin to upgrade the old firmware,but the application I used is SimpleBLE peripheral, is that okay?

    Thank you for your reply,

    Wei
  • Hi Wei,

    Youre using a sensortag bin file as your application? This will not work as I mentioned above because the sensortag app and the SimpleBLEPeripheral app use a slightly different OAD process. Also you can only OAD images of the same type as your original resident image.
  • Sean2,

    So I have to upgrade with peripheral bin file? I'll try later and tell you the result.

    Wei
  • Wei,

    Yes as you mentioned in your first comment chapter 9 of the users guide explains how to generate files for OAD.
  • Sean2,

    I selected SimpleBLEperipheral.bin to upgrade FW, however it shows message that I cannot use the file.

    Do you have clear indication for upgrading FW with off-chip case? 

    Thanks,

    Wei