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.

How to invoke OAD in the other image.

Other Parts Discussed in Thread: BLE-STACK

According to "BLE Developer’s Guide for Over-the-Air Download for CC254x":

"The other advantage of having a permanently resident Image-A which only implements the BLE-stack and OAD Target Profile is that the final customer’s Image-B does not have to include the OAD Target Profile at all, saving flash size"

But I haven't found any documentation on how to trigger the OAD from the image that doesn't have the target OAD profile. For example, say I am running in Image B and want to do a OAD. The OAD Target profile is only in Image A but I am in Image B. How do I do that?

Thanks,

  • Hello. The solution is to jump to image A (OAD-only image) and perform the OAD of image B. One way of performing this jump is by invalidating Image B's CRC/CRC-shadow mechanism by writing all 0xFF'x to the CRC-shadow and then doing a device reset. This should cause the BIM to jump to image A since image B will not be valid. There is an example of this at the following wiki link:

    http://processors.wiki.ti.com/index.php/BLE_Large_Image_OAD

    Note that this is for the 1.3 release but the same concepts should apply for 1.4.0.
  • I have been trying this example. I have tried it with both the 1.3 and 1.4 BLE stack. However, there seems to be something specific to version 1.3.2 of the stack and I can't find that anywhere. Can you make it available?