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: Jump from image B to image A before OAD

Part Number: CC2541

Hi,

I'm about to implement OAD on a CC2541.

My plan is to have a minimal ImageA that will have the OAD target profile.

My main application would be ImageB, without the OAD target profile.

My question is, since my device will most likely always be in ImageB, how to start the update process since it doesn't have the OAD target profile?

In other words, what are the steps required to force the device to jump in ImageA to start the OAD process?

I cannot issue a reset because the BMI starts to look at the ImageB and jump in it if it's valid.

So there must be a way to invalidate ImageB and reset to we are guarantied to run in ImageB?

Regards,

Jerome

  • Hi Jerome,

    Just brainstorming, but some initial ideas that come to mind:
    1. Could you overwrite the CRC that is stored with the image with 0's, then do a reset? I think that would make the BIM CRC check fail.
    2. You could always modify the BIM project and add checking for anything you'd like besides just CRC, e.g. another address that you can designate for this to represent forced OAD, or check a GPIO if there's a button you want a user to hold down to force OAD, or something.

    I hope that this helps to give you some ideas.

    Regards,
    Katie
  • Thanks Katie

    Those are all good suggestions, I am just surprise that there's no official way to do this defined by TI.

  • Hi Jerome,

    It sounds like you are trying to do a setup as discussed in OAD_for_CC254x guide processors.wiki.ti.com/.../OAD_for_CC254x.pdf section 8.2 OAD Target Overview, where you have a permanently resident image-A that is an OAD-only image, and then a larger image-B that is your main application and what you will always be wanting to update? I think the standard way to switch active image described in the guide really is to simply invalidate your image and reset. You can see from section 14.7 Completion of OAD Process that this is also what the image containing OAD profile does in order to switch images. You could probably look in the project that implements OAD profile to see how this is done as a reference.

    Regards,
    Katie