TI CC1312 LaunchPad

Texas Instruments SimpleLink(TM) CC1312 Wireless MCU LaunchPad(TM) Kit. More...

Detailed Description

Texas Instruments SimpleLink(TM) CC1312 Wireless MCU LaunchPad(TM) Kit.


The LAUNCHXL-CC1312R1 is a Texas Instrument's development kit for the CC1312R1 SoC MCU which combines a Cortex-M4F microcontroller alongside a dedicated Cortex-M0 to control radio.


MCU CC1312R1
Family ARM Cortex-M4F
Vendor Texas Instruments
Flash 352KiB
Frequency 48MHz
FPU yes
Timers 4
ADCs 1x 12-bit (channels)
SPIs 2
I2Cs 1
Vcc 1.8V - 3.8V
Datasheet Datasheet (pdf file)
Reference Manual Reference Manual

Board pinout

The CC1312R Quick Start Guide provides the default pinout for the board.

Flashing and Debugging

The LAUNCHXL-CC1312R1 comes with an XDS110 on-board debug probe that provides programming, flashing and debugging capabilities.

Using TI tools

Installing CCS and Uniflash

The TI's Code Composer Studio provides the necessary tools to use the debug features of the XDS110; Uniflash provides flashing tools. Both programs can be found here:

Before using the XDS110 with the latest CCS/Uniflash versions the firmware for it needs to be updated. Texas Instruments has a guide to correctly update it here.

Setting up the environment

In order to make use of the programming and debugging capabilities of the XDS110 some environment variable needs to be set:

export CCS_PATH=<path to ti install folder>/ti/ccs930
export UNIFLASH_PATH<path to ti install folder>/ti/uniflash_5.2.0

That assumes you have CCS 9.3.0 (for the path name) and Uniflash 5.2.0, adjust accordingly.

After that you can flash using the RIOT make flash command on your application or to debug you first start the debug server:

make debug-server

And then on another terminal you can run:

make debug

It will open GDB and connect to the debug server automatically.


The LAUNCHXL-CC1312R1 provides a reset button but it can also be reset from a computer using the make reset command.

Using OpenOCD

To use OpenOCD with the XDS110 you need to use the an special version of OpenOCD made by TI (upstream version is not yet compatible). You can clone and compile it from source:

# Clone into the openocd-ti folder
git clone https://git.ti.com/cgit/sdo-emu/openocd openocd-ti
# Change directory to the openocd source code
cd openocd-ti/openocd
# Configure, build, install
sudo make install

Setting up the environment

Now that we have the TI version of OpenOCD we need to export the PROGRAMMER environment variable, this is to enable OpenOCD instead of Uniflash.

export PROGRAMMER=openocd

Now we can just do make debug-server and then make debug, this all using OpenOCD.


file  periph_conf.h
 Peripheral MCU configuration for TI CC1312 LaunchPad.