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: imgA and imgB



I'm not an OAD & IAR expert...

I have sucessfully applied the procedure described end of this message to allow OAD but I have some questions:

1. What is the difference between imgA and imgB ?

I would like to share multiple firmware images with the SensorTag app (waiting using my own app) and I do not know if I need to compile the bin file with imgA or imgB configuration ?

Example:

0. Tag is originaly installed with imgA

1. I drop in iTunes 2 firmwares (firm1.bin and firm2.bin, both using imgB configuration)

2.Using the Sensor tag, I upload firm1.bin

3. Is it possible after installing firm1 to upload firm2.bin ? (because both are compiled with imgB configuration)

Procedure (from this forum)

1. Use SmartRF flash programmer to erase+program+verify the BIM hex file (compile Projects\ble\util\BIM\cc254x)
2. In IAR open SimpleBLEPeripheral, select the OAD ImgA build settings, then press ALT+F7, go to Linker. Under output, rename the file to .hex, and choose Other->intel extended. Compile.
3. Program this hex file to the device using SmartRF flash programmer using append+verify.
4. You should now be able to program .bin files to this device over the air. Make sure that you program ImgB if imgA is running and vice versa.

  • Hello,

    I assume you are referring to the two different projects in the BLE 1.3 SensorTag project of IAR.

    CC2541DK-Sensor-OAD-ImgA
    CC2541DK-Sensor-OAD-ImgB

    There are some difference to the placement of these images in flash.

    Are you also using the OAD Manager

    LPRF Rocks the World 

  • Hello,

    Yes, I'm  referring to the SimpleBlePeripheral project with OAD support in BLE1.3.

    It is working with the TI instructions (I can change the SimpleBlePeripheral ImgB from the SensorTag iPhone applicaiton)

    My question was:

    How to have a unique firmware able to be imgA and imgB in the same time ?

    When upgrading a firmware, people does not know if their current firmware is imgA or imgB and I would like to avoid to deliver the same firmware with imgA and imgB format.

    Can someone explain how to manage that ?

    Regards,

    Fred

  • Hi Fred,

    One firmware image (.bin) can only be A or B at one time. This is because it's linked to run from a specific place in the Flash. You can detect which image is running and upload the correct one. If you try to upload the wrong one, it won't be written to flash anyway.

    See this thread for how to detect which image is running. Note that e.g. TI BLE SensorTag App 2.1 detects which image is running.

    Best regards,
    Aslak 

  • Tx, for the info.

    So, can you please confirm that 2 versions (imgA and imgB) needs to be available when we want to propose a firmware update to a user (in case user is currently using imgA or imgB or the previous version).

    Fred

  • I want to support Over The Air Firmup function of CC2541 Keyfob.

    According to 《OAD_for_CC254x.pdf》document, I can't produce the binary file(. bin file).

    on page 11 of 《OAD_for_CC254x.pdf》

    "If this is your first time building with simple-code (.sim) output, you will have to build the project twice for the binary file to be produced."

    But I have builded twice,still  didn't get the  binary file.

    My IAR Version is :

    Can you advice how to produce the binary file?

  • I know it's a bit late on this post so maybe you've already figured this out. However, I just ran into this same problem tonight and was able to resolve it. Things you should check for if your .bin output isn't getting created:

    1.) Make sure the .sim file is in the output directory

    2.) Make sure you have the correct post-build command entered in and all the paths are correct. If paths aren't correct, you'll likely get a JavaScript error message

    3.) Don't use Rebuild All since this does a clean first. Instead, make a change in one of the source files and then change it back so you can use Make again and it won't tell you the configuration is already up-to-date

    4.) If necessary, go into the .js file which is in the folder with the .bat file being called in the post-build event and add some alert commands to see what the parameters are to help you determine what's going wrong

     

    Hope this is helpful to somebody.

     

    David

  • Thank you David. The information you posted was very helpful for me this week.