| .. zephyr:board:: lpcxpresso55s28 |
| |
| Overview |
| ******** |
| |
| The LPCXpresso55S28 development board provides the ideal platform for evaluation |
| of and development with the LPC552x/S2x MCU based on the Arm® Cortex®-M33 |
| architecture. The board includes a high-performance onboard debug probe, audio |
| subsystem and accelerometer, with several options for adding off-the-shelf |
| add-on boards for networking, sensors, displays, and other interfaces. |
| |
| Hardware |
| ******** |
| |
| - LPC55S28 Arm® Cortex®-M33 microcontroller running at up to 150 MHz |
| - 512 KB flash and 256 KB SRAM on-chip |
| - Onboard, high-speed USB, Link2 debug probe with CMSIS-DAP and SEGGER J-Link |
| protocol options |
| - UART and SPI port bridging from LPC55S28 target to USB via the onboard debug |
| probe |
| - Hardware support for external debug probe |
| - 3 x user LEDs, plus Reset, ISP (3) and user buttons |
| - Micro SD card slot (4-bit SDIO) |
| - NXP MMA8652FCR1 accelerometer |
| - Stereo audio codec with line in/out |
| - High and full speed USB ports with micro A/B connector for host or device |
| functionality |
| - MikroEletronika Click expansion option |
| - LPCXpresso-V3 expansion option compatible with Arduino UNO |
| - PMod compatible expansion / host connector |
| |
| For more information about the LPC55S28 SoC and LPCXPresso55S28 board, see: |
| |
| - `LPC55S28 SoC Website`_ |
| - `LPC55S28 Datasheet`_ |
| - `LPC55S28 User Manual`_ |
| - `LPCXpresso55S28 Website`_ |
| - `LPCXpresso55S28 User Manual`_ |
| - `LPCXpresso55S28 Development Board Design Files`_ |
| |
| Supported Features |
| ================== |
| |
| .. zephyr:board-supported-hw:: |
| |
| .. note:: |
| |
| For additional features not yet supported, please also refer to the |
| :zephyr:board:`lpcxpresso55s69` , which is the superset board in NXP's LPC55xx series. |
| NXP prioritizes enabling the superset board with NXP's Full Platform Support for |
| Zephyr. Therefore, the lpcxpresso55s69 board may have additional features |
| already supported, which can also be re-used on this board. |
| |
| Connections and IOs |
| =================== |
| |
| The LPC55S28 SoC has IOCON registers, which can be used to configure |
| the functionality of a pin. |
| |
| +---------+-----------------+----------------------------+ |
| | Name | Function | Usage | |
| +=========+=================+============================+ |
| | PIO0_26 | SPI | SPI MOSI | |
| +---------+-----------------+----------------------------+ |
| | PIO0_29 | USART | USART RX | |
| +---------+-----------------+----------------------------+ |
| | PIO0_30 | USART | USART TX | |
| +---------+-----------------+----------------------------+ |
| | PIO1_1 | SPI | SPI SSEL | |
| +---------+-----------------+----------------------------+ |
| | PIO1_2 | SPI | SPI SCK | |
| +---------+-----------------+----------------------------+ |
| | PIO1_3 | SPI | SPI MISO | |
| +---------+-----------------+----------------------------+ |
| | PIO1_4 | GPIO | RED LED | |
| +---------+-----------------+----------------------------+ |
| | PIO1_6 | GPIO | BLUE_LED | |
| +---------+-----------------+----------------------------+ |
| | PIO1_7 | GPIO | GREEN LED | |
| +---------+-----------------+----------------------------+ |
| | PIO1_20 | I2C | I2C SCL | |
| +---------+-----------------+----------------------------+ |
| | PIO1_21 | I2C | I2C SDA | |
| +---------+-----------------+----------------------------+ |
| |
| System Clock |
| ============ |
| |
| The LPC55S28 SoC is configured to use PLL1 clocked from the external 24MHz |
| crystal, running at 144MHz as a source for the system clock. When the flash |
| controller is enabled, the core clock will be reduced to 96MHz. The application |
| may reconfigure clocks after initialization, provided that the core clock is |
| always set to 96MHz when flash programming operations are performed. |
| |
| Serial Port |
| =========== |
| |
| The LPC55S28 SoC has 8 FLEXCOMM interfaces for serial communication. One is |
| configured as USART for the console and the remaining are not used. |
| |
| Programming and Debugging |
| ************************* |
| |
| .. zephyr:board-supported-runners:: |
| |
| Build and flash applications as usual (see :ref:`build_an_application` |
| and :ref:`application_run` for more details). |
| |
| Configuring a Debug Probe |
| ========================= |
| |
| LinkServer is the default runner for this board. |
| A debug probe is used for both flashing and debugging the board. This board is |
| configured by default to use the integrated :ref:`mcu-link-onboard-debug-probe` |
| in the CMSIS-DAP mode. To use this probe with Zephyr, you need to install the |
| :ref:`linkserver-debug-host-tools` and make sure they are in your search path. |
| Refer to the detailed overview about :ref:`application_debugging` for additional |
| information. |
| |
| The integrated MCU-Link hardware can also be used as a J-Link probe with a |
| firmware update, as described in :ref:`mcu-link-jlink-onboard-debug-probe`. |
| The :ref:`jlink-debug-host-tools` should be available in this case. |
| |
| Configuring a Console |
| ===================== |
| |
| Connect a USB cable from your PC to P6, and use the serial terminal of your |
| choice (minicom, putty, etc.) with the following settings: |
| |
| - Speed: 115200 |
| - Data: 8 bits |
| - Parity: None |
| - Stop bits: 1 |
| |
| Flashing |
| ======== |
| |
| Here is an example for the :zephyr:code-sample:`hello_world` application. |
| |
| .. zephyr-app-commands:: |
| :zephyr-app: samples/hello_world |
| :board: lpcxpresso55s28 |
| :goals: flash |
| |
| Open a serial terminal, reset the board (press the RESET button), and you should |
| see the following message in the terminal: |
| |
| .. code-block:: console |
| |
| ***** Booting Zephyr OS v2.4.0 ***** |
| Hello World! lpcxpresso55s28 |
| |
| Debugging |
| ========= |
| |
| Here is an example for the :zephyr:code-sample:`hello_world` application. |
| |
| .. zephyr-app-commands:: |
| :zephyr-app: samples/hello_world |
| :board: lpcxpresso55s28 |
| :goals: debug |
| |
| Open a serial terminal, step through the application in your debugger, and you |
| should see the following message in the terminal: |
| |
| .. code-block:: console |
| |
| ***** Booting Zephyr OS zephyr-v2.4.0 ***** |
| Hello World! lpcxpresso55s28 |
| |
| .. include:: ../../common/board-footer.rst |
| :start-after: nxp-board-footer |
| |
| .. _LPC55S28 SoC Website: |
| 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 |
| |
| .. _LPC55S28 Datasheet: |
| https://www.nxp.com/docs/en/nxp/data-sheets/LPC55S2x_LPC552x_DS.pdf |
| |
| .. _LPC55S28 User Manual: |
| https://www.nxp.com/webapp/Download?colCode=UM11126 |
| |
| .. _LPCxpresso55S28 Website: |
| https://www.nxp.com/design/software/development-software/lpcxpresso55s28-development-board:LPC55S28-EVK |
| |
| .. _LPCXpresso55S28 User Manual: |
| https://www.nxp.com/webapp/Download?colCode=UM11158 |
| |
| .. _LPCXpresso55S28 Development Board Design Files: |
| https://www.nxp.com/webapp/Download?colCode=LPCXpresso55S69-DS |