1.. zephyr:board:: lpcxpresso55s06
2
3Overview
4********
5
6The LPCXpresso55S06 board provides the ideal platform for evaluation
7of the LPC55S0x/LPC550x MCU family, based on the Arm® Cortex®-M33
8architecture. Arduino® UNO compatible shield connectors are included,
9with additional expansion ports around the Arduino footprint, along
10with a PMod/host interface port and MikroElektronika Click module
11site.
12
13Hardware
14********
15
16- LPC55S06 Arm® Cortex®-M33 microcontroller running at up to 96 MHz
17- 256 KB flash and 96 KB SRAM on-chip
18- LPC-Link2 debug high speed USB probe with VCOM port
19- MikroElektronika Click expansion option
20- LPCXpresso expansion connectors compatible with Arduino UNO
21- PMod compatible expansion / host connector
22- Reset, ISP, wake, and user buttons for easy testing of software functionality
23- Tri-color LED
24- UART header for external serial to USB cable
25- CAN Transceiver
26- NXP FXOS8700CQ accelerometer
27
28For more information about the LPC55S06 SoC and LPCXPresso55S06 board, see:
29
30- `LPC55S06 SoC Website`_
31- `LPC55S06 User Manual`_
32- `LPCXpresso55S06 Website`_
33- `LPCXpresso55S06 User Manual`_
34- `LPCXpresso55S06 Development Board Design Files`_
35
36Supported Features
37==================
38
39The lpcxpresso55s06 board configuration supports the hardware features listed
40below.  For additional features not yet supported, please also refer to the
41:zephyr:board:`lpcxpresso55s69` , which is the superset board in NXP's LPC55xx series.
42NXP prioritizes enabling the superset board with NXP's Full Platform Support for
43Zephyr.  Therefore, the lpcxpresso55s69 board may have additional features
44already supported, which can also be re-used on this lpcxpresso55s06 board:
45
46+-----------+------------+-------------------------------------+
47| Interface | Controller | Driver/Component                    |
48+===========+============+=====================================+
49| NVIC      | on-chip    | nested vector interrupt controller  |
50+-----------+------------+-------------------------------------+
51| SYSTICK   | on-chip    | systick                             |
52+-----------+------------+-------------------------------------+
53| IOCON     | on-chip    | pinmux                              |
54+-----------+------------+-------------------------------------+
55| GPIO      | on-chip    | gpio                                |
56+-----------+------------+-------------------------------------+
57| USART     | on-chip    | serial port-polling;                |
58|           |            | serial port-interrupt               |
59+-----------+------------+-------------------------------------+
60| CLOCK     | on-chip    | clock_control                       |
61+-----------+------------+-------------------------------------+
62| RNG       | on-chip    | entropy;                            |
63|           |            | random                              |
64+-----------+------------+-------------------------------------+
65| IAP       | on-chip    | flash programming                   |
66+-----------+------------+-------------------------------------+
67
68Other hardware features are not currently enabled.
69
70Currently available targets for this board are:
71
72- *lpcxpresso55s06*
73
74Connections and IOs
75===================
76
77The LPC55S06 SoC has IOCON registers, which can be used to configure
78the functionality of a pin.
79
80+---------+-----------------+----------------------------+
81| Name    | Function        | Usage                      |
82+=========+=================+============================+
83| PIO0_5  | GPIO            | ISP SW4                    |
84+---------+-----------------+----------------------------+
85| PIO0_29 | USART           | USART RX                   |
86+---------+-----------------+----------------------------+
87| PIO0_30 | USART           | USART TX                   |
88+---------+-----------------+----------------------------+
89| PIO1_4  | GPIO            | RED LED                    |
90+---------+-----------------+----------------------------+
91| PIO1_6  | GPIO            | BLUE_LED                   |
92+---------+-----------------+----------------------------+
93| PIO1_7  | GPIO            | GREEN LED                  |
94+---------+-----------------+----------------------------+
95| PIO1_9  | GPIO            | USR SW3                    |
96+---------+-----------------+----------------------------+
97| PIO1_18 | GPIO            | Wakeup SW1                 |
98+---------+-----------------+----------------------------+
99
100System Clock
101============
102
103The LPC55S06 SoC is configured to use the internal FRO at 96MHz as a
104source for the system clock. Other sources for the system clock are
105provided in the SOC, depending on your system requirements.
106
107Serial Port
108===========
109
110The LPC55S06 SoC has 8 FLEXCOMM interfaces for serial
111communication. One is configured as USART for the console
112and the remaining are not used.
113
114Programming and Debugging
115*************************
116
117Build and flash applications as usual (see :ref:`build_an_application`
118and :ref:`application_run` for more details).
119
120Configuring a Debug Probe
121=========================
122
123A debug probe is used for both flashing and debugging the board. This
124board is configured by default to use the LPC-Link2 CMSIS-DAP Onboard
125Debug Probe, however the :ref:`pyocd-debug-host-tools` does not yet
126support the LPC55S06 so you must reconfigure the board for one of the
127J-Link debug probe instead.
128
129First install the :ref:`jlink-debug-host-tools` and make sure they are
130in your search path.
131
132Then follow the instructions in
133:ref:`lpclink2-jlink-onboard-debug-probe` to program the J-Link
134firmware. Please make sure you have the latest firmware for this
135board.
136
137Configuring a Console
138=====================
139
140Connect a USB cable from your PC to J1 (LINK2), and use the serial
141terminal of your choice (minicom, putty, etc.) with the following
142settings:
143
144- Speed: 115200
145- Data: 8 bits
146- Parity: None
147- Stop bits: 1
148
149Flashing
150========
151
152Here is an example for the :zephyr:code-sample:`hello_world` application.
153
154.. zephyr-app-commands::
155   :zephyr-app: samples/hello_world
156   :board: lpcxpresso55s06
157   :goals: flash
158
159Open a serial terminal, reset the board (press the RESET button), and you should
160see the following message in the terminal:
161
162.. code-block:: console
163
164   ***** Booting Zephyr OS v3.0.0 *****
165   Hello World! lpcxpresso55s06
166
167Debugging
168=========
169
170Here is an example for the :zephyr:code-sample:`hello_world` application.
171
172.. zephyr-app-commands::
173   :zephyr-app: samples/hello_world
174   :board: lpcxpresso55s06
175   :goals: debug
176
177Open a serial terminal, step through the application in your debugger, and you
178should see the following message in the terminal:
179
180.. code-block:: console
181
182   ***** Booting Zephyr OS zephyr-v3.0.0 *****
183   Hello World! lpcxpresso55s06
184
185.. _LPC55S06 SoC Website:
186   https://www.nxp.com/products/processors-and-microcontrollers/arm-microcontrollers/general-purpose-mcus/lpc5500-cortex-m33/lpc550x-s0x-baseline-arm-cortex-m33-based-microcontroller-family:LPC550x
187
188.. _LPC55S06 User Manual:
189   https://www.nxp.com/docs/en/user-guide/UM11424.pdf
190
191.. _LPCxpresso55S06 Website:
192   https://www.nxp.com/design/development-boards/lpcxpresso-boards/lpcxpresso-development-board-for-lpc55s0x-0x-family-of-mcus:LPC55S06-EVK
193
194.. _LPCXpresso55S06 User Manual:
195   https://www.nxp.com/docs/en/user-guide/LPCXpresso55S06UM.pdf
196
197.. _LPCXpresso55S06 Development Board Design Files:
198   https://www.nxp.com/downloads/en/design-support/LPCXPRESSSO55S06-DESIGN-FILES.zip
199