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