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.

BLE OAD using SensorTag iOS app

Other Parts Discussed in Thread: CC2640

Hi,

I'm working on OAD upgrade feature.

I modified the SimpleBLEPeripheral app (+BIM + stack) in order to adapt it to a custom product based on CC2640.

On the downloader side I used BLEDeviceMonitor + CC2540USB dongle and I could upgrade the firmware with success.

Now I want to perform the upgrade using the SensorTag app on my iPhone.

My custom tag is detected by the app, and I can establish a connection between them. 

When I select the "FW Download" menu item I am asked to Select the FW File that I want to use for the OAD.

When I select a *.bin file i always get this error:

"Wrong image type! Image that was selected was of type : B, which is the same as on the peripheral, please select another image"

I tried with a lot of different bin files, obtaining always the same result.

These have been my attempts:

- *.bin file of peripheral app (the one I used with success using BLE Device Monitor)

- 128KB *.bin file containing all the internal flash content (I obtained this file reading to file the entire flash memory with FlashProgrammer SW)

- 124KB *.bin file containing all but BIM (from page 0 to page 30)

- 124KB *.bin file containing all but IntVec (from page 1 to page 31)

My first choice was to use the same file used (with success) with the previous environment (BLE Device Monitor + CC2540USB dongle) and when I saw that it didn't work I looked for some docs and surfed this forum; then I learned that the OAD characteristics of SensorTag are different, and that I have to use an image containing both BIM, application and Stack...but still it doesn't work.

First of all: does it exist any documentation about how the SensorTag app OAD works? Why does it require even the BIM? What kind of *bin image have I to build?

Thanks for your help.

Luca

  • Related to the question above: am I wrong for the peripheral side?
    Is it correct to use the OAD feature from SensorTagApp over a device with BIM+Application+Stack built in accordance to "TI CC2640 Bluetooth® low energy OAD User’s Guide"?
    Maybe I'm looking in the wrong direction...
  • Hello,

    The Sensortag iOS/Android apps do not support the OAD procedure documented in the CC2640 BLE OAD User's Guide; they support the SensorTag only. You can modify the app source or use BLE Device Monitor.

    Best wishes
  • Thank you for your reply,
    where can I find documentation about this stuffs?

    I thought also to start from SensorTag CCS example project, instead of SimpleBLEPeripheral: what are the steps, if any, that I have to follow if I want to let Sensortag application be OAD compatible?

    Regards,
    Luca
  • Hi Luca,

    The SensorTag project uses a legacy version of OAD. Therefore, it is different than the OAD method described in TI CC2640 Bluetooth® low energy OAD User’s Guide which will describe the "safe" OAD method that is adopted by all other projects in the BLE SDK. (i.e. SimpleBLEPeripheral)


    The SensorTag OAD method is described here:
    processors.wiki.ti.com/.../CC2650_SensorTag_User's_Guide

    I recommend using the "safe" OAD method and BLE Device Monitor for now. As JXS mentioned, the mobile apps only support the SensorTag OAD flavor, however it is the plan for all BLE devices to align on the "safe" OAD in the near future.
  • Great.

    When is it supposed to be released the new version of mobile App with the "safe" OAD?

  • Hi Sean,

    even if the legacy OAD method is less safe than the new one, I would try to adapt my custom application in order to let it work with update from iOS.

    When I run the sensortag app I can see my device, and I can bond it.

    After entering the "SensorView" item I can select the "FW Download->Select FW File" function and see the list of available images.

    Some images are greyed (but I can force their choice with "Program anyway"), and some others are checkmarked, but for any of them I get the same error:

    "Wrong image type! Image that was selected was of type : B, which is the same as on the peripheral, please select another image"

    Could you please help me understanding what kind of check is made by the iOS app on those images? What have I to do in order to build a correct image?

    Thanks for your support,

    Luca

  • Hi Luca,

    We have an existing thread regarding these issues/questions about the mobile apps.
    e2e.ti.com/.../496349

    I have notified the mobile developers. They will be following up on the above thread.