1.. _msp_exp432p401r_launchxl:
2
3MSP-EXP432P401R LaunchXL
4########################
5
6Overview
7********
8
9The SimpleLink MSP‐EXP432P401R LaunchPad development kit is an easy-to-use evaluation
10module for the SimpleLink MSP432P401R microcontroller. It contains everything needed to start
11developing on the SimpleLink MSP432 low-power + performance ARM |reg| 32-bit Cortex |reg|-M4F
12microcontroller (MCU).
13
14.. figure:: img/msp_exp432p401r_launchxl.jpg
15     :align: center
16     :alt: MSP-EXP432P401R LaunchXL development board
17
18Features:
19=========
20
21* Low-power ARM Cortex-M4F MSP432P401R
22* 40-pin LaunchPad development kit standard that leverages the BoosterPack plug-in module ecosystem
23* XDS110-ET, an open-source onboard debug probe featuring EnergyTrace+ technology and application
24  UART
25* Two buttons and two LEDs for user interaction
26* Backchannel UART through USB to PC
27
28Details on the MSP-EXP432P401R LaunchXL development board can be found in the
29`MSP-EXP432P401R LaunchXL User's Guide`_.
30
31Supported Features
32==================
33
34* The on-board 32-kHz crystal allows for lower LPM3 sleep currents and a higher-precision clock source than the
35  default internal 32-kHz REFOCLK. Therefore, the presence of the crystal allows the full range of low-
36  power modes to be used.
37* The on-board 48-MHz crystal allows the device to run at its maximum operating speed for MCLK and HSMCLK.
38
39The MSP-EXP432P401R LaunchXL development board configuration supports the following hardware features:
40
41+-----------+------------+-----------------------+
42| Interface | Controller | Driver/Component      |
43+===========+============+=======================+
44| NVIC      | on-chip    | nested vectored       |
45|           |            | interrupt controller  |
46+-----------+------------+-----------------------+
47| SYSTICK   | on-chip    | system clock          |
48+-----------+------------+-----------------------+
49| UART      | on-chip    | serial port           |
50+-----------+------------+-----------------------+
51
52More details about the supported peripherals are available in `MSP432P4XX TRM`_
53Other hardware features are not currently supported by the Zephyr kernel.
54
55Building and Flashing
56*********************
57
58Building
59========
60
61Follow the :ref:`getting_started` instructions for Zephyr application
62development.
63
64For example, to build the :ref:`hello_world` application for the
65MSP-EXP432P401R LaunchXL:
66
67.. zephyr-app-commands::
68   :zephyr-app: samples/hello_world
69   :board: msp_exp432p401r_launchxl
70   :goals: build
71
72The resulting ``zephyr.elf`` binary in the build directory can be flashed onto
73MSP-EXP432P401R LaunchXL using the command line utility mentioned below.
74
75Flashing
76========
77
78For Linux:
79----------
80
81`UniFlash`_ command line utility is used to program the flash memory. Only
82elf loading is currently supported.
83
84The following command will flash the ``zephyr.elf`` binary to the MSP-EXP432P401R LaunchXL board:
85
86.. code-block:: console
87
88   $ ./dslite.sh --config=MSP432P401R.ccxml zephyr.elf
89
90.. note:: The ccxml configuration file is included in boards/arm/msp_exp432p401r_launchxl/support.
91
92Debugging
93=========
94
95MSP-EXP432P401R LaunchXL board supports debugging primarily using `CCS IDE`_. More information
96on debugging using CCS can be found in `CCS Debug Handbook`_.
97
98Launchpad also supports debugging using GDB. See section 3.3 of `GCC ARM Toolchain Guide`_.
99
100References
101**********
102
103TI MSP432 Wiki:
104   https://en.wikipedia.org/wiki/TI_MSP432
105
106TI MSP432P401R Product Page:
107   http://www.ti.com/product/msp432p401r
108
109TI MSP432 SDK:
110   http://www.ti.com/tool/SIMPLELINK-MSP432-SDK
111
112.. _MSP-EXP432P401R LaunchXL User's Guide:
113   http://www.ti.com/lit/ug/slau597c/slau597c.pdf
114
115.. _MSP432P4XX TRM:
116   http://www.ti.com/lit/ug/slau356f/slau356f.pdf
117
118.. _UniFlash:
119   http://processors.wiki.ti.com/index.php/UniFlash_v4_Quick_Guide#Command_Line_Interface
120
121.. _CCS IDE:
122   http://www.ti.com/tool/ccstudio
123
124.. _CCS Debug Handbook:
125   http://processors.wiki.ti.com/index.php/Debug_Handbook_for_CCS#Cortex_M3.2FM4.2FTiva.2FMSP432
126
127.. _GCC ARM Toolchain Guide:
128   http://www.ti.com/lit/ug/slau688b/slau688b.pdf
129