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 Manager sees my device but gets no further

Part Number: CC2541
Other Parts Discussed in Thread: CC2540

My code was originally built around the SimpleBLEBroadcaster sample - but I needed to add OAD support, so I switched to the SimpleBLEPeripheral sample.

After a few false starts, I now have code that compiles and links and even broadcasts like it did before.

However, the OAD feature does not seem to work.

First basic question: My code controls advertisements carefully and they are sent out with the "Non-Connectable" flag set.  Is that allowed in an OAD environment?

Assuming that's allowed, here's the rest of the story...

I successfully built the BIM+ImageA and programmed that into my hardware directly.  Then, I created an ImageB .bin with a new (larger) version number and loaded that into the OAD Manager running on a SmartRF05 board.  The LCD shows "OAD Manager" and I can use the joystick to select my device.  However, that's as far as it goes.  When I press the joystick down, the LCD does not change.

Any thoughts?

Thanks.

  • Hi Jim,

    If you are using the SimpleBLEBroadcaster project with non-connectable advertisements, how are you connecting to the OAD Manager to perform the download? Are you switching to a connectable image? The proprietary TI OAD Target Profile only supports OAD during a connection.

    Please review the TI BLE Developer’s Guide for Over Air Download for CC254x for more guidance.

  • Thanks for the response. Some of these details may be obvious to you, but they are not to me.
    Plus, I had a misunderstanding of a post made by one of your fellow Gurus that led me to believe the connectable status was not relevant to OAD.
    I'll start tinkering and see where it gets me.
  • Well, no joy so far...

    I changed my advertising so that it uses GAP_ADTYPE_ADV_IND. I also made sure the contents of the advertising field use the GAP_ADTYPE_FLAGS_GENERAL flag bits. I even changed my service UUID from DEVINFO_ to SIMPLEPROFILE_ to match the SimpleBLEPeripheral example more closely.

    The end result is the same. The OAD Manager behaves itself through step 8 of section 11 in the OAD manual. On step 9, I push the joystick UP and it reports "Discovering...". Then, after ~5 seconds, it says "Devices Found 1" and I can select my device by pressing LEFT. But when I press DOWN, it says "SBL Mode..." and stays that way.

    Questions:
    1) Should the OAD Manager show something on the display immediately when it connects to my device?
    2) How long does a normal download take?

    Also, I just noticed that my firmware looks to be quite large (116,502 bytes of CODE space). Could that be a problem? I'm using a 256KB CC2541.
  • Hi Jim,

    Are you able to complete the Out of Box demo with Simple Peripheral successfully?
  • Thanks. Where can I find the "Out of Box demo"?
  • OK. I think I know what you're talking about now. I pulled out the Quick Start Guide that came with my CC2540 Dev Kit and found that I can't get it to work as expected.

    One board was untouched and when I booted it up, it said "BLE Central". The other board was the one I was using for my tests - so I needed to reprogram it. I built the SimpleBLEPeripheral sample and loaded the CC2541 configuration into it - expecting to see "BLE Peripheral" on the display. But it remains blank.

    I notice that the RF daughter boards have CC2540 chips on them. Do I need to change the settings in the IAR project files? (They seem to be configured for the CC2541).
  • OK. Nevermind. I'm an idiot.

    I'm so used to opening the CC2541 projects - since that's what my hardware uses - that I was opening the wrong SimpleBLE* projects. I've demonstrated to myself that the hardware works OK by going through the Quick Start Guide from the dev kit. In the process, I learned that the joystick is also a push button. I'd missed that detail before - so let me go back to the OAD manager and see if I can get it to behave...

    Stay tuned!
  • Success! I have now downloaded code to my hardware using OAD. Thanks for the help - even if it was just forcing me to RTFM! :-)
  • Hi Jim,

    I'm glad you were able to get your OAD to work! It's always good to go back to the basics to test your setup before tackling a more advanced issue. Please let us know if you run into any more issues.