CC26x2R1 LaunchXL¶
Overview¶
The Texas Instruments CC26x2R LaunchPad™ (LAUNCHXL-CC26X2R1) is a development kit for the SimpleLink™ multi-Standard CC2652R wireless MCU.
See the TI CC26x2R LaunchPad Product Page for details.
Hardware¶
The CC26x2R LaunchPad™ development kit features the CC2652R wireless MCU. The board is equipped with two LEDs, two push buttons and BoosterPack connectors for expansion. It also includes an integrated (XDS110) debugger.
The CC2652 wireless MCU has a 48 MHz Arm® Cortex®-M4F SoC and an integrated 2.4 GHz transceiver supporting multiple protocols including Bluetooth® Low Energy and IEEE® 802.15.4.
See the TI CC2652R Product Page for additional details.
Supported Features¶
The CC26x2R LaunchPad board configuration supports the following hardware features:
Interface |
Controller |
Driver/Component |
---|---|---|
GPIO |
on-chip |
gpio |
NVIC |
on-chip |
arch/arm |
PINMUX |
on-chip |
pinmux |
UART |
on-chip |
serial |
I2C |
on-chip |
i2c |
SPI |
on-chip |
spi |
Other hardware features are not supported by the Zephyr kernel.
Connections and IOs¶
All I/O signals are accessible from the BoosterPack connectors. Pin function aligns with the LaunchPad standard.
Pin |
Function |
Usage |
---|---|---|
DIO0 |
GPIO |
|
DIO1 |
GPIO |
|
DIO2 |
UART0_RX |
UART RXD |
DIO3 |
UART0_TX |
UART TXD |
DIO4 |
I2C_MSSCL |
I2C SCL |
DIO5 |
I2C_MSSDA |
I2C SDA |
DIO6 |
GPIO |
Red LED |
DIO7 |
GPIO |
Green LED |
DIO8 |
SSI0_RX |
SPI MISO |
DIO9 |
SSI0_TX |
SPI MOSI |
DIO10 |
SSI0_CLK |
SPI CLK |
DIO11 |
SSIO_CS |
SPI CS |
DIO12 |
GPIO |
|
DIO13 |
GPIO |
Button 1 |
DIO14 |
GPIO |
Button 2 |
DIO15 |
GPIO |
|
DIO16 |
JTAG TDO |
|
DIO17 |
JTAG TDI |
|
DIO18 |
UART0_RTS |
UART RTS / JTAG SWO |
DIO19 |
UART0_CTS |
UART CTS |
DIO20 |
GPIO |
Flash CS |
DIO21 |
GPIO |
|
DIO22 |
GPIO |
|
DIO23 |
AUX_IO |
A0 |
DIO24 |
AUX_IO |
A1 |
DIO25 |
AUX_IO |
A2 |
DIO26 |
AUX_IO |
A3 |
DIO27 |
AUX_IO |
A4 |
DIO28 |
AUX_IO |
A5 |
DIO29 |
AUX_IO |
A6 |
DIO30 |
AUX_IO |
A7 |
Programming and Debugging¶
Before flashing or debugging ensure the RESET, TMS, TCK, TDO, and TDI jumpers are in place. Also place jumpers on the the TXD and RXD signals for a serial console using the XDS110 application serial port.
Prerequisites:¶
Ensure the XDS-110 emulation firmware on the board is updated.
Download and install the latest XDS-110 emulation package.
Follow these xds110 firmware update directions
Note that the emulation package install may place the xdsdfu utility in
<install_dir>/ccs_base/common/uscif/xds110/
.Install OpenOCD
You can obtain OpenOCD by following these installing the latest Zephyr SDK instructions.
After the installation, add the directory containing the OpenOCD executable to your environment’s PATH variable. For example, use this command in Linux:
export PATH=$ZEPHYR_SDK_INSTALL_DIR/sysroots/x86_64-pokysdk-linux/usr/bin/openocd:$PATH
Flashing¶
Applications for the CC26x2R LaunchPad
board configuration can be built and
flashed in the usual way (see Building an Application and
Run an Application for more details).
Here is an example for the Hello World application.
First, run your favorite terminal program to listen for output.
$ screen <tty_device> 115200
Replace <tty_device>
with the port where the XDS110 application
serial device can be found. For example, /dev/ttyACM0
.
Then build and flash the application in the usual way.
# From the root of the zephyr repository
west build -b cc26x2r1_launchxl samples/hello_world
west flash
Debugging¶
You can debug an application in the usual way. Here is an example for the Hello World application.
# From the root of the zephyr repository
west build -b cc26x2r1_launchxl samples/hello_world
west debug
Bootloader¶
The ROM bootloader on CC13x2 and CC26x2 devices is enabled by default. The bootloader will start if there is no valid application image in flash or the so-called backdoor is enabled (via option :kconfig:`CONFIG_CC13X2_CC26X2_BOOTLOADER_BACKDOOR_ENABLE`) and BTN-1 is held down during reset. See the bootloader documentation in chapter 10 of the TI CC13x2 / CC26x2 Technical Reference Manual for additional information.
Power Management and UART¶
System and device power management are supported on this platform, and can be enabled via the standard Kconfig options in Zephyr, such as :kconfig:`CONFIG_PM`, :kconfig:`CONFIG_PM_DEVICE`.
When system power management is turned on (CONFIG_PM=y), sleep state 2 (standby mode) is allowed, and polling is used to retrieve input by calling uart_poll_in(), it is possible for characters to be missed if the system enters standby mode between calls to uart_poll_in(). This is because the UART is inactive while the system is in standby mode. The workaround is to disable sleep state 2 while polling:
pm_constraint_set(PM_STATE_STANDBY);
<code that calls uart_poll_in() and expects input at any point in time>
pm_constraint_release(PM_STATE_STANDBY);
References¶
- CC26X2R1 LaunchPad Quick Start Guide: