.. _lpcxpresso54114: NXP LPCXPRESSO54114 ################### Overview ******** The LPCXpresso54114 board has been developed by NXP to enable evaluation of and prototyping with the low-power LPC54110 family of MCUs. LPCXpresso* is a low-cost development platform available from NXP supporting NXP's ARM-based microcontrollers. LPCXpresso is an end-to-end solution enabling embedded engineers to develop their applications from initial evaluation to final production. .. image:: ../../../../../../../../../zephyr/boards/arm/lpcxpresso54114/doc/lpcxpresso54114_m4.jpg :align: center :alt: LPCXPRESSO54114 Hardware ******** - LPC54114 dual-core (M4F and dual M0) MCU running at up to 100 MHz - On-board high-speed USB based debug probe with CMSIS-DAP and J-Link protocol support, can debug the on-board LPC54114 or an external target - External debug probe option - Tri-color LED, target Reset, ISP & interrupt/user buttons for easy testing of software functionality - Expansion options based on Arduino UNO and Pmod™, plus additional expansion port pins - On-board 1.8 V and 3.3 V regulators plus external power supply option - 8 Mb Macronix MX25R SPI flash - Built-in MCU power consumption and supply voltage measurement - UART, I²C and SPI port bridging from LPC54114 target to USB via the on-board debug probe - FTDI UART connector For more information about the LPC54114 SoC and LPCXPRESSO54114 board: - `LPC54114 SoC Website`_ - `LPC54114 Datasheet`_ - `LPC54114 Reference Manual`_ - `LPCXPRESSO54114 Website`_ - `LPCXPRESSO54114 User Guide`_ - `LPCXPRESSO54114 Schematics`_ Supported Features ================== The lpcxpresso54114 board configuration supports the following hardware features: +-----------+------------+-------------------------------------+ | Interface | Controller | Driver/Component | +===========+============+=====================================+ | NVIC | on-chip | nested vector interrupt controller | +-----------+------------+-------------------------------------+ | SYSTICK | on-chip | systick | +-----------+------------+-------------------------------------+ | IOCON | on-chip | pinmux | +-----------+------------+-------------------------------------+ | GPIO | on-chip | gpio | +-----------+------------+-------------------------------------+ | I2C | on-chip | i2c | +-----------+------------+-------------------------------------+ | SPI | on-chip | spi | +-----------+------------+-------------------------------------+ | USART | on-chip | serial port-polling | +-----------+------------+-------------------------------------+ | CLOCK | on-chip | clock_control | +-----------+------------+-------------------------------------+ | IAP | on-chip | flash programming | +-----------+------------+-------------------------------------+ The default configuration for each core can be found in the defconfig files: ``boards/arm/lpcxpresso54114/lpcxpresso54114_m4_defconfig`` ``boards/arm/lpcxpresso54114/lpcxpresso54114_m0_defconfig`` Other hardware features are not currently supported by the port. Connections and IOs =================== The LPC54114 SoC has IOCON registers, which can be used to configure the functionality of a pin. +---------+-----------------+----------------------------+ | Name | Function | Usage | +=========+=================+============================+ | PIO0_0 | USART | USART RX | +---------+-----------------+----------------------------+ | PIO0_1 | USART | USART TX | +---------+-----------------+----------------------------+ | PIO0_18 | SPI | SPI MISO | +---------+-----------------+----------------------------+ | PIO0_19 | SPI | SPI SCK | +---------+-----------------+----------------------------+ | PIO0_20 | SPI | SPI MOSI | +---------+-----------------+----------------------------+ | PIO0_25 | I2C | I2C SCL | +---------+-----------------+----------------------------+ | PIO0_26 | I2C | I2C SDA | +---------+-----------------+----------------------------+ | PIO0_29 | GPIO | RED LED | +---------+-----------------+----------------------------+ | PIO1_1 | SPI | SPI SSEL2 | +---------+-----------------+----------------------------+ | PIO1_9 | GPIO | BLUE_LED | +---------+-----------------+----------------------------+ | PIO1_10 | GPIO | GREEN LED | +---------+-----------------+----------------------------+ System Clock ============ The LPC54114 SoC is configured to use the internal FRO at 48MHz as a source for the system clock. Other sources for the system clock are provided in the SOC, depending on your system requirements. Serial Port =========== The LPC54114 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 ************************* Build and flash applications as usual (see :ref:`build_an_application` and :ref:`application_run` for more details). Configuring a Debug Probe ========================= A debug probe is used for both flashing and debugging the board. This board is configured by default to use the LPC-Link2 CMSIS-DAP Onboard Debug Probe, however the :ref:`pyocd-debug-host-tools` do not support this probe so you must reconfigure the board for one of the following debug probes instead. :ref:`lpclink2-jlink-onboard-debug-probe` ----------------------------------------- Install the :ref:`jlink-debug-host-tools` and make sure they are in your search path. Follow the instructions in :ref:`lpclink2-jlink-onboard-debug-probe` to program the J-Link firmware. Configuring a Console ===================== Regardless of your choice in debug probe, we will use the LPC-Link2 microcontroller as a usb-to-serial adapter for the serial console. Connect a USB cable from your PC to J5 Use the following settings with your serial terminal of choice (minicom, putty, etc.): - Speed: 115200 - Data: 8 bits - Parity: None - Stop bits: 1 Flashing ======== Here is an example for the :ref:`hello_world` application. .. zephyr-app-commands:: :zephyr-app: samples/hello_world :board: lpcxpresso54114_m4 :goals: flash Open a serial terminal, reset the board (press the SW4 button), and you should see the following message in the terminal: .. code-block:: console ***** Booting Zephyr OS v1.14.0-rc1 ***** Hello World! lpcxpresso54114_m4 Debugging ========= Here is an example for the :ref:`hello_world` application. .. zephyr-app-commands:: :zephyr-app: samples/hello_world :board: lpcxpresso54114_m4 :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 v1.14.0-rc1 ***** Hello World! lpcxpresso54114_m4 .. _LPC54114 SoC Website: https://www.nxp.com/products/processors-and-microcontrollers/arm-based-processors-and-mcus/lpc-cortex-m-mcus/lpc54000-series-cortex-m4-mcus/low-power-microcontrollers-mcus-based-on-arm-cortex-m4-cores-with-optional-cortex-m0-plus-co-processor:LPC541XX .. _LPC54114 Datasheet: https://www.nxp.com/docs/en/data-sheet/LPC5411X.pdf .. _LPC54114 Reference Manual: https://www.nxp.com/webapp/Download?colCode=UM10914 .. _LPCXPRESSO54114 Website: https://www.nxp.com/support/developer-resources/evaluation-and-development-boards/lpcxpresso-boards/lpcxpresso54114-board:OM13089 .. _LPCXPRESSO54114 User Guide: https://www.nxp.com/webapp/Download?colCode=UM10973 .. _LPCXPRESSO54114 Schematics: https://www.nxp.com/downloads/en/design-support/LPCX5411x_Schematic_Rev_A1.pdf