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.

Method to program SensorTag cc2650stk using CC-DEVPACK-DEBUG without a battery

Other Parts Discussed in Thread: CC2650STK

Just discovered something interesting:

From what I read, normally when you plug the cc2650stk into the cc-devpack-debug without a battery and attach the combination via USB, the debugger identifies as a "Tiva Device Firmware Update" USB device (i.e. it is in DFU mode) and can't be used to flash the cc2650stk, This is what mine does at least.   

However, by using xdsdfu tool included with the "XDS Emulation Software Package" (see http://processors.wiki.ti.com/index.php/XDS_Emulation_Software_Package - the tool is in the "ccs_base\common\uscif\xds110" subfolder) I'm able switch the debugger back to runtime mode with the command:

xdsdfu.exe -m -r

Yes, this is a hack, but it has the side effect of switching from DFU to runtime mode. Then the debugger will work to flash device as normal as it will now identify as a "XDS110 with CMSIS-DAP" and I can program and use the cc2650stk, all WITHOUT ever using a battery or even plugging or unplugging the SensorTag. Note, that executing the above command again will put it back into DFU mode.

My cc-devpack-debug is version 1.2.0 the Sensortag cc2650stk is version 1.1.3. I'm using the SmartRF Flash Programmer 2. I did have to update the cc-devpack-debug firmware as described in the post Unable to connect CC2650 Sensor Tag via XDS110.

I would be interested if this works for anyone else :)

  • Hi Arthur,

    Thanks for posting your experience for others to see. It seems that your XDS110 was put into DFU mode, this is why it was appearing as a firmware update device. This is a feature of the XDS110 as the firmware of the device can be updated. Firmware update mode is only for changing the firmware on the debugger, when wanting to program a STK device, you always want to be in runtime mode.
    More info on the debug devpack:
    processors.wiki.ti.com/.../Debug_DevPack_User_Guide
  • Thanks for the speedy reply. I think the XDS110 normally switches to DFU mode when it is connected to USB and a SensorTag cc2650stk without a battery. I've updated my post to indicate that this might be a method for getting around the battery requirement, at least for the earlier hardware revisions.
  • I've notified the team making the Sensor Tag and CC_DEVPACK DEBUG to see if they have any recommendations for you.

  • Thank you, I'd be curious to know if there are any other side effects of doing this. It works fine for me but obviously don't want to damage my hardware or anyone elses! I'm just happy to not have to use lots of CR2032 batteries and plug and unplug stuff every time I want to flash or connect to the board with Debug DevPack.

    It would also be great if the xdsdfu command could be modified to explicitly support switching to runtime mode.

  • Hi Arthur,

    Yes the latest versions can power the SensorTag but when powering the debugger it checks during boot on the level of the TDO pin (I think) to decide if the debugger should go into DFU mode or not. When the SensorTag is not powered the TDO pin on the SensorTag TDO pin is low, that is why you see this issue.

    TI is working to change this behavior so that it will check another pin instead but this should be ready in next version. We are also working to get cJTAG support on the XDS110 debugger so it doesn't conflict any more with other functionality on the SensorTag.

    Meanwhile, manually switching it back into runtime mode should be just fine, thanks for sharing the.

    Regards,
    Svend
  • This works for me, thanks for the tip!
  • I just tested with a CC-DEVPACK-DEBUGGER hardware revision 1.3.0 and this hack is no longer necessary: you can program a SensorTag (hw 1.2) without a battery and without mode switching as the XDS110 device defaults to CMSIS-DAP mode. Thanks for fixing this - it makes development much easier :)