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 Device Monitor App no Scroll down option for "OAD Start" & Error : "OAD Image rejected"

Other Parts Discussed in Thread: CC2640, CC2650STK, BLE-STACK, CC2650

Hi All,

To start with there seems to be a bug in latest BLE Device Monitor App that there is no scroll down option to get to "Start" button below OAD Progress box. I got over this issue by flipping the screen to horizontal and it was very annoying.

Apart from that, i guess i am missing something as the OAD image is rejected as shown following logs.

#############################
Host: COM18 115200 baud no flowc.
15:10:20.491 > HCI_Ext_Build_Revision: status=00 Rev=44615
15:10:20.492 > BLE Host TI BLE 2.2.1 CC2640
15:10:20.513 > HCI_Ext_Reset_System: status=00
15:10:21.022 > GAP Device Init Done
15:10:21.023 > BLE Host initialized
15:10:21.025 > Scan request ...
15:10:21.117 > GAP Device Information: status=0 type=0x00 [len=7]
15:10:21.123 > MAC address (ind. adv): 0A:D0:AD:0A:D0:AD
15:10:21.124 > Scan resp: ad=0x01 len=2
15:10:21.125 > Scan resp: ad=0x02 len=3
15:10:21.125 > GAP Device Information: status=0 type=0x04 [len=21]
15:10:21.126 > Device found: OAD_TARGET
15:10:21.128 > Scan resp: ad=0x12 len=5
15:10:21.128 > Scan resp: ad=0x0a len=2
15:10:21.130 > MAC address (scan. resp): 0A:D0:AD:0A:D0:AD
15:10:31.164 > Scan cancel request ...
15:10:31.182 > Scan finished [10.156 sec]
15:10:31.184 > GAP Device Discovery: 0 device(s), status=0x30
15:10:32.962 > Connect request
15:10:33.085 > Gap Link Established: h=0 CI=1544 SL=0 TO=59392
15:10:33.086 > OAD_TARGET connected
15:10:33.135 > Service discovery started
15:10:33.165 > ReadByGrpTypeRsp: st=0 n=13
15:10:33.181 > ReadByGrpTypeRsp: st=0 n=21
15:10:33.181 > ReadByGrpTypeRsp: st=26 n=0
15:10:33.181 > Primary Service Discovery done [0.49 sec]
15:10:33.182 > Characteristic description discovery started
15:10:33.224 > FindInfoRsp: st=0 n=21 fmt=1
15:10:33.231 > FindInfoRsp: st=0 n=21 fmt=1
15:10:33.232 > FindInfoRsp: st=0 n=19 fmt=2
15:10:33.245 > FindInfoRsp: st=0 n=13 fmt=1
15:10:33.261 > FindInfoRsp: st=0 n=19 fmt=2
15:10:33.277 > FindInfoRsp: st=0 n=13 fmt=1
15:10:33.293 > FindInfoRsp: st=0 n=19 fmt=2
15:10:33.309 > FindInfoRsp: st=0 n=5 fmt=1
15:10:33.325 > FindInfoRsp: st=26 n=0 fmt=1
15:10:33.325 > Characteristic Description Discovery done [0.143] sec
15:10:33.327 > Characteristic discovery started
15:10:33.357 > ReadyByTypeResp: st=0 n=22
15:10:33.373 > ReadyByTypeResp: st=0 n=22
15:10:33.389 > ReadyByTypeResp: st=0 n=22
15:10:33.405 > ReadyByTypeResp: st=0 n=22
15:10:33.421 > ReadyByTypeResp: st=26 n=0
15:10:33.422 > Characteristic Discovery done [0.95] sec
15:10:33.423 > OAD support detected
15:10:33.435 > WriteChar.[2902]: v=0001 
15:10:33.635 > WriteChar.[2902]: v=0001 
15:10:33.857 > Get Device Information
15:10:33.914 > WriteRsp[2902]: st=0 n=0
15:10:33.921 > WriteRsp[2902]: st=0 n=0
15:10:39.166 > GAP Link Param Update: 0 0 800 0 1000
15:10:39.167 > Connection parameters updated
15:10:40.805 > Binary snapshot: C:/Program Files/Texas Instruments/SmartRF Tools/BLE Device Monitor/firmware/cc26xx/launchpad/CC2650LaunchPad_BLE_App_LCD_v0_90_BAK.bin
15:12:22.248 > WriteChar.[FFC1,16]: 9A 73 FF FF 00 00 44 28 45 45 45 45 00 00 01 FF
15:12:22.249 > OAD started
15:12:24.150 > WriteRsp[FFC1]: st=0 n=0
15:12:24.151 > Notif.[FFC1]: st=0 n=8 00 00 80 16 41 41 41 41
15:12:24.152 > OAD image rejected
15:15:31.476 > Binary snapshot: C:/Users/Aditya/AppData/Roaming/Skype/My Skype Received Files/SimpleBLEPeripheralAppFlashROM_BAK.bin
15:16:41.466 > WriteChar.[FFC1,16]: 01 00 00 2C 42 42 42 42 45 45 45 45 00 00 01 FF
15:16:41.468 > OAD started
15:16:43.146 > WriteRsp[FFC1]: st=0 n=0
15:16:43.147 > Notif.[FFC1]: st=0 n=8 00 00 80 16 41 41 41 41
15:16:43.147 > OAD image rejected
#############################

Please let me know your inputs. I tried to OAD images and none worked.

Thanks

Brajesh

  • yes Chen thanks for the help, but I'm still stuck at the same point. Can't download any OAD image to target app.

    Instead of using OAD Target App, i used CC2640_Sensortag.hex as you suggested but that gives error after connection as "OAD not possible: external flash failed".

    Please comment on the same.

    Thanks
    Brajesh
  • Maybe try to download C:\Program Files (x86)\Texas Instruments\SmartRF Tools\BLE Device Monitor\firmware\cc26xx\sensortag\CC2650SensorTag_BLE_All_v1_21.hex to your CC2650STK with Flash Programmer 2 and do OAD again.
  • Hi Chen

    Yes same result after flashing CC2650STK with C:\Program Files (x86)\Texas Instruments\SmartRF Tools\BLE Device Monitor\firmware\cc26xx\sensortag\CC2650SensorTag_BLE_All_v1_21.hex using Flash Programmer 2.
    When we connect using BLE Device Monitor i get following logs.
    ########################################
    17:18:08.042 > Power-on self test: 00
    17:18:08.042 > IR Temp sensor FAILED
    17:18:08.043 > Humidity sensor FAILED
    17:18:08.043 > Optical sensor FAILED
    17:18:08.043 > Pressure sensor FAILED
    17:18:08.043 > Gyro/Accel FAILED
    17:18:08.043 > Magnetometer FAILED
    17:18:08.044 > External Flash FAILED
    17:18:08.330 > OAD support detected
    17:18:08.330 > OAD not possible: external flash failed
    17:18:09.896 > Get Device Information
    17:18:09.897 > ReadChar[2A26]
    17:18:09.971 > ReadResp[2A26]: st=0 n=18, 31 2E 32 32 20 28 4A 61 6E 20 31 35 20 32 30 31 36 29
    17:18:09.972 > Firmware: 1.22 (Jan 15 2016)
    ########################################

    & i don't see any option of OAD there after.

    Thanks
    Brajesh
  • How do you power CC2650STK? CR2032?
  • Hi Chen,

    CC2650STK is powered by USB as shown in following pic.

  • This HW is CC2650DK not CC2650STK. You can't run OAD of SensorTag on it.
  • Oh I see. But OAD target App shall work on this , right ?
    Why OAD Target App gives error "OAD image rejected"

    Can you suggest an example Application which can be flashed on this target device for OAD.

    Thanks
    Brajesh
  • There's no external flash on CC2650DK so it would report this error.
  • yes Now i understand that
    But my end target Custom device also doesn't have external flash. We are targeting on chip OAD.

    Can you suggest an OAD Target application for On Chip OAD.
    We are using example OAD Target application which gives error "OAD Image rejected" while doing OAD.

    Please give your suggestions.

    Thanks
    Brajesh
  • Internal flash is not enough for OAD. You have to use external flash to do OAD.
  • Hi Brajesh,

    I would suggest reading the OAD User's Guide which is included in the Documents folder of the BLE-Stack SDK. Specifically if you are targeting on chip OAD then you should focus on this section.

    In summary, the OAD target image is meant to be permanently resident on the device (flashed on by the debugger and never updated). You should then follow the steps outlined in the guide to prepare an image such as SimpleBLEPeripheral as an OAD image B, and feed this into BLE device monitor.
  • Hi Sean,

    Thanks for the suggestions and I have gone through the on chip OAD section in User Guide.

    I have followed the required steps for OAD Target App image and flashed it on target device  also I prepared  simple ble Peripheral example application for image B but it gives me error "OAD image rejected" in BLE device Monitor app.

    Can you suggest what I might be missing here.

    Thanks

    Brajesh

  • Hi All,

    There is some progress on On-chip OAD using CC2650 Dev Kit. 

    Image B has been downloaded to the target device. But once download is complete, there is no logs at all after that. 

    There is no board reset and No new Image B boot. Can you please suggest whats this about ?

    Thanks

    Brajesh

  • Also to report the changes i made to get over the issue of "OAD Image rejected" is that i had to change the connection interval to 1ms.

    I hope this might help guys facing similar issue.

    Thanks
    Brajesh
  • Excuse me!!!!!could I ask how to change the interval ???
    I see the code in simplebleperipheral.c:
    #ifndef FEATURE_OAD
    // Minimum connection interval (units of 1.25ms, 80=100ms) if automatic
    // parameter update request is enabled
    #define DEFAULT_DESIRED_MIN_CONN_INTERVAL 80

    // Maximum connection interval (units of 1.25ms, 800=1000ms) if automatic
    // parameter updatee request is enabled
    #define DEFAULT_DESIRED_MAX_CONN_INTERVAL 800
    #else
    // Minimum connection interval (units of 1.25ms, 8=10ms) if automatic
    // parameter update request is enabled
    #define DEFAULT_DESIRED_MIN_CONN_INTERVAL 8

    // Maximum connection interval (units of 1.25ms, 8=10ms) if automatic
    // parameter update request is enabled
    #define DEFAULT_DESIRED_MAX_CONN_INTERVAL 8
    #endif // FEATURE_OAD

    // Slave latency to use if automatic parameter update request is enabled
    #define DEFAULT_DESIRED_SLAVE_LATENCY 0

    // Supervision timeout value (units of 10ms, 1000=10s) if automatic parameter
    // update request is enabled
    #define DEFAULT_DESIRED_CONN_TIMEOUT 1000
    Should I change this?hope for your response,thanks a lot.
  • Could I ask how to change the connection interval,thanks a lot.