blob: aa880af08cb827cf08d72049725f7e58aa56b343 [file] [log] [blame]
.. _lpcxpresso11u68:
NXP LPCXpresso11U68
###################
Overview
********
The LPCXpresso11u68 development board uses an NXP LPC11U68 MCU based
on an ARM Cortex-M0+ core.
.. figure:: lpcxpresso11u68.png
:width: 800px
:align: center
:alt: LPCXpresso11U68
Hardware
********
The LPCxpresso 11U68 board provides the following hardware components:
- LPC11U68 microcontroller in LQFP100 package
- ARM Cortex-M0+
- Memory:
- 256KB of flash memory
- 32KB of SRAM
- 2x2KB of additional SRAM
- 4 KB EEPROM
- USB:
- USB 2.0 Full-Speed device controller
- DMA controller
- 5x USART
- 2x I2C
- 2x SSP with DMA support
- Board power supply: through USB bus or external power supply (3V and 5V)
- Arduino connectors compatible with the 'Arduino UNO' platform
- Tri-color user LED, Power On Led, Reset LED
- Three push buttons: target reset, ISP and user
More information can be found here:
- `LPC11UXX SoC Website`_
- `LPC11U6X Datasheet`_
- `LPC11U6X Reference Manual`_
- `LPCXPRESSO11U68 Website`_
- `LPCXPRESSO11U68 Schematics`_
Supported Features
==================
The lpcxpresso11U68 supports the following features:
+-----------+------------+-------------------------------------+
| Interface | Controller | Driver/Component |
+===========+============+=====================================+
| NVIC | on-chip | nested vector interrupt controller |
+-----------+------------+-------------------------------------+
| SYSTICK | on-chip | systick |
+-----------+------------+-------------------------------------+
| IOCON | on-chip | pinmux |
+-----------+------------+-------------------------------------+
| CLOCK | on-chip | clock and reset control |
+-----------+------------+-------------------------------------+
| GPIO | on-chip | gpio |
+-----------+------------+-------------------------------------+
| I2C | on-chip | i2c master/slave controller |
+-----------+------------+-------------------------------------+
| UART | on-chip | serial port-polling; |
| | | serial port interrupt |
+-----------+------------+-------------------------------------+
| EEPROM | on-chip | eeprom |
+-----------+------------+-------------------------------------+
Other hardware is not yet supported on Zephyr.
Connections and IOs
===================
The IOCON controller can be used to configure the LPC11U68 pins.
+---------+-----------------+----------------------------+
| Name | Function | Usage |
+=========+=================+============================+
| PIO2_11 | UART | USART RX |
+---------+-----------------+----------------------------+
| PIO2_12 | UART | USART TX |
+---------+-----------------+----------------------------+
| PIO2_16 | GPIO | GREEN LED |
+---------+-----------------+----------------------------+
| PIO2_17 | GPIO | RED LED |
+---------+-----------------+----------------------------+
| PIO2_18 | GPIO | BLUE_LED |
+---------+-----------------+----------------------------+
| PIO0_4 | I2C | I2C SCL |
+---------+-----------------+----------------------------+
| PIO0_5 | I2C | I2C SDA |
+---------+-----------------+----------------------------+
Programming and Debugging
*************************
Flashing
========
The LPCXpresso11U68 board can be flashed by using the on-board LPC-Link2 debug
probe (based on a NXP LPC43xx MCU). This MCU provides either a CMSIS-DAP or
a J-Link interface. It depends on the embedded firmware image. The default
OpenOCD configuration supports the the CMSIS-DAP interface. If you want to
switch to J-Link, then you need to edit the
``boards/arm/lpcxpresso11u68/support/openocd.cfg`` file and to replace::
source [find interface/cmsis-dap.cfg]
with::
source [find interface/jlink.cfg]
.. note::
The firmware image of the LPC-Link2 can be updated using the
`LPCScrypt tool <https://www.nxp.com/design/microcontrollers-developer-resources/lpc-microcontroller-utilities/lpcscrypt-v2-1-1:LPCSCRYPT>`_.
.. note::
The `Mbed project <https://os.mbed.com>`_ also provides some firmware images
`here <https://os.mbed.com/teams/NXP/wiki/Updating-LPCXpresso-firmware>`_.
In addition to a CMSIS-DAP interface, they also provide a convenient update
mechanism through a pseudo USB disk.
Here are the steps to flash a firmware you built into a LPCXpresso11U68 board:
#. Connect the "Link" micro-B USB port to your host computer.
#. Next, simply run the ``west flash`` command
Debugging
=========
Please refer to the `Flashing`_ section and run the ``west debug`` command
instead of ``west flash``.
References
**********
- `LPC11UXX SoC Website`_
- `LPC11U6X Datasheet`_
- `LPC11U6X Reference Manual`_
- `LPCXPRESSO11U68 Website`_
- `LPCXPRESSO11U68 Schematics`_
.. _LPC11UXX SoC Website:
https://www.nxp.com/products/processors-and-microcontrollers/arm-microcontrollers/general-purpose-mcus/lpc1100-cortex-m0-plus-m0/scalable-entry-level-32-bit-microcontroller-mcu-based-on-arm-cortex-m0-plus-and-cortex-m0-cores:LPC11U00
.. _LPC11U6X Datasheet:
https://www.nxp.com/docs/en/data-sheet/LPC11U6X.pdf
.. _LPC11U6x Reference Manual:
https://www.nxp.com/webapp/Download?colCode=UM10732
.. _LPCXPRESSO11U68 Website:
https://www.nxp.com/design/microcontrollers-developer-resources/lpc-microcontroller-utilities/lpcxpresso-board-for-lpc11u68:OM13058
.. _LPCXPRESSO11U68 Schematics:
https://www.nxp.com/downloads/en/schematics/LPC11U68_Xpresso_v2_Schematic_RevC_1.pdf