nuttx/Documentation/platforms/arm/lpc17xx/index.rst

179 lines
7.8 KiB
ReStructuredText
Raw Normal View History

===========
NXP LPC17xx
===========
NXP LPC176x
-----------
NXP LPC1766, LPC1768, and LPC1769. Drivers are available for CAN, DAC,
Ethernet, GPIO, GPIO interrupts, I2C, UARTs, SPI, SSP, USB host, and USB
device. Additional drivers for the RTC, ADC, DAC, Timers, PWM and MCPWM
were contributed by Max (himax) in NuttX-7.3. Verified LPC17xx
configurations are available for these boards:
- The Nucleus 2G board from `2G Engineering <http://www.2g-eng.com/>`__
(LPC1768),
- The mbed board from `mbed.org <http://mbed.org>`__ (LPC1768,
Contributed by Dave Marples), and
- The LPC1766-STK board from `Olimex <http://www.olimex.com/>`__
(LPC1766).
- The Embedded Artists base board with NXP LPCXpresso LPC1768.
- Zilogic's ZKIT-ARM-1769 board.
- The `Micromint <http://micromint.com/>`__ Lincoln60 board with an NXP
LPC1769.
- A version of the LPCXPresso LPC1768 board with special support for
the U-Blox model evaluation board.
- Support for the Keil MCB1700 was contributed by Alan Carvalho de
Assis in NuttX-7.23.
- Support for the NXP Semiconductors' PN5180 NFC Frontend Development
Kit was contributed by Michael Jung in NuttX-7.1. This board is based
on the NXP LPC1769 MCU.
The Nucleus 2G board, the mbed board, the LPCXpresso, and the MCB1700
all feature the NXP LPC1768 MCU; the Olimex LPC1766-STK board features
an LPC1766. All use a GNU arm-nuttx-elf or arm-eabi toolchain\* under
either Linux or Cygwin (with native Windows GNU tools or Cygwin-based
GNU tools).
**STATUS:** The following summarizes the features that has been
developed and verified on individual LPC17xx-based boards. These
features should, however, be common and available for all LPC17xx-based
boards.
#. **Nucleus2G LPC1768**
- Some initial files for the LPC17xx family were released in NuttX
5.6, but
- The first functional release for the NXP LPC1768/Nucleus2G
occurred with NuttX 5.7 with Some additional enhancements through
NuttX-5.9. Refer to the NuttX board
`README <https://bitbucket.org/patacongo/obsoleted/src/master/configs/nucleus2g/README.txt>`__
file for further information.
That initial, 5.6, basic release included *timer* interrupts and a
*serial console* and was verified using the NuttX OS test
(``apps/examples/ostest``). Configurations available include include
a verified NuttShell (NSH) configuration (see :ref:`NSH <nsh>`). The
NSH configuration supports the Nucleus2G's microSD slot and
additional configurations are available to exercise the USB serial
and USB mass storage devices. However, due to some technical reasons,
neither the SPI nor the USB device drivers are fully verified.
(Although they have since been verified on other platforms; this
needs to be revisited on the Nucleus2G).
**Obsoleted**. Support for the Nucleus2G board was terminated on
2016-04-12. There has not been any activity with the commercial board
in a few years and it no longer appears to be available from the
2g-eng.com website. Since the board is commercial and no longer
publicly available, it no longer qualifies for inclusion in the open
source repositories. A snapshot of the code is still available in the
`Obsoleted
repository <https://bitbucket.org/patacongo/obsoleted/src/master/boards/nucleus2g>`__
and can easily be *reconstitued* if needed.
#. **mbed LPC1768**
- Support for the mbed board was contributed by Dave Marples and
released in NuttX-5.11. Refer to the NuttX board
`README <https://github.com/apache/nuttx/blob/master/boards/arm/lpc17xx_40xx/mbed/README.txt>`__
file for further information.
#. **Olimex LPC1766-STK**
- Support for that Olimex-LPC1766-STK board was added to NuttX 5.13.
- The NuttX-5.14 release extended that support with an *Ethernet
driver*.
- The NuttX-5.15 release further extended the support with a
functional *USB device driver* and *SPI-based micro-SD*.
- The NuttX-5.16 release added a functional *USB host controller
driver* and *USB host mass storage class driver*.
- The NuttX-5.17 released added support for low-speed USB devices,
interrupt endpoints, and a *USB host HID keyboard class driver*.
- Refer to the NuttX board
`README <https://github.com/apache/nuttx/blob/master/boards/arm/lpc17xx_40xx/olimex-lpc1766stk/README.txt>`__
file for further information.
Verified configurations are now available for the NuttShell with
networking and microSD support(NSH, see :ref:`NSH <nsh>`), for
the NuttX network test, for the
`THTTPD <http://acme.com/software/thttpd>`__ webserver, for USB
serial deive and USB storage devices examples, and for the USB host
HID keyboard driver. Support for the USB host mass storage device can
optionally be configured for the NSH example. A driver for the *Nokia
6100 LCD* and an NX graphics configuration for the Olimex LPC1766-STK
have been added. However, neither the LCD driver nor the NX
configuration have been verified as of the NuttX-5.17 release.
#. **Embedded Artists base board with NXP LPCXpresso LPC1768**
An fully verified board configuration is included in NuttX-6.2. The
Code Red toolchain is supported under either Linux or Windows.
Verified configurations include DHCPD, the NuttShell (NSH), NuttX
graphis (NX), THTTPD, and USB mass storage device. Refer to the NuttX
board
`README <https://github.com/apache/nuttx/blob/master/boards/arm/lpc17xx_40xx/lpcxpresso-lpc1768/README.txt>`__
file for further information.
#. **Zilogic's ZKIT-ARM-1769 board**
Zilogic System's ARM development Kit, ZKIT-ARM-1769. This board is
based on the NXP LPC1769. The initial release was included
NuttX-6.26. The NuttX Buildroot toolchain is used by default. Verifed
configurations include the "Hello, World!" example application and a
THTTPD demonstration. Refer to the NuttX board
`README <https://github.com/apache/nuttx/blob/master/boards/arm/lpc17xx_40xx/zkit-arm-1769/README.txt>`__
file for further information.
#. **Micromint Lincoln60 board with an NXP LPC1769**
This board configuration was contributed and made available in
NuttX-6.20. As contributed board support, I am unsure of what all has
been verfied and what has not. See the Microment website
and the NuttX board
`README <https://github.com/apache/nuttx/blob/master/boards/arm/lpc17xx_40xx/lincoln60/README.txt>`__
file for further information about the Lincoln board.
#. **U-Blox Modem Evaluation (LPCXpresso LPC1768)**
This board configuration was contributed by Vladimir Komendantskiy
and made available in NuttX-7.15. This is a variant of the LPCXpresso
LPC1768 board support with special provisions for the U-Blox Model
Evaluation board. See the NuttX board
`README <https://github.com/apache/nuttx/blob/master/boards/arm/lpc17xx_40xx/u-blox-c027/README.txt>`__
file for further information about this port.
#. **Keil MCB1700 (LPC1768)**
This board configuration was contributed by Alan Carvalho de Assis in
NuttX-7.23.
#. **PN5180 NFC Frontend Development Kit**
This board configuration was contributed by Michael Jung in
NuttX-7.31.
**Development Environments:** 1) Linux with native Linux GNU toolchain,
2) Cygwin/MSYS with Cygwin GNU toolchain, 3) Cygwin/MSYS with Windows
native toolchain (CodeSourcery devkitARM or Code Red), or 4) Native
Windows. A DIY toolchain for Linux or Cygwin is provided by the NuttX
`buildroot <https://bitbucket.org/nuttx/buildroot/downloads/>`__
package.
NXP LPC178x
-----------
The port of NuttX to the WaveShare Open1788 is a
collaborative effort between Rommel Marcelo and myself (with Rommel
being the leading contributor and I claiming only a support role). You
can get more information at the Open1788 board from the WaveShare
website.
Supported Boards
================
.. toctree::
:glob:
:maxdepth: 1
boards/*/*