1.. _lpcxpresso55s28: 2 3NXP LPCXpresso55S28 4################### 5 6Overview 7******** 8 9The LPCXpresso55S28 development board provides the ideal platform for evaluation 10of and development with the LPC552x/S2x MCU based on the Arm® Cortex®-M33 11architecture. The board includes a high-performance onboard debug probe, audio 12subsystem and accelerometer, with several options for adding off-the-shelf 13add-on boards for networking, sensors, displays, and other interfaces. 14 15.. image:: LPC55S28-EVK.jpg 16 :align: center 17 :alt: LPCXpresso55S28 18 19Hardware 20******** 21 22- LPC55S28 Arm® Cortex®-M33 microcontroller running at up to 150 MHz 23- 512 KB flash and 256 KB SRAM on-chip 24- Onboard, high-speed USB, Link2 debug probe with CMSIS-DAP and SEGGER J-Link 25 protocol options 26- UART and SPI port bridging from LPC55S28 target to USB via the onboard debug 27 probe 28- Hardware support for external debug probe 29- 3 x user LEDs, plus Reset, ISP (3) and user buttons 30- Micro SD card slot (4-bit SDIO) 31- NXP MMA8652FCR1 accelerometer 32- Stereo audio codec with line in/out 33- High and full speed USB ports with micro A/B connector for host or device 34 functionality 35- MikroEletronika Click expansion option 36- LPCXpresso-V3 expansion option compatible with Arduino UNO 37- PMod compatible expansion / host connector 38 39For more information about the LPC55S28 SoC and LPCXPresso55S28 board, see: 40 41- `LPC55S28 SoC Website`_ 42- `LPC55S28 Datasheet`_ 43- `LPC55S28 User Manual`_ 44- `LPCXpresso55S28 Website`_ 45- `LPCXpresso55S28 User Manual`_ 46- `LPCXpresso55S28 Development Board Design Files`_ 47 48Supported Features 49================== 50 51The lpcxpresso55s28 board configuration supports the hardware features listed 52below. For additional features not yet supported, please also refer to the 53:ref:`lpcxpresso55s69` , which is the superset board in NXP's LPC55xx series. 54NXP prioritizes enabling the superset board with NXP's Full Platform Support for 55Zephyr. Therefore, the lpcxpresso55s69 board may have additional features 56already supported, which can also be re-used on this lpcxpresso55s28 board: 57 58+-----------+------------+-------------------------------------+ 59| Interface | Controller | Driver/Component | 60+===========+============+=====================================+ 61| NVIC | on-chip | nested vector interrupt controller | 62+-----------+------------+-------------------------------------+ 63| SYSTICK | on-chip | systick | 64+-----------+------------+-------------------------------------+ 65| IOCON | on-chip | pinmux | 66+-----------+------------+-------------------------------------+ 67| GPIO | on-chip | gpio | 68+-----------+------------+-------------------------------------+ 69| I2C | on-chip | i2c | 70+-----------+------------+-------------------------------------+ 71| SPI | on-chip | spi | 72+-----------+------------+-------------------------------------+ 73| USART | on-chip | serial port-polling; | 74| | | serial port-interrupt | 75+-----------+------------+-------------------------------------+ 76| WWDT | on-chip | windowed watchdog timer | 77+-----------+------------+-------------------------------------+ 78| ADC | on-chip | adc | 79+-----------+------------+-------------------------------------+ 80| CLOCK | on-chip | clock_control | 81+-----------+------------+-------------------------------------+ 82| RNG | on-chip | entropy; | 83| | | random | 84+-----------+------------+-------------------------------------+ 85| IAP | on-chip | flash programming | 86+-----------+------------+-------------------------------------+ 87 88Other hardware features are not currently enabled. 89 90The default configuration file 91``boards/arm/lpcxpresso55s28/lpcxpresso55s28_defconfig`` 92 93Connections and IOs 94=================== 95 96The LPC55S28 SoC has IOCON registers, which can be used to configure 97the functionality of a pin. 98 99+---------+-----------------+----------------------------+ 100| Name | Function | Usage | 101+=========+=================+============================+ 102| PIO0_26 | SPI | SPI MOSI | 103+---------+-----------------+----------------------------+ 104| PIO0_29 | USART | USART RX | 105+---------+-----------------+----------------------------+ 106| PIO0_30 | USART | USART TX | 107+---------+-----------------+----------------------------+ 108| PIO1_1 | SPI | SPI SSEL | 109+---------+-----------------+----------------------------+ 110| PIO1_2 | SPI | SPI SCK | 111+---------+-----------------+----------------------------+ 112| PIO1_3 | SPI | SPI MISO | 113+---------+-----------------+----------------------------+ 114| PIO1_4 | GPIO | RED LED | 115+---------+-----------------+----------------------------+ 116| PIO1_6 | GPIO | BLUE_LED | 117+---------+-----------------+----------------------------+ 118| PIO1_7 | GPIO | GREEN LED | 119+---------+-----------------+----------------------------+ 120| PIO1_20 | I2C | I2C SCL | 121+---------+-----------------+----------------------------+ 122| PIO1_21 | I2C | I2C SDA | 123+---------+-----------------+----------------------------+ 124 125System Clock 126============ 127 128The LPC55S28 SoC is configured to use PLL1 clocked from the external 24MHz 129crystal, running at 144MHz as a source for the system clock. When the flash 130controller is enabled, the core clock will be reduced to 96MHz. The application 131may reconfigure clocks after initialization, provided that the core clock is 132always set to 96MHz when flash programming operations are performed. 133 134Serial Port 135=========== 136 137The LPC55S28 SoC has 8 FLEXCOMM interfaces for serial communication. One is 138configured as USART for the console and the remaining are not used. 139 140Programming and Debugging 141************************* 142 143Build and flash applications as usual (see :ref:`build_an_application` 144and :ref:`application_run` for more details). 145 146Configuring a Debug Probe 147========================= 148 149A debug probe is used for both flashing and debugging the board. This 150board is configured by default to use the LPC-Link2 CMSIS-DAP Onboard 151Debug Probe. 152 153Configuring a Console 154===================== 155 156Connect a USB cable from your PC to P6, and use the serial terminal of your 157choice (minicom, putty, etc.) with the following settings: 158 159- Speed: 115200 160- Data: 8 bits 161- Parity: None 162- Stop bits: 1 163 164Flashing 165======== 166 167Here is an example for the :ref:`hello_world` application. 168 169.. zephyr-app-commands:: 170 :zephyr-app: samples/hello_world 171 :board: lpcxpresso55s28 172 :goals: flash 173 174Open a serial terminal, reset the board (press the RESET button), and you should 175see the following message in the terminal: 176 177.. code-block:: console 178 179 ***** Booting Zephyr OS v2.4.0 ***** 180 Hello World! lpcxpresso55s28 181 182Debugging 183========= 184 185Here is an example for the :ref:`hello_world` application. 186 187.. zephyr-app-commands:: 188 :zephyr-app: samples/hello_world 189 :board: lpcxpresso55s28 190 :goals: debug 191 192Open a serial terminal, step through the application in your debugger, and you 193should see the following message in the terminal: 194 195.. code-block:: console 196 197 ***** Booting Zephyr OS zephyr-v2.4.0 ***** 198 Hello World! lpcxpresso55s28 199 200.. _LPC55S28 SoC Website: 201 https://www.nxp.com/products/processors-and-microcontrollers/arm-microcontrollers/general-purpose-mcus/lpc5500-cortex-m33/lpc552x-s2x-mainstream-arm-cortex-m33-based-microcontroller-family:LPC552x-S2x 202 203.. _LPC55S28 Datasheet: 204 https://www.nxp.com/docs/en/nxp/data-sheets/LPC55S2x_LPC552x_DS.pdf 205 206.. _LPC55S28 User Manual: 207 https://www.nxp.com/webapp/Download?colCode=UM11126 208 209.. _LPCxpresso55S28 Website: 210 https://www.nxp.com/design/software/development-software/lpcxpresso55s28-development-board:LPC55S28-EVK 211 212.. _LPCXpresso55S28 User Manual: 213 https://www.nxp.com/webapp/Download?colCode=UM11158 214 215.. _LPCXpresso55S28 Development Board Design Files: 216 https://www.nxp.com/webapp/Download?colCode=LPCXpresso55S69-DS 217