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 - OAD not working with Android BLE Device Monitor

Seup: Windows7, CC Debugger, Flash Programmer, IAR 9.10, Android 4.4 , USB Dongle BLE, BLE Device Monitor for Android and Windows, KeyFob, SensorTag.

Problem: BLE Device Monitor for Android can't perform OAD of SimpleBLEPeripheral although BLE Device Monitor for CAN perform OAD.

Question 1. IAR: In order to avoid the error "8051 V8.30 linker Error[e16]: Segment ISTACK is too long for segment definition ..."

the file ti_51ew_cc2540b.xcl has been modified as following:

-Z(DATA)VREG+_NR_OF_VIRTUAL_REGISTERS=08-7F was replaced by -Z(DATA)VREG=08-7F

the files cc254x_f256_imgA.xcl and cc254x_f256_imgB.xcl has been modified as following:

-Z(DATA)VREG+_NR_OF_VIRTUAL_REGISTERS=_IDATA_BEG-7F was replaced by -Z(DATA)VREG=08-7F

Is it correct?

Question 2: Why is it possible to perform an OAD of imgB (KeyFob SimpleBLEPeripheral) with  BLE Device Monitor for PC but not possible with  BLE Device Monitor for Android?

However, the OAD of SensorTag (ImgB) works both on Android and PC!!!

How should I fix this problem?

  • Hey,

    I believe the OAD in the Android implementation might be broken. We are working on a new (complete redesign) of the Android app which will be available in a month or so. For now, you can use;

    • Device Monitor from PC (CC2540USB Dongle)
    • OADManager and Serial Boot Tool (CC254x+SmartRF05)
    • TI MultiTool App for iOS devices

    Best Regards

    Joakim