How do I program devices with a firmware?
Once we have compiled the source code with the SDK we will have a binary file. This binary file needs to be programmed into the CPU on the hardware before we can run it. This post goes through how to perform this programming on two different hardware setups.
Generally speaking, we need a JTAG to program the devices. This is hardware made for programming and debugging purposes. You can find and use JTAG on TI Launchpad (cc1310, cc1350, cc2650) and TI SmartRF06EBK boards. These can be used to program other hardware targets (eg TI sensortag) by using the 10-pin small ARM JTAG cable.
SmartRF Flash programmer 2 from Texas Instruments. Note, there are two Flash programmer applications, use
Flash programmer 2. This installs the drivers for the Launchpad as well.
Program a CC13xx or CC26xx target
For this example, we will program a TI Launchpad. All the TI Launchpads with CC1310, CC1350, or CC2650 are flashed in the same way. To use the JTAG of a Launchpad to program a target on another PCBA, unmount the headers and connect as shown in the section below.
Flash programmer 2, plug in a Launchpad with a USB cable.
It should show up in the
Flash programmer 2 interface. In the pane on the left, there will be an item called
XDS110, XDS-L20000QI. Direcly under that it will say
CC1310. If not, try rebooting the computer and/or removing and re-inserting the Launchpad. Click on the
Flash programmer 2 says that the debug interface is locked, you need to run a
force erase command. Click the large wrench-icon in the top right corner of the
Flash programmer 2 interface. Click the
Force erase corresponding to the device you have connected (cc13xx/cc26xx).
- Set the binary to program: click
Browseand navigate to the binary file. It will have the extension
.bin. For cc1310/cc1350/cc2650 it will be 128 kB.
- Set up the flash address: for cc1310/cc1350/cc2650 it should read
- Set up actions: we want to erase, program, and verify the device. Make sure all three checkboxes are ticked and set according to the picture.
- Press the large Play button to start the process.
Flash programmer 2 fails, then simply try again. It may take a 2-3 tries.
If that doesn't help, try changing USB cable to the Launchpad.
If you are using a USB hub, try removing that and connect directly to the computer.
If you have peripherals connected to the Launchpad, such as external sensors or LEDs or such, try removing those since the extra power draw may make the flashing unstable. It takes a relatively large amount of power to erase and write to flash.
Ensure the JTAG cable, if used, is seated correctly and in the right orientation.
Ensure JTAG jumpers are mounted, or unmounted, depending on whether you are programming an external target or not.