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 while image B is running of cc2640

Part Number: CC2640
Other Parts Discussed in Thread: BLE-STACK,

Hello,

I have performed the OAD of image_B while the oad_target_app (image_A) was running on cc2640.  The OAD of image_B was successful. I made modification in image_B and recompiled. Then I try OAD of the updated img_B. But it was not successful. I tried with BTool and BLE device monitor. The sniffer log shows as following response came from cc2640.

1). Is it not possible to perform OAD of image_B when the imag_B is running on the target? 

2). or  is it only possible to perform OAD (of image_B) when the oad_target_app (image_A) is running on the target?

3). or Whenever i have to perform OAD i have to use reset service to invalidate the image_B? So i can perform OAD of new image_B.

Waiting for your kind help.

Thanks in advance.

  • As explained in the OAD guide it is not possible to update an image over itself. This is why Img_A updates Img_B.

    Also, for on chip OAD, we highly recommend you use CC2640R2F with BLE-Stack v3.0.1 which has more available flash memory for on chip updates.

    Best wishes
  • Hello Mabbas,

    1) No, since ImageB cannot update itself, you must switch to ImageA first before updating Image B
    2) Yes, only ImageA can update image B
    3) Yes you must use the reset service to switch from ImgB back to ImageA

    A lot of this information is covered in the OAD User's Guide that ships alongside the SDK in the /docs folder. You may find this guide very helpful.