1.. _cc26x2r1_launchxl: 2 3CC26x2R1 LaunchXL 4################# 5 6Overview 7******** 8 9The Texas Instruments CC26x2R LaunchPad |trade| (LAUNCHXL-CC26X2R1) is a 10development kit for the SimpleLink |trade| multi-Standard CC2652R wireless MCU. 11 12See the `TI CC26x2R LaunchPad Product Page`_ for details. 13 14.. figure:: img/cc26x2r1_launchxl.jpg 15 :align: center 16 :alt: TI CC26x2R LaunchPad 17 18 Texas Instruments CC26x2R LaunchPad |trade| 19 20Hardware 21******** 22 23The CC26x2R LaunchPad |trade| development kit features the CC2652R wireless MCU. 24The board is equipped with two LEDs, two push buttons and BoosterPack connectors 25for expansion. It also includes an integrated (XDS110) debugger. 26 27The CC2652 wireless MCU has a 48 MHz Arm |reg| Cortex |reg|-M4F SoC and an 28integrated 2.4 GHz transceiver supporting multiple protocols including Bluetooth 29|reg| Low Energy and IEEE |reg| 802.15.4. 30 31See the `TI CC2652R Product Page`_ for additional details. 32 33Supported Features 34================== 35 36The CC26x2R LaunchPad board configuration supports the following hardware 37features: 38 39+-----------+------------+----------------------+ 40| Interface | Controller | Driver/Component | 41+===========+============+======================+ 42| GPIO | on-chip | gpio | 43+-----------+------------+----------------------+ 44| MPU | on-chip | arch/arm | 45+-----------+------------+----------------------+ 46| NVIC | on-chip | arch/arm | 47+-----------+------------+----------------------+ 48| PINMUX | on-chip | pinmux | 49+-----------+------------+----------------------+ 50| UART | on-chip | serial | 51+-----------+------------+----------------------+ 52| I2C | on-chip | i2c | 53+-----------+------------+----------------------+ 54| SPI | on-chip | spi | 55+-----------+------------+----------------------+ 56| WDT | on-chip | watchdog | 57+-----------+------------+----------------------+ 58| AUX_ADC | on-chip | adc | 59+-----------+------------+----------------------+ 60| HWINFO | on-chip | hwinfo | 61+-----------+------------+----------------------+ 62 63Other hardware features have not been enabled yet for this board. 64 65Connections and IOs 66=================== 67 68All I/O signals are accessible from the BoosterPack connectors. Pin function 69aligns with the LaunchPad standard. 70 71+-------+-----------+---------------------+ 72| Pin | Function | Usage | 73+=======+===========+=====================+ 74| DIO0 | GPIO | | 75+-------+-----------+---------------------+ 76| DIO1 | GPIO | | 77+-------+-----------+---------------------+ 78| DIO2 | UART0_RX | UART RXD | 79+-------+-----------+---------------------+ 80| DIO3 | UART0_TX | UART TXD | 81+-------+-----------+---------------------+ 82| DIO4 | I2C_MSSCL | I2C SCL | 83+-------+-----------+---------------------+ 84| DIO5 | I2C_MSSDA | I2C SDA | 85+-------+-----------+---------------------+ 86| DIO6 | GPIO | Red LED | 87+-------+-----------+---------------------+ 88| DIO7 | GPIO | Green LED | 89+-------+-----------+---------------------+ 90| DIO8 | SSI0_RX | SPI MISO | 91+-------+-----------+---------------------+ 92| DIO9 | SSI0_TX | SPI MOSI | 93+-------+-----------+---------------------+ 94| DIO10 | SSI0_CLK | SPI CLK | 95+-------+-----------+---------------------+ 96| DIO11 | SSIO_CS | SPI CS | 97+-------+-----------+---------------------+ 98| DIO12 | GPIO | | 99+-------+-----------+---------------------+ 100| DIO13 | GPIO | Button 1 | 101+-------+-----------+---------------------+ 102| DIO14 | GPIO | Button 2 | 103+-------+-----------+---------------------+ 104| DIO15 | GPIO | | 105+-------+-----------+---------------------+ 106| DIO16 | | JTAG TDO | 107+-------+-----------+---------------------+ 108| DIO17 | | JTAG TDI | 109+-------+-----------+---------------------+ 110| DIO18 | UART0_RTS | UART RTS / JTAG SWO | 111+-------+-----------+---------------------+ 112| DIO19 | UART0_CTS | UART CTS | 113+-------+-----------+---------------------+ 114| DIO20 | GPIO | Flash CS | 115+-------+-----------+---------------------+ 116| DIO21 | GPIO | | 117+-------+-----------+---------------------+ 118| DIO22 | GPIO | | 119+-------+-----------+---------------------+ 120| DIO23 | AUX_IO | A0 | 121+-------+-----------+---------------------+ 122| DIO24 | AUX_IO | A1 | 123+-------+-----------+---------------------+ 124| DIO25 | AUX_IO | A2 | 125+-------+-----------+---------------------+ 126| DIO26 | AUX_IO | A3 | 127+-------+-----------+---------------------+ 128| DIO27 | AUX_IO | A4 | 129+-------+-----------+---------------------+ 130| DIO28 | AUX_IO | A5 | 131+-------+-----------+---------------------+ 132| DIO29 | AUX_IO | A6 | 133+-------+-----------+---------------------+ 134| DIO30 | AUX_IO | A7 | 135+-------+-----------+---------------------+ 136 137Programming and Debugging 138************************* 139 140Before flashing or debugging ensure the RESET, TMS, TCK, TDO, and TDI jumpers 141are in place. Also place jumpers on the the TXD and RXD signals for a serial 142console using the XDS110 application serial port. 143 144Prerequisites: 145============== 146 147#. Ensure the XDS-110 emulation firmware on the board is updated. 148 149 Download and install the latest `XDS-110 emulation package`_. 150 151 Follow these `xds110 firmware update directions 152 <http://software-dl.ti.com/ccs/esd/documents/xdsdebugprobes/emu_xds110.html#updating-the-xds110-firmware>`_ 153 154 Note that the emulation package install may place the xdsdfu utility 155 in ``<install_dir>/ccs_base/common/uscif/xds110/``. 156 157#. Install OpenOCD 158 159 You can obtain OpenOCD by following these 160 :ref:`installing the latest Zephyr SDK instructions <toolchain_zephyr_sdk>`. 161 162 After the installation, add the directory containing the OpenOCD executable 163 to your environment's PATH variable. For example, use this command in Linux: 164 165 .. code-block:: console 166 167 export PATH=$ZEPHYR_SDK_INSTALL_DIR/sysroots/x86_64-pokysdk-linux/usr/bin/openocd:$PATH 168 169Flashing 170======== 171 172Applications for the ``CC26x2R LaunchPad`` board configuration can be built and 173flashed in the usual way (see :ref:`build_an_application` and 174:ref:`application_run` for more details). 175 176Here is an example for the :ref:`hello_world` application. 177 178First, run your favorite terminal program to listen for output. 179 180.. code-block:: console 181 182 $ screen <tty_device> 115200 183 184Replace :code:`<tty_device>` with the port where the XDS110 application 185serial device can be found. For example, :code:`/dev/ttyACM0`. 186 187Then build and flash the application in the usual way. 188 189.. zephyr-app-commands:: 190 :zephyr-app: samples/hello_world 191 :board: cc26x2r1_launchxl 192 :goals: build flash 193 194Debugging 195========= 196 197You can debug an application in the usual way. Here is an example for the 198:ref:`hello_world` application. 199 200.. zephyr-app-commands:: 201 :zephyr-app: samples/hello_world 202 :board: cc26x2r1_launchxl 203 :maybe-skip-config: 204 :goals: debug 205 206Bootloader 207========== 208 209The ROM bootloader on CC13x2 and CC26x2 devices is enabled by default. The 210bootloader will start if there is no valid application image in flash or the 211so-called backdoor is enabled (via option 212:kconfig:option:`CONFIG_CC13X2_CC26X2_BOOTLOADER_BACKDOOR_ENABLE`) and BTN-1 is held 213down during reset. See the bootloader documentation in chapter 10 of the `TI 214CC13x2 / CC26x2 Technical Reference Manual`_ for additional information. 215 216Power Management and UART 217========================= 218 219System and device power management are supported on this platform, and 220can be enabled via the standard Kconfig options in Zephyr, such as 221:kconfig:option:`CONFIG_PM`, :kconfig:option:`CONFIG_PM_DEVICE`. 222 223When system power management is turned on (CONFIG_PM=y), 224sleep state 2 (standby mode) is allowed, and polling is used to retrieve input 225by calling uart_poll_in(), it is possible for characters to be missed if the 226system enters standby mode between calls to uart_poll_in(). This is because 227the UART is inactive while the system is in standby mode. The workaround is to 228disable sleep state 2 while polling: 229 230.. code-block:: c 231 232 pm_policy_state_lock_get(PM_STATE_STANDBY, PM_ALL_SUBSTATES); 233 <code that calls uart_poll_in() and expects input at any point in time> 234 pm_policy_state_lock_put(PM_STATE_STANDBY, PM_ALL_SUBSTATES); 235 236 237References 238********** 239 240CC26X2R1 LaunchPad Quick Start Guide: 241 http://www.ti.com/lit/pdf/swru528 242 243.. _TI CC26x2R LaunchPad Product Page: 244 http://www.ti.com/tool/launchxl-cc26x2r1 245 246.. _TI CC2652R Product Page: 247 http://www.ti.com/product/cc2652r 248 249.. _TI CC26x2R LaunchPad Quick Start Guide: 250 http://www.ti.com/lit/pdf/swru528 251 252.. _TI CC2652R Datasheet: 253 http://www.ti.com/lit/pdf/swrs207 254 255.. _TI CC13x2 / CC26x2 Technical Reference Manual: 256 http://www.ti.com/lit/pdf/swcu185 257 258.. _XDS-110 emulation package: 259 http://processors.wiki.ti.com/index.php/XDS_Emulation_Software_Package#XDS_Emulation_Software_.28emupack.29_Download 260