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