3217 lines
126 KiB
ReStructuredText
3217 lines
126 KiB
ReStructuredText
=========================
|
||
Detailed Platform Support
|
||
=========================
|
||
|
||
**Details**. The details, caveats and fine print follow. For even more
|
||
information see the *README* files that can be found
|
||
`here <https://cwiki.apache.org/confluence/display/NUTTX/README+Files>`__.
|
||
|
||
Linux User Mode Simulation
|
||
==========================
|
||
|
||
A user-mode port of NuttX to the x86 Linux/Cygwin platform is available.
|
||
The purpose of this port is primarily to support OS feature development.
|
||
|
||
ARM7TDMI
|
||
========
|
||
|
||
TI TMS320-C5471
|
||
---------------
|
||
|
||
(also called **C5471** or **TMS320DA180** or **DA180**)
|
||
|
||
NuttX operates on the ARM7 of this dual core processor. This port uses
|
||
the `Spectrum Digital <http://www.spectrumdigital.com/>`__ evaluation
|
||
board with a GNU arm-nuttx-elf toolchain\* under Linux or Cygwin.
|
||
|
||
NXP LPC214x
|
||
-----------
|
||
|
||
Support is provided for the NXP LPC214x family of
|
||
processors. In particular, support is provided for (1) the mcu123.com
|
||
lpc214x evaluation board (LPC2148) and (1) the The0.net ZPA213X/4XPA
|
||
development board (with the The0.net UG-2864AMBAG01 OLED) This port also
|
||
used the GNU arm-nuttx-elf toolchain\* under Linux or Cygwin.
|
||
|
||
NXP LPC2378
|
||
-----------
|
||
|
||
Support is provided for the NXP LPC2378 MCU. In particular,
|
||
support is provided for the Olimex-LPC2378 development board. This port
|
||
was contributed by Rommel Marcelo is was first released in NuttX-5.3.
|
||
This port also used the GNU arm-nuttx-elf toolchain\* under Linux or
|
||
Cygwin.
|
||
|
||
STMicro STR71x
|
||
--------------
|
||
|
||
Support is provided for the STMicro STR71x family of
|
||
processors. In particular, support is provided for the Olimex STR-P711
|
||
evaluation board. This port also used the GNU arm-nuttx-elf toolchain\*
|
||
under Linux or Cygwin.
|
||
|
||
ARM920T
|
||
=======
|
||
|
||
NXP/Freescale i.MX1
|
||
-------------------
|
||
|
||
Or MC9328MX1 – This port uses the Freescale MX1ADS
|
||
development board with a GNU arm-nuttx-elf toolchain\* under either
|
||
Linux or Cygwin.
|
||
|
||
ARM926EJS
|
||
=========
|
||
|
||
TI TMS320-DM320
|
||
---------------
|
||
|
||
(also called **DM320**)
|
||
|
||
NuttX operates on the ARM9 of
|
||
this dual core processor. This port uses the Neuros OSD
|
||
with a GNU arm-nuttx-elf toolchain\* under Linux or Cygwin. The port was
|
||
performed using the OSD v1.0, development board.
|
||
|
||
NXP LPC3131
|
||
-----------
|
||
|
||
Two boards based on the NXP LPC3131 are supported:
|
||
|
||
- First, a port for the NXP LPC3131
|
||
on the Embedded Artists EA3131
|
||
development board was first released in NuttX-5.1 (but was not
|
||
functional until NuttX-5.2).
|
||
|
||
- A second port to the NXP LPC3131
|
||
on the `Olimex
|
||
LPC-H3131 <https://www.olimex.com/Products/ARM/NXP/LPC-H3131/>`__
|
||
development board was added in NuttX-6.32.
|
||
|
||
NXP LPC315x
|
||
-----------
|
||
|
||
Support for the NXP LPC315x
|
||
family has been incorporated into the code base as of NuttX-6.4. Support
|
||
was added for the Embedded Artists EA3152 board in NuttX-6.11.
|
||
|
||
Other ARMv4
|
||
===========
|
||
|
||
Moxa NP51x0
|
||
-----------
|
||
|
||
A port to the Moxa NP51x0 series of 2-port advanced
|
||
RS-232/422/485 serial device servers was contributed by Anton D.
|
||
Kachalov in NuttX-7.11. This port includes :ref:`NSH <nsh>`
|
||
configuration with support for the Faraday FTMAC100 Ethernet MAC Driver.
|
||
|
||
ARM1176JZ
|
||
=========
|
||
|
||
Broadcom BCM2708
|
||
----------------
|
||
|
||
Very basic support for the Broadcom BCM2708 was released with NuttX-7.23.
|
||
|
||
Raspberry Pi Zero. This support was provided for the Raspberry Pi Zero
|
||
which is based on the BCM2835. Basic logic is in place but the port is
|
||
incomplete and completely untested as of the NuttX-7.23 released. Refer
|
||
to the NuttX board
|
||
`README <https://bitbucket.org/patacongo/obsoleted/src/master/nuttx/boards/pizero/README.txt>`__
|
||
file for further information.
|
||
|
||
**Obsoleted:**: Support for the Raspberry Pi Zero was never completed.
|
||
The incomplete port along with all support for the BCM2708 was removed
|
||
from the repository with the NuttX-7.28 release but can still be be
|
||
found in the *Obsoleted* repository.
|
||
|
||
ARM Cortex-A5
|
||
=============
|
||
|
||
Microchip SAMA5D2
|
||
-----------------
|
||
|
||
- **Microchip SAMA5D2 Xplained Ultra development board**. This is the port
|
||
of NuttX to the Microchip SAMA5D2 Xplained Ultra development board. This
|
||
board features the Microchip SAMA5D27 microprocessor.
|
||
See https://www.microchip.com/Developmenttools/ProductDetails/ATSAMA5D2C-XULT
|
||
|
||
- **Groboards Giant Board**. This is the port of NuttX to the Groboards
|
||
Giant Board board. This board features the Microchip SAMA5D27C-D1G.
|
||
See http://groboards.com/giant-board.
|
||
|
||
Microchip SAMA5D3
|
||
-----------------
|
||
|
||
There are ports to two Microchip SAMA5D3 boards:
|
||
|
||
- **Microchip SAMA5D3\ x-EK development boards**. This is the port of NuttX
|
||
to the Microchip SAMA5D3\ *x*-EK development boards (where *x*\ =1,3,4,
|
||
or 5). These boards feature the Microchip SAMA5D3\ *x* microprocessors.
|
||
Four different SAMA5D3\ *x*-EK kits are available
|
||
|
||
- SAMA5D31-EK with the
|
||
`ATSAMA5D31 <http://www.atmel.com/devices/sama5d31.aspx>`__
|
||
- SAMA5D33-EK with the
|
||
`ATSAMA5D33 <http://www.atmel.com/devices/sama5d33.aspx>`__
|
||
- SAMA5D34-EK with the
|
||
`ATSAMA5D34 <http://www.atmel.com/devices/sama5d34.aspx>`__
|
||
- SAMA5D35-EK with the
|
||
`ATSAMA5D35 <http://www.atmel.com/devices/sama5d35.aspx>`__
|
||
|
||
The each kit consist of an identical base board with different
|
||
plug-in modules for each CPU. All four boards are supported by NuttX
|
||
with a simple reconfiguration of the processor type.
|
||
|
||
**STATUS**. Initial support for the SAMA5D3x-EK was released in
|
||
NuttX-6.29. That initial support was minimal: There are simple test
|
||
configurations that run out of internal SRAM and extended
|
||
configurations that run out of the on-board NOR FLASH:
|
||
|
||
- A barebones NuttShell (:ref:`NSH <nsh>`) configuration
|
||
that can be used as the basis for further application development.
|
||
- A full-loaded NuttShell (:ref:`NSH <nsh>`) configuration
|
||
that demonstrates all of the SAMA5D3x features.
|
||
|
||
The following support was added in NuttX 6.30:
|
||
|
||
- DMA support, and
|
||
- PIO interrupts,
|
||
|
||
And drivers for
|
||
|
||
- SPI (with DMA support),
|
||
- AT25 Serial Flash,
|
||
- Two Wire Interface (TWI), and
|
||
- HSMCI memory cards.
|
||
|
||
NuttX-6.30 also introduces full USB support:
|
||
|
||
- High speed device controller driver,
|
||
- OHCI (low- and full-speed) and
|
||
- EHCI (high-speed) host controller driver support.
|
||
|
||
With NuttX-6.31, these additional drivers were added:
|
||
|
||
- A 10/100Base-T Ethernet (EMAC) driver,
|
||
- A 1000Base-T Ethernet (GMAC) driver,
|
||
- A Real Time Clock (RTC) driver and integrated with the NuttX
|
||
system time logic
|
||
- ``/dev/random`` using the SAMA5D3x True Random Number Generator
|
||
(TRNG),
|
||
- A Watchdog Timer (WDT) driver,
|
||
- A Timer/Counter (TC) library with interface that make be used by
|
||
other drivers that need timer support,
|
||
- An ADC driver that can collect multiple samples using the
|
||
sequencer, can be trigger by a timer/counter, and supports DMA
|
||
data transfers,
|
||
- A touchscreen driver based on the special features of the SAMA5D3
|
||
ADC peripheral, An LCD controller (LCDC) frame buffer driver, and
|
||
- A CAN driver (Testing of the CAN has been delayed because of
|
||
cabling issues).
|
||
|
||
Additional board configurations were added to test and demonstrate
|
||
these new drivers including new graphics and NxWM configurations.
|
||
|
||
These drivers were added in NuttX-6.32:
|
||
|
||
- A PWM driver with DMA support
|
||
- An SSC-based I2S driver
|
||
- Support for Programmable clock outputs
|
||
- NAND support including support for the PMECC hardware ECC and for
|
||
DMA transfers.
|
||
|
||
DBGU support was added in NuttX-7.2 (primarily for the SAMA5D3
|
||
Xplained board).
|
||
|
||
NuttX-7.4 added support for the on-board WM8904 CODEC chip and for
|
||
*Tickless* operation.
|
||
|
||
Refer to the NuttX board
|
||
`README <https://github.com/apache/nuttx/blob/master/boards/arm/sama5/sama5d3x-ek/README.txt>`__
|
||
file for further information.
|
||
|
||
**Microchip SAMA5D3 Xplained development board** This is the port of NuttX
|
||
to the Microchip SAMA5D3 Xplained development board. The board features the
|
||
Microchip SAMA5D36 microprocessor. See the `Microchip
|
||
Website <http://www.atmel.com/devices/sama5d36.aspx>`__ for additional
|
||
information about this board.
|
||
|
||
**STATUS**. This port is complete as of this writing and ready for
|
||
general use. The basic port is expected to be simple because of the
|
||
similarity to the SAMAD3\ *x*-EK boards and is available in the NuttX
|
||
7.2 release.
|
||
|
||
Most of the drivers and capabilities of the SAMA5D3x-EK boards can be
|
||
used with the SAMA5D3 Xplained board. The primary difference between the
|
||
ports is that the SAMA5D3x-EK supports NOR FLASH and NuttX can be
|
||
configured to boot directly from NOR FLASH. The SAMA5D3 Xplained board
|
||
does not have NOR FLASH and, as a consequence NuttX must boot into SDRAM
|
||
with the help of U-Boot.
|
||
|
||
Refer to the NuttX board
|
||
`README <https://github.com/apache/nuttx/blob/master/boards/arm/sama5/sama5d3-xplained/README.txt>`__
|
||
file for further information.
|
||
|
||
Microchip SAMA5D4
|
||
-----------------
|
||
|
||
There is a port in progress on one Microchip SAMA5D4 board:
|
||
|
||
- **Microchip SAMA5D4-EK/MB development boards** This is the port of NuttX
|
||
to the Microchip SAMA5D4-MB Rev C. development board (which should be
|
||
compatible with the SAMA5D4-EK). These boards feature the Microchip
|
||
SAMA5D44 microprocessors with compatibility with most of the SAMA5D3
|
||
peripherals.
|
||
|
||
**STATUS**. At the time of the release of NuttX-7.3, the basic port
|
||
for the SAMA5D4-MB was complete. The board had basic functionality.
|
||
But full functionality was not available until NuttX-7.4. In
|
||
NuttX-7.4 support was added for the L2 cache, many security features,
|
||
XDMAC, HSMCI and Ethernet integrated with XDMAC, the LCDC, TWI, SSC,
|
||
and most of the existing SAMA5 drivers. Timers were added to support
|
||
*Tickless* operation. The TM7000 LCDC with the maXTouch multi-touch
|
||
controller are also fully support in a special NxWM configuration for
|
||
that larger display. Support for a graphics media player is included
|
||
(although there were issues with the WM8904 audio CODEC on my board).
|
||
An SRAM bootloader was also included. Refer to the NuttX board
|
||
`README <https://github.com/apache/nuttx/blob/master/boards/arm/sama5/sama5d4-ek/README.txt>`__
|
||
file for current status.
|
||
|
||
**Development Environments:** 1) Linux with native Linux GNU toolchain,
|
||
2) Cygwin/MSYS with Cygwin GNU toolchain, 3) Cygwin/MSYS with Windows
|
||
native toolchain, or 4) Native Windows. All testing has been performed
|
||
with the CodeSourcery toolchain (GCC version 4.7.3) in the Cygwin
|
||
environment under Windows.
|
||
|
||
ARM Cortex-A8
|
||
=============
|
||
|
||
Allwinner A10
|
||
-------------
|
||
|
||
These following boards are based on the Allwinner A10
|
||
have are supported by NuttX:
|
||
|
||
- **pcDuino v1**. A port of NuttX to the pcDuino v1 board was first
|
||
released in NuttX-6.33. See http://www.pcduino.com/ for information
|
||
about pcDuino Lite, v1, and v2 boards. These boards are based around
|
||
the Allwinner A10 Cortex-A8 CPU. This port was developed on the v1
|
||
board, but the others may be compatible:
|
||
|
||
Refer to the NuttX board
|
||
`README <https://github.com/apache/nuttx/blob/master/boards/arm/a1x/pcduino-a10/README.txt>`__
|
||
file for further information.
|
||
|
||
**STATUS**. This port was an experiment was was not completely
|
||
developed. This configuration builds and runs an NuttShell (NSH), but
|
||
only if a patch to work around some issues is applied. While not
|
||
ready for "prime time", the pcDuino port is functional and could the
|
||
basis for a more extensive development. There is, at present, no work
|
||
in progress to extend this port, however.
|
||
|
||
TI/Sitara AM335x
|
||
----------------
|
||
|
||
These following boards are based on the TI/Sitara
|
||
AM335x are supported by NuttX:
|
||
|
||
- **Beaglebone Black**. A port of NuttX to the Beaglebone Black board
|
||
was first released in NuttX-7.28. This port was contributed by Petro
|
||
Karashchenko. This board is based on the TI/Sitara AM3358 Cortex-A8
|
||
CPU running 1GHz.
|
||
|
||
- **NuttX-7.28**. This initial port in NuttX-7.28 is very sparse.
|
||
While not ready for prodcution use, the Beaglebone Black port is
|
||
functional and will be the basis for a more extensive development.
|
||
Additional work in progress to extend this port and more capable
|
||
is anticipated in NuttX-7.29.
|
||
- **NuttX-9.0** CAN support was added. Clock Configuration was
|
||
added.
|
||
- **NuttX-7.31**. An LCD driver was added in NuttX-7.31.
|
||
|
||
Refer to the Beaglebone Black board
|
||
`README <https://github.com/apache/nuttx/blob/master/boards/arm/am335x/beaglebone-black/README.txt>`__
|
||
file for further, up-to-date information.
|
||
|
||
ARM Cortex-A53
|
||
==============
|
||
|
||
Allwinner A64
|
||
-------------
|
||
|
||
The basic port has been completed for the following Allwinner A64 board:
|
||
|
||
- **PINE64 PinePhone**: Refer to :doc:`PINE64 PinePhone </platforms/arm/a64/boards/pinephone/index>` for further information.
|
||
|
||
ARM Cortex-A9
|
||
=============
|
||
|
||
NXP/Freescale i.MX6
|
||
-------------------
|
||
|
||
The basic port has been completed for the following i.MX6 board:
|
||
|
||
- **Sabre-6Quad**. This is a port to the NXP/Freescale Sabre-6Quad
|
||
board. Refer to the NuttX board
|
||
`README <https://github.com/apache/nuttx/blob/master/boards/arm/imx6/sabre-6quad/README.txt>`__
|
||
file for further information.
|
||
|
||
**STATUS:** The basic, minimal port is code complete and introduced
|
||
in NuttX-7.15, but had not yet been tested at that time due to the
|
||
inavailability of hardware. This basic port was verified in the
|
||
NuttX-7.16 release, however. The port is still minimal and more
|
||
device drivers are needed to make the port usable.
|
||
|
||
Basic support of NuttX running in SMP mode on the i.MX6Q was also
|
||
accomplished in NuttX-7.16. However, there are still known issues
|
||
with SMP support on this platform as described in the
|
||
`README <https://github.com/apache/nuttx/blob/master/boards/arm/imx6/sabre-6quad/README.txt>`__
|
||
file for the board.
|
||
|
||
ARM Cortex-R4
|
||
=============
|
||
|
||
TI/Hercules TMS570LS04xx
|
||
------------------------
|
||
|
||
A port is available for the Texas Instruments
|
||
Hercules TMS570LS04x/03x LaunchPad Evaluation Kit (*LAUNCHXL-TMS57004*)
|
||
featuring the Hercules TMS570LS0432PZ chip.
|
||
|
||
TI/Hercules TMS570LS31xx
|
||
------------------------
|
||
|
||
Architecture support for the TMS570LS3137ZWT
|
||
part was added in NuttX 7.25 by Ivan Ucherdzhiev. Ivan also added
|
||
support for the TI Hercules TMS570LS31x USB Kit.
|
||
|
||
ARM Cortex-M0/M0+
|
||
=================
|
||
|
||
nuvoTon NUC120
|
||
--------------
|
||
|
||
This is a port of NuttX to the nuvoTon NuTiny-SDK-NUC120
|
||
that features the NUC120LE3AN MCU.
|
||
|
||
**STATUS**. Initial support for the NUC120 was released in NuttX-6.26.
|
||
This initial support is very minimal: There is a NuttShell
|
||
(:ref:`NSH <nsh>`) configuration that might be the basis for an
|
||
application development. As of this writing, more device drivers are
|
||
needed to make this a more complete port. Refer to the NuttX board
|
||
`README <https://github.com/apache/nuttx/blob/master/boards/arm/nuc1xx/nutiny-nuc120/README.txt>`__
|
||
file for further information.
|
||
|
||
**Memory Usage**. For a full-featured RTOS such as NuttX, providing
|
||
support in a usable and meaningful way within the tiny memories of the
|
||
NUC120 demonstrates the scalability of NuttX. The NUC120LE2AN comes in a
|
||
48-pin package and has 128KB FLASH and 16KB of SRAM. When running the
|
||
NSH configuration (itself a full up application), there is still more
|
||
than 90KB of FLASH and 10KB or SRAM available for further application
|
||
development).
|
||
|
||
Static memory usage can be shown with ``size`` command:
|
||
|
||
NuttX, the NSH application, and GCC libraries use 34.2KB of FLASH
|
||
leaving 93.8KB of FLASH (72%) free from additional application
|
||
development. Static SRAM usage is about 1.2KB (<4%) and leaves 14.8KB
|
||
(86%) available for heap at runtime. SRAM usage at run-time can be shown
|
||
with the NSH ``free`` command:
|
||
|
||
You can see that 10.0KB (62%) is available for further application
|
||
development.
|
||
|
||
**Development Environments:** 1) Linux with native Linux GNU toolchain,
|
||
2) Cygwin/MSYS with Cygwin GNU toolchain, 3) Cygwin/MSYS with Windows
|
||
native toolchain, 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/FreeScale KL25Z
|
||
-------------------
|
||
|
||
There are two board ports for the KL25Z parts:
|
||
|
||
**Freedom KL25Z**. This is a port of NuttX to the Freedom KL25Z board
|
||
that features the MKL25Z128 Cortex-M0+ MCU, 128KB of FLASH and 16KB of
|
||
SRAM. See the
|
||
`Freescale <http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=FRDM-KL25Z&tid=vanFRDM-KL25Z>`__
|
||
website for further information about this board.
|
||
|
||
**PJRC Teensy-LC**. This is a port of NuttX to the PJRC Teensy-LC board
|
||
that features the MKL25Z64 Cortex-M0+ MCU, 64KB of FLASH and 8KB of
|
||
SRAM. The Teensy LC is a DIP style breakout board for the MKL25Z64 and
|
||
comes with a USB based bootloader. See the
|
||
`Freescale <http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=FRDM-KL25Z&tid=vanFRDM-KL25Z>`__
|
||
website for further information about this board.
|
||
|
||
NXP/FreeScale KL26Z
|
||
-------------------
|
||
|
||
This is a port of NuttX to the Freedom KL25Z
|
||
board that features the MK26Z128VLH4 Cortex-M0+ MCU, 128KB of FLASH and
|
||
16KB of SRAM. See the
|
||
`Freescale <http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=FRDM-KL26Z&tid=vanFRDM-KL26Z>`__
|
||
website for further information about this board.
|
||
|
||
Microchip SAMD20
|
||
----------------
|
||
|
||
The port of NuttX to the Microchip SAMD20-Xplained Pro
|
||
development board. This board features the ATSAMD20J18A MCU (Cortex-M0+
|
||
with 256KB of FLASH and 32KB of SRAM).
|
||
|
||
Microchip SAMD21
|
||
----------------
|
||
|
||
There two boards supported for the SAMD21:
|
||
|
||
#. The port of NuttX to the Microchip SAMD21-Xplained Pro development board
|
||
added in NuttX-7.11, and
|
||
#. The port of NuttX to the Arduino-M0 contributed by Alan Carvalho de
|
||
Assis in NuttX-8.2. The initial release included *nsh* and *usbnsh*
|
||
configurations.
|
||
|
||
Microchip SAML21
|
||
----------------
|
||
|
||
The port of NuttX to the Microchip SAML21-Xplained Pro
|
||
development board. This board features the ATSAML21J18A MCU (Cortex-M0+
|
||
with 256KB of FLASH and 32KB of SRAM).
|
||
|
||
NXP LPC11xx
|
||
-----------
|
||
|
||
Support is provided for the NXP LPC11xx family of
|
||
processors. In particular, support is provided for LPCXpresso LPC1115
|
||
board. This port was contributed by Alan Carvalho de Assis.
|
||
|
||
NXP S32K11x
|
||
-----------
|
||
|
||
Support is provided for the NXP S32K11x family of
|
||
processors and, in particular, the S32K118EVB development board.
|
||
|
||
ARM Cortex-M3
|
||
=============
|
||
|
||
TI/Stellaris LM3S6432
|
||
---------------------
|
||
|
||
This is a port of NuttX to the Stellaris RDK-S2E
|
||
Reference Design Kit and the MDL-S2E Ethernet to Serial module
|
||
(contributed by Mike Smith).
|
||
|
||
TI/Stellaris LM3S6432S2E
|
||
------------------------
|
||
|
||
This port uses Serial-to-Ethernet Reference
|
||
Design Kit and has
|
||
similar support as for the other Stellaris family members. A
|
||
configuration is available for the NuttShell (NSH) (see :ref:`NSH <nsh>`). The NSH
|
||
configuration including networking support with a Telnet NSH console.
|
||
This port was contributed by Mike Smith.
|
||
|
||
TI/Stellaris LM3S6918
|
||
---------------------
|
||
|
||
This port uses the
|
||
`Micromint <http://www.micromint.com/>`__ Eagle-100 development board
|
||
with a GNU arm-nuttx-elf toolchain\* under either Linux or Cygwin.
|
||
|
||
**Development Environments:** 1) Linux with native Linux GNU toolchain,
|
||
2) Cygwin/MSYS with Cygwin GNU toolchain, 3) Cygwin/MSYS with Windows
|
||
native toolchain (CodeSourcery or devkitARM), or 4) Native Windows. A
|
||
DIY toolchain for Linux or Cygwin is provided by the NuttX
|
||
`buildroot <https://bitbucket.org/nuttx/buildroot/downloads/>`__
|
||
package.
|
||
|
||
TI/Stellaris LM3S6965
|
||
---------------------
|
||
|
||
This port uses the Stellaris LM3S6965 Ethernet
|
||
Evaluation Kit with a GNU arm-nuttx-elf toolchain\* under either Linux
|
||
or Cygwin.
|
||
|
||
**Development Environments:** See the Eagle-100 LM3S6918 above.
|
||
|
||
TI/Stellaris LM3S8962
|
||
---------------------
|
||
|
||
This port uses the Stellaris EKC-LM3S8962
|
||
Ethernet+CAN Evaluation Kit with a GNU arm-nuttx-elf toolchain\* under
|
||
either Linux or Cygwin. Contributed by Larry Arnold.
|
||
|
||
TI/Stellaris LM3S9B92
|
||
---------------------
|
||
|
||
Architectural support for the LM3S9B92 was
|
||
contributed by Lwazi Dube in NuttX 7.28. No board support for boards
|
||
using the LM3S9B92 are currently available.
|
||
|
||
TI/Stellaris LM3S9B96
|
||
---------------------
|
||
|
||
Header file support was contributed by Tiago
|
||
Maluta for this part. Jose Pablo Rojas V. is used those header file
|
||
changes to port NuttX to the TI/Stellaris EKK-LM3S9B96. That port was
|
||
available in the NuttX-6.20 release. Refer to the NuttX board
|
||
`README <https://github.com/apache/nuttx/blob/master/boards/arm/tiva/ekk-lm3s9b96/README.txt>`__
|
||
file for further information.
|
||
|
||
TI/SimpleLink CC13x0
|
||
--------------------
|
||
|
||
Basic, unverified architectural support for the
|
||
CC13x0 was added in NuttX-7.28. This is a work in progress and, with any
|
||
luck, a fully verified port will be available in NuttX-7.29.
|
||
|
||
SiLabs EFM32 Gecko
|
||
------------------
|
||
|
||
This is a port for the Silicon Laboratories' EFM32
|
||
*Gecko* family. Board support is available for the following:
|
||
|
||
#. **SiLabs EFM32 Gecko Starter Kit (EFM32-G8XX-STK)**. The Gecko
|
||
Starter Kit features:
|
||
|
||
- EFM32G890F128 MCU with 128 kB flash and 16 kB RAM
|
||
- 32.768 kHz crystal (LXFO) and 32 MHz crystal (HXFO)
|
||
- Advanced Energy Monitoring
|
||
- Touch slider
|
||
- 4x40 LCD
|
||
- 4 User LEDs
|
||
- 2 pushbutton switches
|
||
- Reset button and a switch to disconnect the battery.
|
||
- On-board SEGGER J-Link USB emulator
|
||
- ARM 20 pin JTAG/SWD standard Debug in/out connector
|
||
|
||
**STATUS**. The basic port is verified and available now. This
|
||
includes on-board LED and button support and a serial console
|
||
available on LEUART0. A single configuration is available using the
|
||
NuttShell NSH and the LEUART0 serial console. DMA and USART-based SPI
|
||
supported are included, but not fully tested.
|
||
|
||
Refer to the EFM32 Gecko Starter Kit
|
||
`README.txt <https://github.com/apache/nuttx/blob/master/boards/arm/efm32/efm32-g8xx-stk/README.txt>`__
|
||
file for further information.
|
||
|
||
#. **Olimex EFM32G880F120-STK**. This board features:
|
||
|
||
- EFM32G880F128 with 128 kB flash and 16 kB RAM
|
||
- 32.768 kHz crystal (LXFO) and 32 MHz crystal (HXFO)
|
||
- LCD custom display
|
||
- DEBUG connector with ARM 2x10 pin layout for programming/debugging
|
||
with ARM-JTAG-EW
|
||
- UEXT connector
|
||
- EXT extension connector
|
||
- RS232 connector and driver
|
||
- Four user buttons
|
||
- Buzzer
|
||
|
||
**STATUS**. The board support is complete but untested because of
|
||
tool-related issues. An OpenOCD compatible, SWD debugger would be
|
||
required to make further progress in testing.
|
||
|
||
Refer to the Olimex EFM32G880F120-STK
|
||
`README.txt <https://github.com/apache/nuttx/blob/master/boards/arm/efm32/olimex-efm32g880f128-stk/README.txt>`__
|
||
for further information.
|
||
|
||
SiLabs EFM32 Giant Gecko
|
||
------------------------
|
||
|
||
This is a port for the Silicon Laboratories'
|
||
EFM32 *Giant Gecko* family. This board features the EFM32GG990F1024 MCU
|
||
with 1 MB flash and 128 kB RAM.
|
||
|
||
Board support is available for the following:
|
||
|
||
- **SiLabs EFM32 Giant Gecko Starter Kit t (EFM32GG-STK3700)**. The
|
||
Gecko Starter Kit features:
|
||
|
||
- EFM32GG990F1024 MCU with 1 MB flash and 128 kB RAM
|
||
- 32.768 kHz crystal (LXFO) and 48 MHz crystal (HXFO)
|
||
- 32 MB NAND flash
|
||
- Advanced Energy Monitoring
|
||
- Touch slider
|
||
- 8x20 LCD
|
||
- 2 user LEDs
|
||
- 2 user buttons
|
||
- USB interface for Host/Device/OTG
|
||
- Ambient light sensor and inductive-capacitive metal sensor
|
||
- EFM32 OPAMP footprint
|
||
- 20 pin expansion header
|
||
- Breakout pads for easy access to I/O pins
|
||
- Power sources (USB and CR2032 battery)
|
||
- Backup Capacitor for RTC mode
|
||
- Integrated Segger J-Link USB debugger/emulator
|
||
|
||
**STATUS**.
|
||
|
||
- The basic board support for the *Giant Gecko* was introduced int
|
||
the NuttX source tree in NuttX-7.6. A verified configuration was
|
||
available for the basic NuttShell (NSH) using LEUART0 for the
|
||
serial console.
|
||
- Development of USB support is in started, but never completed.
|
||
- Reset Management Unit (RMU) was added Pierre-noel Bouteville in
|
||
NuttX-7.7.
|
||
|
||
STMicro STM32 L152
|
||
------------------
|
||
|
||
(STM32L "EnergyLite" Line). Two boards are supported:
|
||
|
||
- STM32L-Discovery. This is a port of NuttX to the STMicro
|
||
STM32L-Discovery development board. The STM32L-Discovery board is
|
||
based on the STM32L152RBT6 MCU (128KB FLASH and 16KB of SRAM).
|
||
|
||
The STM32L-Discovery and STM32L152C DISCOVERY kits are functionally
|
||
equivalent. The difference is the internal Flash memory size
|
||
(STM32L152RBT6 with 128 Kbytes or STM32L152RCT6 with 256 Kbytes).
|
||
Both boards feature:
|
||
|
||
- An ST-LINK/V2 embedded debug tool interface,
|
||
- LCD (24 segments, 4 commons),
|
||
- LEDs,
|
||
- Pushbuttons,
|
||
- A linear touch sensor, and
|
||
- Four touchkeys.
|
||
|
||
- Nucleo-L152RE. Board support for the Nucleo-L152RE was contributed by
|
||
Mateusz Szafoni in NuttX-7.28. Available configurations include NSH,
|
||
ADC, and PWM.
|
||
|
||
**STATUS**. Initial support for the STM32L-Discovery was released in
|
||
NuttX-6.28. Addition (architecture-only) support for the STM32L152xC
|
||
family was added in NuttX-7.21. Support for the Nucleo-L152RE was added
|
||
in NuttX-7.28.
|
||
|
||
That initial STM32L-Discovery support included a configuration using the
|
||
NuttShell (:ref:`NSH <nsh>`) that might be the basis for an
|
||
application development. A driver for the on-board segment LCD is
|
||
included as well as an option to drive the segment LCD from an NSH
|
||
"built-in" command. Refer to the STM32L-Discovery board
|
||
`README <https://github.com/apache/nuttx/blob/master/boards/arm/stm32/stm32ldiscovery/README.txt>`__
|
||
file for further information.
|
||
|
||
**Memory Usage**.
|
||
|
||
REVISIT: These numbers are out of date. Current NuttX sizing might be
|
||
somewhat larger.
|
||
|
||
For a full-featured RTOS such as NuttX, providing support in a usable
|
||
and meaningful way within the tiny memories of the STM32L152RBT6
|
||
demonstrates the scalability of NuttX. The STM32L152RBT6 comes in a
|
||
64-pin package and has 128KB FLASH and 16KB of SRAM.
|
||
|
||
Static memory usage can be shown with ``size`` command:
|
||
|
||
NuttX, the NSH application, and GCC libraries use 38.7KB of FLASH
|
||
leaving 89.3B of FLASH (70%) free from additional application
|
||
development. Static SRAM usage is about 1.2KB (<4%) and leaves 14.8KB
|
||
(86%) available for heap at runtime.
|
||
|
||
SRAM usage at run-time can be shown with the NSH ``free`` command:
|
||
|
||
You can see that 9.9KB (62%) of SRAM heap is still available for further
|
||
application development while NSH is running.
|
||
|
||
STMicro STM32 L15x/16x
|
||
----------------------
|
||
|
||
(STM32 L1 "EnergyLite" Medium+ Density Family).
|
||
Support for the STM32L152 and STM32L162 Medium+ density parts from Jussi
|
||
Kivilinna and Sami Pelkonen was included in NuttX-7.3, extending the
|
||
basic STM32L152x support. This is *architecture-only* support, meaning
|
||
that support for the boards with these chips is available, but no
|
||
support for any publicly available boards is included.
|
||
|
||
STMicro STM32 F0xx
|
||
------------------
|
||
|
||
(STM32 F0, ARM Cortex-M0). Support for the STM32 F0
|
||
family was contributed by Alan Carvalho de Assis in NuttX-7.21. There
|
||
are ports to three different boards in this repository:
|
||
|
||
- **STM32F0-Discovery** This board features the STM32 2F051R8 and was
|
||
used by Alan to produce the initial STM32 F0 port. However, its very
|
||
limited 8KB SRAM makes this port unsuitable for for usages.
|
||
Contributed by Alan Carvalho de Assis in NuttX-7.21.
|
||
- **Nucleo-F072RB** With 16KB of SRAM the STM32 F072RB makes a much
|
||
more usable platform.
|
||
- **Nucleo-F091RC** With 32KB of SRAM the STM32 F091RC this board is a
|
||
great match for NuttX. Contributed by Juha Niskanen in NuttX-7.21.
|
||
|
||
STMicro STM32 L0xx
|
||
------------------
|
||
|
||
(STM32 L0, ARM Cortex-M0). Support for the STM32 FL
|
||
family was contributed by Mateusz Sfafoni in NuttX-7.28. There are ports
|
||
to two different STM32 L0 boards in the repository:
|
||
|
||
**B-L072Z-LRWAN1** Contributed byMateusz Sfafoni in NuttX-7.28.
|
||
**Nucleo-L073RZ** Contributed byMateusz Sfafoni in NuttX-7.28.
|
||
|
||
STMicro STM32 G0xx
|
||
------------------
|
||
|
||
(STM32 G0, ARM Cortex-M0+). Support for the STM32 FL
|
||
family was contributed by Mateusz Sfafoni in NuttX-7.28. There are ports
|
||
to two different STM32 L0 boards in the repository:
|
||
|
||
- **Nucleo-G071RB** Initial support for Nucleo-G071RB was contributed
|
||
by Mateusz Szafoni in NuttX-7.31. Refer to the board
|
||
`README <https://github.com/apache/nuttx/blob/master/boards/arm/stm32f0l0g0/nucleo-g071rb/README.txt>`__
|
||
file for further information.
|
||
- **Nucleo-G070RB** Contributed by Daniel Pereira Volpato. in
|
||
NuttX-8.2. Refer to the board
|
||
`README <https://github.com/apache/nuttx/blob/master/boards/arm/stm32f0l0g0/nucleo-g070rb/README.txt>`__
|
||
file for further information.
|
||
|
||
**STATUS:** Status for the STM32F0xx, STM32L0xx, and STM32G0xx is shown
|
||
together since these parts share many drivers in common.
|
||
|
||
**NuttX-7.21**. In this initial release, the level of support for the
|
||
STM32 F0 family is minimal. Certainly enough is in place to support a
|
||
robust NSH configuration. There are also unverified I2C and USB device
|
||
drivers available in NuttX-7.21.
|
||
|
||
**NuttX-7.28** Added support for GPIO EXTI. From Mateusz Sfafoni.
|
||
|
||
**NuttX-7.29** Added an SPI driver. From Mateusz Sfafoni.
|
||
|
||
**NuttX-7.30** Added ADC and I2C drivers. From Mateusz Szafoni. Add AES
|
||
and RND drivers for the L0. From Mateusz Szafoni. Add support for HS148
|
||
for L0. From Mateusz Szafoni.
|
||
|
||
**NuttX-8.2** Added PWM and TIM drivers for the G0. From Daniel Pereira
|
||
Volpato.
|
||
|
||
**NuttX-9.0** Added I2C support for F0, L0 and G0.
|
||
|
||
STMicro STM32 F100x
|
||
-------------------
|
||
|
||
(STM32 F1 "Value Line"Family).
|
||
|
||
- **Proprietary Boards** Chip support for these STM32 "Value Line"
|
||
family was contributed by Mike Smith and users have reported that
|
||
they have successful brought up NuttX on their proprietary boards
|
||
using this logic.
|
||
|
||
- **STM32VL-Discovery**. In NuttX-6.33, support for the STMicro
|
||
STM32VL-Discovery board was contributed by Alan Carvalho de Assis.
|
||
The STM32VL-Discovery board features an STM32F100RB MCU. Refer to the
|
||
NuttX board
|
||
`README <https://github.com/apache/nuttx/blob/master/boards/arm/stm32/stm32vldiscovery/README.txt>`__
|
||
file for further information.
|
||
|
||
STMicro STM32 F102x
|
||
-------------------
|
||
|
||
Architecture support (only) for the STM32 F102 family
|
||
was contributed by the PX4 team in NuttX-7.7.
|
||
|
||
STMicro STM32 F103C4/C8
|
||
-----------------------
|
||
|
||
(STM32 F1 Low- and Medium-Density Family). There
|
||
are two ports available for this family:
|
||
|
||
- One port is for "STM32 Tiny" development board. This board is
|
||
available from several vendors on the net, and may be sold under
|
||
different names. It is based on a STM32 F103C8T6 MCU, and is bundled
|
||
with a nRF24L01 wireless communication module.
|
||
|
||
- The other port is for a generic minimal STM32F103CBT6 "blue" board
|
||
contributed by Alan Carvalho de Assis. Alan added support for
|
||
numerous sensors, tone generators, user LEDs, and LCD support in
|
||
NuttX 7.18.
|
||
|
||
**STATUS:**
|
||
|
||
STMicro STM32 F103x
|
||
-------------------
|
||
|
||
(STM32 F1 Family). Support for five board
|
||
configurations are available. MCU support includes all of the high
|
||
density and connectivity line families. Board supported is available
|
||
specifically for: STM32F103ZET6, STM32F103RET6, STM32F103VCT,
|
||
STM32F103VET6, STM32F103RBT6, and STM32103CBT6. Boards supported
|
||
include:
|
||
|
||
#. **STM3210E-EVAL**. A port for the `STMicro <http://www.st.com/>`__
|
||
STM3210E-EVAL development board that features the STM32F103ZET6 MCU.
|
||
Refer to the NuttX board
|
||
`README <https://github.com/apache/nuttx/blob/master/boards/arm/stm32/stm3210e-eval/README.txt>`__
|
||
file for further information.
|
||
|
||
#. **HY-Mini STM32v board**. This board is based on the STM32F103VCT
|
||
chip. Port contributed by Laurent Latil. Refer to the NuttX board
|
||
`README <https://github.com/apache/nuttx/blob/master/boards/arm/stm32/hymini-stm32v/README.txt>`__
|
||
file.
|
||
|
||
#. **The M3 Wildfire development board (STM32F103VET6), version 2**. See
|
||
http://firestm32.taobao.com (the current board is version 3). Refer
|
||
to the NuttX board
|
||
`README <https://github.com/apache/nuttx/blob/master/boards/arm/stm32/fire-stm32v2/README.txt>`__
|
||
file for further information.
|
||
|
||
#. **LeafLab's Maple and Maple Mini boards**. These boards are based on
|
||
the STM32F103RBT6 chip for the standard version and on the
|
||
STM32F103CBT6 for the mini version. See the
|
||
`LeafLabs <http://leaflabs.com/docs/hardware/maple.html>`__ web site
|
||
for hardware information; see the NuttX board
|
||
`README <https://github.com/apache/nuttx/blob/master/boards/arm/stm32/maple/README.txt>`__
|
||
file for further information about the NuttX port.
|
||
|
||
#. **Olimexino-STM32**. This port uses the Olimexino STM32 board
|
||
(STM32F103RBT6). See the http://www.olimex.com for further
|
||
information. Contributed by David Sidrane.
|
||
|
||
#. **Nucleo-STM32F103RB**. This port uses the STM32F103RBT6. It was
|
||
contributed by Mateusz Szafoni in NuttX-7.28,
|
||
|
||
These ports uses a GNU arm-nuttx-elf toolchain\* under either Linux or
|
||
Cygwin (with native Windows GNU tools or Cygwin-based GNU tools).
|
||
|
||
**STATUS:**
|
||
|
||
- **Basic Support/Drivers**. The basic STM32 port was released in NuttX
|
||
version 0.4.12. The basic port includes boot-up logic, interrupt
|
||
driven serial console, and system timer interrupts. The 0.4.13
|
||
release added support for SPI, serial FLASH, and USB device.; The
|
||
4.14 release added support for buttons and SDIO-based MMC/SD and
|
||
verified DMA support. Verified configurations are available for the
|
||
NuttShell (NSH) example, the USB serial device class, and the USB
|
||
mass storage device class example.
|
||
|
||
- **Additional Drivers**. Additional drivers and configurations were
|
||
added in NuttX 6.13 and later releases for the STM32 F1 and F4. F1
|
||
compatible drivers include an Ethernet driver, ADC driver, DAC
|
||
driver, PWM driver, IWDG, WWDG, and CAN drivers.
|
||
|
||
- **M3 Wildfire**. Support for the Wildfire board was included in
|
||
version 6.22 of NuttX. The board port is basically functional. Not
|
||
all features have been verified. Support for FAT file system on an an
|
||
SD card had been verified. The ENC28J60 network is functional (but
|
||
required lifting the chip select pin on the W25x16 part).
|
||
Customizations for the v3 version of the Wildfire board are
|
||
selectable (but untested).
|
||
|
||
- **Maple**. Support for the Maple boards was contributed by Yiran Liao
|
||
and first appear in NuttX 6-30.
|
||
|
||
- **Olimexino-STM32**. Contributed by David Sidrane and introduced with
|
||
NuttX 7.9. Configurations are included for the NuttShell (NSH), a
|
||
tiny version of the NuttShell, USB composite CDC/ACM + MSC, CAN
|
||
support, and two tiny, small-footprint NSH configurations.
|
||
|
||
- **Nucleo-STM32F103RB**. Contributed by Mateusz Szafoni and introduced
|
||
with NuttX 7.28. Configurations are included for the NuttShell (NSH),
|
||
ADC, and PWM.
|
||
|
||
**Development Environments:** 1) Linux with native Linux GNU toolchain,
|
||
2) Cygwin/MSYS with Cygwin GNU toolchain, 3) Cygwin/MSYS with Windows
|
||
native toolchain (RIDE7, CodeSourcery or devkitARM), or 4) Native
|
||
Windows. A DIY toolchain or Linux or Cygwin is provided by the NuttX
|
||
`buildroot <https://bitbucket.org/nuttx/buildroot/downloads/>`__
|
||
package.
|
||
|
||
STMicro STM32 F105x
|
||
-------------------
|
||
|
||
Architecture support (only) for the STM32 F105R was
|
||
contribed in NuttX-7.17 by Konstantin Berezenko. There is currently no
|
||
support for boards using any STM32F105x parts in the source tree.
|
||
|
||
STMicro STM32 F107x
|
||
-------------------
|
||
|
||
(STM32 F1 "Connectivity Line" family). Chip support
|
||
for the STM32 F1 "Connectivity Line" family has been present in NuttX
|
||
for some time and users have reported that they have successful brought
|
||
up NuttX on their proprietary boards using this logic.
|
||
|
||
**Olimex STM32-P107** Support for the `Olimex
|
||
STM32-P107 <https://www.olimex.com/dev/stm32-p107.html>`__ was
|
||
contributed by Max Holtzberg and first appeared in NuttX-6.21. That port
|
||
features the STMicro STM32F107VC MCU.
|
||
|
||
**STATUS:** A configuration for the NuttShell (NSH) is available and
|
||
verified. Networking is functional. Support for an external ENCX24J600
|
||
network was added in NuttX 6.30.
|
||
|
||
**Shenzhou IV** A port of NuttX to the Shenzhou IV development board
|
||
(See `www.armjishu.com <http://www.armjishu.com>`__) featuring the
|
||
STMicro STM32F107VCT MCU was added in NuttX-6.22.
|
||
|
||
**STATUS:** In progress. The following have been verified: (1) Basic
|
||
Cortex-M3 port, (2) Ethernet, (3) On-board LEDs. Refer to the NuttX
|
||
board
|
||
`README <https://github.com/apache/nuttx/blob/master/boards/arm/stm32/shenzhou/README.txt>`__
|
||
file for further information.
|
||
|
||
**ViewTool STM32F103/F107** Support for the Viewtool
|
||
STM32F103/F107 board was added in
|
||
NuttX-6.32. That board features the STMicro STM32F107VCT6 MCU.
|
||
Networking, LCD, and touchscreen support were added in NuttX-6.33.
|
||
|
||
Three configurations are available:
|
||
|
||
#. A standard NuttShell (NSH) configuration that will work with either
|
||
the STM32F103 or STM32F107 part.
|
||
#. A network-enabled NuttShell (NSH) configuration that will work only
|
||
with the STM32F107 part.
|
||
#. The configuration that was used to verify the NuttX `high-priority,
|
||
nested interrupt
|
||
feature <https://cwiki.apache.org/confluence/display/NUTTX/High+Performance%2C+Zero+Latency+Interrupts>`__.
|
||
|
||
**STATUS:** Networking and touchscreen support are well test. But, at
|
||
present, neither USB nor LCD functionality have been verified. Refer to
|
||
the Viewtool STM32F103/F107
|
||
`README <https://github.com/apache/nuttx/blob/master/boards/arm/stm32/viewtool-stm32f107/README.txt>`__
|
||
file for further information.
|
||
|
||
**Kamami STM32 Butterfly 2** Support for the `Kamami STM32 Butterfly
|
||
2 <https://kamami.pl/zestawy-uruchomieniowe-stm32/178507-stm32butterfly2.html>`__
|
||
was contributed by Michał Łyszczek in NuttX-7.18. That port features the
|
||
STMicro STM32F107VC MCU.
|
||
|
||
**STATUS:** A configuration for the NuttShell (NSH), NSH with
|
||
networking, and NSH with USB host are available and verified.
|
||
|
||
STMicro STM32 F205x
|
||
-------------------
|
||
|
||
(STM32 F2 family). Architecture only support for the
|
||
STM32F205RG was contributed as an anonymous contribution in NuttX-7.10.
|
||
|
||
**Particle.io Phone**. Support for the Particle.io Photon board was
|
||
contributed by Simon Pirious in NuttX-7.21. The Photon board features
|
||
the STM32F205RG MCU. The STM32F205RG is a 120 MHz Cortex-M3 operation
|
||
with 1Mbit Flash memory and 128kbytes. The board port includes support
|
||
for the on-board Broadcom BCM43362 WiFi and fully usable FullMac network
|
||
support.
|
||
|
||
**STATUS:** In addition to the above-mention WiFI support, the Photon
|
||
board support includes buttons, LEDS, IWDG, USB OTG HS, and procfs
|
||
support. Configurations available for nsh, usbnsh, and wlan
|
||
configurations. See the Photon
|
||
`README <https://github.com/apache/nuttx/blob/master/boards/arm/stm32/photon/README.txt>`__
|
||
file for additional information.
|
||
|
||
STMicro STM32 F207x
|
||
-------------------
|
||
|
||
(STM32 F2 family)
|
||
|
||
- Support for the STMicro STM3220G-EVAL development board was
|
||
contributed by Gary Teravskis and first released in NuttX-6.16. This
|
||
board uses the STM32F207IG.
|
||
- Martin Lederhilger contributed support for the Olimex STM32 P207
|
||
board using the STM32F207ZE MCU.
|
||
- Board support for the Nucleo-L152RE was contributed by Mateusz
|
||
Szafoni in NuttX-7.28. Available configurations include NSH, ADC, and
|
||
PWM.
|
||
|
||
Microchip SAM3U
|
||
---------------
|
||
|
||
This port uses the `Microchip <http://www.atmel.com/>`__
|
||
SAM3U-EK development board that features the SAM3U4E MCU. This port uses
|
||
a GNU arm-nuttx-elf or arm-nuttx-eabi toolchain\* under either Linux or
|
||
Cygwin (with native Windows GNU tools or Cygwin-based GNU tools).
|
||
|
||
**Development Environments:** 1) Linux with native Linux GNU toolchain,
|
||
2) Cygwin/MSYS with Cygwin GNU toolchain, 3) Cygwin/MSYS with Windows
|
||
native toolchain (CodeSourcery or devkitARM), or 4) Native Windows. A
|
||
DIY toolchain for inux or Cygwin is provided by the NuttX
|
||
`buildroot <https://bitbucket.org/nuttx/buildroot/downloads/>`__
|
||
package.
|
||
|
||
Microchip SAM3X
|
||
---------------
|
||
|
||
There are two SAM3X boards supported:
|
||
|
||
#. The `Arduino <http://arduino.cc//>`__ Due development board that
|
||
features the ATSAM3X8E MCU running at 84MHz. See the `Arduino
|
||
Due <http://arduino.cc/en/Main/arduinoBoardDue>`__ page for more
|
||
information.
|
||
#. The Mikroelektronika `Flip&Click
|
||
SAM3X <https://www.mikroe.com/flip-n-click-sam3x>`__ development
|
||
board. This board is an Arduino Due *work-alike* with additional
|
||
support for 4 mikroBUS Click boards.
|
||
|
||
**Development Environments:** See the Microchip SAM3U discussion
|
||
`above. <#at91sam3u>`__
|
||
|
||
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.
|
||
|
||
ON Semiconductor LC823450
|
||
-------------------------
|
||
|
||
(Dual core ARM Cortex-M3). In NuttX-7.22,
|
||
Masayuki Ishikawa contributed support for both the LC823450 architecture
|
||
and for ON Semiconductor's **LC823450XGEVK board**:
|
||
|
||
The LC823450XGEVK is an audio processing system Evaluation Board Kit
|
||
used to demonstrate the LC823450. This part can record and playback,
|
||
and offers High-Resolution 32-bit & 192 kHz audio processing
|
||
capability. It is possible to cover most of the functions necessary
|
||
for a portable audio with only this LSI as follows. It has Dual CPU
|
||
and DSP with High processing capability, and internal 1656K-Byte
|
||
SRAM, which make it possible to implement large scale program. And it
|
||
has integrated analog functions (low-power Class D HP amplifier, PLL,
|
||
ADC etc.) so that PCB space and cost is reduced, and it has various
|
||
interface (USB, SD, SPI, UART, etc.) to make extensibility high. Also
|
||
it is provided with various function including SBC/AAC codec by DSP
|
||
and UART and ASRC (Asynchronous Sample Rate Converter) for Bluetooth®
|
||
audio. It is very small chip size in spite of the multi-funciton as
|
||
described above and it realizes the low power consumption. Therefore,
|
||
it is applicable to portable audio markets such as Wireless headsets
|
||
and will show high performance.
|
||
|
||
Further information about the LC823450XGEVK is available on from the the
|
||
`ON
|
||
Semiconductor <http://www.onsemi.com/PowerSolutions/evalBoard.do?id=LC823450XGEVK>`__
|
||
website as are LC823450 `related technical
|
||
documents <http://www.onsemi.com/PowerSolutions/supportDoc.do?type=AppNotes&rpn=LC823450>`__.
|
||
Refer to the NuttX board
|
||
`README <https://github.com/apache/nuttx/blob/master/boards/arm/lc823450/lc823450-xgevk/README.txt>`__
|
||
file for details of the NuttX port.
|
||
|
||
This port is intended to test LC823450 features including SMP. Supported
|
||
peripherals include UART, TIMER, RTC, GPIO, DMA, I2C, SPI, LCD, eMMC,
|
||
and USB device. ADC, Watchdog, IPC2, and I2S support was added by
|
||
Masayuki Ishikawa in NuttX-7.23. Bluetooth, SPI, and *PROTECTED* build
|
||
support were added by Masayuki Ishikawa in NuttX-7.26. Support for for
|
||
SPI flash boot was added in NuttX-7.28.
|
||
|
||
Maxim Integrated MAX32660
|
||
-------------------------
|
||
|
||
Architectural upport for the MAX32660 was added (along with partial
|
||
support for other members of the MAX326xx family) in NuttX 7.28.
|
||
|
||
**MAX32660-EVSYS**. Basic support for the Maxim Integrated MAC3X660
|
||
EVSYS was included in the NuttX-7.28 release. A basic NSH configuration
|
||
is available and is fully functional. Includes unverified support for an
|
||
SPI0-based SD card.
|
||
|
||
**STATUS:**
|
||
|
||
` <#>`__ (ARM Cortex-M3)
|
||
|
||
ARM Cortex-M4
|
||
=============
|
||
|
||
Infineon XMC45xx
|
||
----------------
|
||
|
||
An initial but still incomplete port to the XMC4500 Relax board was released
|
||
with NuttX-7.21 (although it was not really ready for prime time). Basic NSH
|
||
functionality was a serial console was added by Alan Carvahlo de Assis in
|
||
NuttX-7.23. Alan also added an SPI driver in NuttX-7.25.
|
||
|
||
This initial porting effort uses the Infineon XMC4500 Relax v1 board as
|
||
described on the manufacturer's
|
||
`website <http://www.infineon.com/cms/en/product/evaluation-boards/KIT_XMC45_RELAX_V1/productType.html?productType=db3a304437849205013813b23ac17763>`__.
|
||
The current status of the board is available in the board
|
||
`README <https://github.com/apache/nuttx/blob/master/boards/arm/xmc4/xmc4500-relax/README.txt>`__
|
||
file
|
||
|
||
Nordic Semiconductor NRF52xxx
|
||
-----------------------------
|
||
|
||
Initial architecture support of the NRF52
|
||
including UART, Timer, and GPIOs was contributed by Janne Rosberg in
|
||
NuttX-7.25. Janne also contributed board support for the NRF52-PCA10040
|
||
development board at that time.
|
||
|
||
The NRF52 was generalized by Hanya Zou in NuttX-7.28 for any similar
|
||
board based on the NRF52832 MCU. Support was specifically included for
|
||
the Adafruit NRF52 Feather board.
|
||
|
||
Available drivers include:
|
||
|
||
- **NuttX-7.25**. UART, Timer, and GPIOs from Janne Rosberg and a
|
||
watchdog timer driver was added by Levin Li.
|
||
- **NuttX-7.25**. Flash PROGMEM support was added by Alan Carvalho de
|
||
Assis.
|
||
- **NuttX-7.29**. Support for the 52804 family and an RNG drivers was
|
||
added by Levin Li.
|
||
|
||
NXP/FreeScale Kinetis K20
|
||
-------------------------
|
||
|
||
Used by Teensy-3.x. Architecture support (only) was
|
||
added in NuttX-7.10. This support was taken from PX4 and is the work of
|
||
Jakob Odersky. Support was added for the PJRC Teensy-3.1 board in
|
||
NuttX-7.11. Backward compatible support for the Teensy-3.0 is included.
|
||
|
||
NXP/FreeScale Kinetis K28F
|
||
--------------------------
|
||
|
||
Use by Freedom-K28F. Architecture support for the
|
||
Kinetis K28F along with board support for the Freedom-K28F was added in
|
||
NuttX-7.15. The Freedom-K28F board is based on the Kinetis
|
||
MK28FN2M0VMI15 MCU (ARM Cortex-M4 at150 MHz, 1 MB SRAM, 2 MB flash, HS
|
||
and FS USB, 169 MAPBGA package). More information is available from the
|
||
`NXP
|
||
website <https://www.nxp.com/support/developer-resources/hardware-development-tools/freedom-development-boards/mcu-boards/nxp-freedom-development-board-for-kinetis-k27-and-k28-mcus:FRDM-K28F>`__.
|
||
|
||
NXP/FreeScale Kinetis K40
|
||
-------------------------
|
||
|
||
This port uses the Freescale Kinetis KwikStik
|
||
K40. Refer to the `Freescale web
|
||
site <http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=KWIKSTIK-K40>`__
|
||
for further information about this board. The Kwikstik is used with the
|
||
FreeScale Tower System (mostly just to provide a simple UART connection)
|
||
|
||
NXP/FreeScale Kinetis K60
|
||
-------------------------
|
||
|
||
This port uses the **Freescale Kinetis
|
||
TWR-K60N512** tower system. Refer to the `Freescale web
|
||
site <http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=TWR-K60N512-KIT>`__
|
||
for further information about this board. The TWR-K60N51 includes with
|
||
the FreeScale Tower System which provides (among other things) a DBP
|
||
UART connection.
|
||
|
||
**MK60N512VLL100**. Architecture support for the MK60N512VLL100 was
|
||
contributed by Andrew Webster in NuttX-7.14.
|
||
|
||
NXP/FreeScale Kinetis K64
|
||
-------------------------
|
||
|
||
Support for the Kinetis K64 family and
|
||
specifically for the **NXP/Freescale Freedom K64F** board was added in
|
||
NuttX 7.17. Initial release includes two NSH configurations with support
|
||
for on-board LEDs, buttons, and Ethernet with the on-board KSZ8081 PHY.
|
||
SDHC supported has been integrated, but not verified. Refer to the NuttX
|
||
board
|
||
`README <https://github.com/apache/nuttx/blob/master/boards/arm/kinetis/freedom-k64f/README.txt>`__
|
||
file for further information.
|
||
|
||
**MK64FN1M0VMD12**. Architecture support for the \_MK64FN1M0VMD12 was
|
||
contributed by Maciej Skrzypek in NuttX-7.20.
|
||
|
||
**NXP/Freescale Kinetis TWR-K64F120M**. Support for the Freescale
|
||
Kinetis TWR-K64F120M was contributed in NuttX-7.20 by Maciej Skrzypek.
|
||
Refer to the `Freescale web
|
||
site <http://www.nxp.com/products/sensors/accelerometers/3-axis-accelerometers/kinetis-k64-mcu-tower-system-module:TWR-K64F120M>`__
|
||
for further information about this board. The board may be complemented
|
||
by
|
||
`TWR-SER <http://www.nxp.com/pages/serial-usb-ethernet-can-rs232-485-tower-system-module:TWR-SER>`__
|
||
which includes (among other things), an RS232 and Ethernet connections.
|
||
Refer to the NuttX board
|
||
`README <https://github.com/apache/nuttx/blob/master/boards/arm/kinetis/twr-k64f120m/README.txt>`__
|
||
file for further information.
|
||
|
||
**Driver Status**.
|
||
|
||
- **NuttX-6.8**. Ethernet and SD card (SDHC) drivers also exist: The
|
||
SDHC driver is partially integrated in to the NSH configuration but
|
||
has some outstanding issues. Additional work remaining includes: (1)
|
||
integrate th SDHC drivers, and (2) develop support for USB host and
|
||
device. NOTE: Most of these remaining tasks are the same as the
|
||
pending K40 tasks described above.
|
||
- **NuttX-7.14**. The Ethernet driver became stable in NuttX-7.14
|
||
thanks to the efforts of Andrew Webster.
|
||
- **NuttX-7.17**. Ethernet support was extended and verified on the
|
||
Freedom K64F. A Kinetis USB device controller driver and PWM support
|
||
was contributed by kfazz.
|
||
|
||
NXP/FreeScale Kinetis K66
|
||
-------------------------
|
||
|
||
Support for the Kinetis K64 family and
|
||
specifically for the **NXP/Freescale Freedom K66F** board was
|
||
contributed by David Sidrane in NuttX 7.20. Refer to the NuttX board
|
||
`README <https://github.com/apache/nuttx/blob/master/boards/arm/kinetis/freedom-k66f/README.txt>`__
|
||
file for further information.
|
||
|
||
**Driver Status**.
|
||
|
||
- Most K6x drivers are compatible with the K66.
|
||
- **NuttX-7.20**. David Sidrane also contributed support for a serial
|
||
driver on the K66's LPUART.
|
||
- **NuttX-7.22**. David Sidrane contributed improvements to the USB and
|
||
I2C device drivers, RTC alarm functionality, and new SPI driver.
|
||
- **NuttX-7.26**. David Sidrane contributed DMA support to the Kinetis
|
||
K6x family.
|
||
|
||
Sony CXD56xx
|
||
------------
|
||
|
||
(6 x ARM Cortex-M4)
|
||
|
||
Support for the CXD56\ *xx* was
|
||
introduced by Nobuto Kobayashi in NuttX-7.30.
|
||
|
||
**Sony Spresence**. Spresense is a compact development board based on
|
||
Sony’s power-efficient multicore microcontroller CXD5602. Basic support
|
||
for the Sony Spresense board was included in the contribution of Nobuto
|
||
Kobayashi in NuttX-7.30. *NOTE*: That was an initial, bare bones basic
|
||
Spresense port sufficient for running a NuttShell (NSH) and should not
|
||
be confused with the full Spresence SDK offered from Sony. Since then
|
||
there has been much development of the NuttX CXD56xx port.
|
||
|
||
**Features:**
|
||
|
||
- Integrated GPS: Embedded GNSS with support for GPS, QZSS.
|
||
- Hi-res audio output and multi mic inputs" Advanced 192kHz/24 bit
|
||
audio codec and amplifier for audio output, and support for up to 8
|
||
mic input channels.
|
||
- Multicore microcontroller: Spresense is powered by Sony's CXD5602
|
||
microcontroller (ARM® Cortex®-M4F × 6 cores), with a clock speed of
|
||
156 MHz.
|
||
|
||
**Driver Status:**
|
||
|
||
**NuttX-3.31**. In this release, many new architectural features,
|
||
peripheral drivers, and board configurations were contributed primarily
|
||
through the work of Alin Jerpelea. These new architectural features
|
||
include: Inter-core communications, power management, and clock
|
||
management. New drivers include: GPIO, PMIC, USB, SDHC, SPI, I2C, DMA,
|
||
RTC, PWM, Timers, Watchdog Timer, UID, SCU, ADC, eMMC, Camera CISIF,
|
||
GNSS, and others.
|
||
|
||
**NuttX-8.1**. Alin Jerpelea brought in ten (external) sensor drivers
|
||
that integrate through the CXD56xx's SCU.
|
||
|
||
**NuttX-8.2**. Masayuki Ishikawa implemented SMP operation of the
|
||
CX56Dxx parts. Alin Jerpelea: Added support for the Altair LTE modem
|
||
support, enabled support for accelerated format converter, rotation and
|
||
so on using the CXD5602 image processing accelerator, added ISX012
|
||
camera support, added audio and board audio control implementation,
|
||
added an audio_tone_generator, added optional initialization of GNSS and
|
||
GEOFENCE at boot if the drivers are enabled, added an lcd examples
|
||
configuration.
|
||
|
||
STMicro STM32 F302x
|
||
-------------------
|
||
|
||
(STM32 F3 family). Architecture (only) support for
|
||
the STM32 F302 was contributed in NuttX-7.10 by Ben Dyer (via the PX4
|
||
team and David Sidrane).
|
||
|
||
Support for the Nucleo-F302R8 board was added by raiden00pl in
|
||
NuttX-7.27. Refer to the NuttX board
|
||
`README <https://github.com/apache/nuttx/blob/master/boards/arm/stm32/nucleo-f302r8/README.txt>`__
|
||
file for further information.
|
||
|
||
STMicro STM32 F303x
|
||
-------------------
|
||
|
||
(STM32 F3 family)
|
||
|
||
- **STM32F3-Discovery**. This port uses the STMicro STM32F3-Discovery
|
||
board featuring the STM32F303VCT6 MCU (STM32 F3 family). Refer to the
|
||
`STMicro web
|
||
site <http://www.st.com/internet/evalboard/product/254044.jsp>`__ for
|
||
further information about this board.
|
||
|
||
- **STMicro ST Nucleo F303RE board**. The basic port for the Nucleo
|
||
F303RE was contributed by Paul Alexander Patience and first released
|
||
in NuttX-7.12. Refer to the NuttX board
|
||
`README <https://github.com/apache/nuttx/blob/master/boards/arm/stm32/nucleo-f303re/README.txt>`__
|
||
file for further information.
|
||
|
||
- **STMicro ST Nucleo F303ZE board**. Support for the Nucleo-F303ZE
|
||
board was added by Mateusz Szafoni in NuttX-7.27. Refer to the NuttX
|
||
board
|
||
`README <https://github.com/apache/nuttx/blob/master/boards/arm/stm32/nucleo-f303ze/README.txt>`__
|
||
file for further information.
|
||
|
||
STMicro STM32 F334
|
||
------------------
|
||
|
||
(STM32 F3 family, ARM Cortex-M4)
|
||
|
||
Support for the STMicro **STM32F334-Disco** board was contributed by
|
||
Mateusz Szafoni in NuttX-7.22 and for the **Nucleo-STM32F334R8** was
|
||
contributed in an earlier release.
|
||
|
||
STMicro STM32 F372/F373
|
||
-----------------------
|
||
|
||
(ARM Cortex-M4)
|
||
|
||
Basic architecture support for the STM32F372/F373 was contributed by
|
||
Marten Svanfeldt in NuttX 7.9. There are no STM32F*72 boards currently
|
||
supported, however.
|
||
|
||
STMicro STM32 F4x1
|
||
------------------
|
||
|
||
(STM32 F4 family).
|
||
|
||
**Nucleo F401RE**. This port uses the STMicro Nucleo F401RE board
|
||
featuring the STM32F401RE MCU. Refer to the `STMicro web
|
||
site <http://www.st.com/en/evaluation-tools/nucleo-f401re.html>`__ for
|
||
further information about this board.
|
||
|
||
**Nucleo F411RE**. This port uses the STMicro Nucleo F411RE board
|
||
featuring the STM32F411RE MCU. Refer to the `STMicro web
|
||
site <http://www.st.com/en/evaluation-tools/nucleo-f411re.html>`__ for
|
||
further information about this board.
|
||
|
||
**STATUS:**
|
||
|
||
- **NuttX-7.2** The basic port for STMicro Nucleo F401RE board was
|
||
contributed by Frank Bennett.
|
||
- **NuttX-7.6** The basic port for STMicro Nucleo F401RE board was
|
||
added by Serg Podtynnyi.
|
||
- **NuttX-7.25** Architecture support (only) for STMicro STM32F401xB
|
||
and STM32F401xC pars was added.
|
||
- Refer to the NuttX board
|
||
`README <https://github.com/apache/nuttx/blob/master/boards/arm/stm32/nucleo-f4x1re/README.txt>`__
|
||
file for further information.
|
||
|
||
STMicro STM32410
|
||
----------------
|
||
|
||
(STM32 F4 family)
|
||
|
||
Architecture-only support was contributed to NuttX-7.21 by Gwenhael
|
||
Goavec-Merou.
|
||
|
||
STMicro STM32 F405x/407x
|
||
------------------------
|
||
|
||
(STM32 F4 family).
|
||
|
||
**STMicro STM3240G-EVAL**. This port uses the STMicro STM3240G-EVAL
|
||
board featuring the STM32F407IGH6 MCU. Refer to the `STMicro web
|
||
site <http://www.st.com/internet/evalboard/product/252216.jsp>`__ for
|
||
further information about this board.
|
||
|
||
**STATUS:**
|
||
|
||
- **NuttX-6.12** The basic port is complete and first appeared in
|
||
NuttX-6.12. The initial port passes the NuttX OS test and includes a
|
||
validated configuration for the NuttShell (NSH, see :ref:`NSH <nsh>`) as well
|
||
as several other configurations.
|
||
- **NuttX-6.13-6.16** Additional drivers and configurations were added
|
||
in NuttX 6.13-6.16. Drivers include an Ethernet driver, ADC driver,
|
||
DAC driver, PWM driver, CAN driver, F4 RTC driver, Quadrature
|
||
Encoder, DMA, SDIO with DMA (these should all be compatible with the
|
||
STM32 F2 family and many should also be compatible with the STM32 F1
|
||
family as well).
|
||
- **NuttX-6.16** The NuttX 6.16 release also includes and logic for
|
||
saving/restoring F4 FPU registers in context switches. Networking
|
||
intensions include support for Telnet NSH sessions and new
|
||
configurations for DHPCD and the networking test (nettest).
|
||
- **NuttX-6.17** The USB OTG device controller driver, and LCD driver
|
||
and a function I2C driver were added in NuttX 6.17.
|
||
- **NuttX-6.18** STM32 IWDG and WWDG watchdog timer drivers were added
|
||
in NuttX 6.18 (should be compatible with F1 and F2). An LCD driver
|
||
and a touchscreen driver for the STM3240G-EVAL based on the STMPE811
|
||
I/O expander were also added in NuttX 6.18.
|
||
- **NuttX-6.21** A USB OTG host controller driver was added in NuttX
|
||
6.21.
|
||
- **NuttX-7.3** Support for the Olimex STM32 H405 board was added in
|
||
NuttX-7.3.
|
||
- **NuttX-7.14** Support for the Olimex STM32 H407 board was added in
|
||
NuttX-7.14.
|
||
- **NuttX-7.17** Support for the Olimex STM32 E407 board was added in
|
||
NuttX-7.17.
|
||
- **NuttX-7.19** Support for the Olimex STM32 P407 board was added in
|
||
NuttX-7.19.
|
||
- **NuttX-7.21** Support for the MikroElektronika Clicker2 for STM32
|
||
(STM32 P405) board was added in NuttX-7.21.
|
||
- **NuttX-7.29** Support for the OmnibusF4 architecture (STM32 P405)
|
||
board was added in NuttX-7.29.
|
||
|
||
Refer to the STM3240G-EVAL board
|
||
`README <https://github.com/apache/nuttx/blob/master/boards/arm/stm32/stm3240g-eval/README.txt>`__
|
||
file for further information.
|
||
|
||
**STMicro STM32F4-Discovery**. This port uses the STMicro
|
||
STM32F4-Discovery board featuring the STM32F407VGT6 MCU. The
|
||
STM32F407VGT6 is a 168MHz Cortex-M4 operation with 1Mbit Flash memory
|
||
and 128kbytes. The board features:
|
||
|
||
- On-board ST-LINK/V2 for programming and debugging,
|
||
- LIS302DL, ST MEMS motion sensor, 3-axis digital output accelerometer,
|
||
- MP45DT02, ST MEMS audio sensor, omni-directional digital microphone,
|
||
- CS43L22, audio DAC with integrated class D speaker driver,
|
||
- Eight LEDs and two push-buttons,
|
||
- USB OTG FS with micro-AB connector, and
|
||
- Easy access to most MCU pins.
|
||
|
||
Support for the STM3F4DIS-BB base board was added in NuttX-7.5. This
|
||
includes support for the serial communications via the on-board DB-9
|
||
connector, Networking, and the microSD card slot.
|
||
|
||
Refer to the `STMicro web
|
||
site <http://www.st.com/internet/evalboard/product/252419.jsp>`__ for
|
||
further information about this board and to
|
||
|
||
**MikroElektronika Mikromedia for STM32F4**. This is another board
|
||
supported by NuttX that uses the same STM32F407VGT6 MCU as does the
|
||
STM32F4-Discovery board. This board, however, has very different
|
||
on-board peripherals than does the STM32F4-Discovery:
|
||
|
||
- TFT display with touch panel,
|
||
- VS1053 stereo audio codec with headphone jack,
|
||
- SD card slot,
|
||
- Serial FLASH memory,
|
||
- USB OTG FS with micro-AB connector, and
|
||
- Battery connect and batter charger circuit.
|
||
|
||
See the
|
||
`Mikroelektronika <http://www.mikroe.com/mikromedia/stm32-m4/>`__
|
||
website for more information about this board and the NuttX board
|
||
`README <https://github.com/apache/nuttx/blob/master/boards/arm/stm32/mikroe-stm32f4/README.txt>`__
|
||
file for further information about the NuttX port.
|
||
|
||
**Olimex STM32 H405**. Support for the Olimex STM32 H405 development
|
||
board was contributed by Martin Lederhilger and appeared in NuttX-7.3.
|
||
See the NuttX board
|
||
`README <https://github.com/apache/nuttx/blob/master/boards/arm/stm32/olimex-stm32-h405/README.txt>`__
|
||
file for further information about the NuttX port.
|
||
|
||
**Olimex STM32 H407**. Support for the Olimex STM32 H407 development
|
||
board was contributed by Neil Hancock and appeared in NuttX-7.14. See
|
||
the NuttX board
|
||
`README <https://github.com/apache/nuttx/blob/master/boards/arm/stm32/olimex-stm32-h407/README.txt>`__
|
||
file for further information about the NuttX port.
|
||
|
||
**Olimex STM32 E407**. Support for the Olimex STM32 E407 development
|
||
board was contributed by Mateusz Szafoni and appeared in NuttX-7.17.
|
||
Networking configurations were added in NuttX-7.18. See the NuttX board
|
||
`README <https://github.com/apache/nuttx/blob/master/boards/arm/stm32/olimex-stm32-e407/README.txt>`__
|
||
file for further information about the NuttX port.
|
||
|
||
**Olimex STM32 P407**. Support for the Olimex STM32 P407 development
|
||
board appeared in NuttX-7.19. See the NuttX board
|
||
`README <https://github.com/apache/nuttx/blob/master/boards/arm/stm32/olimex-stm32-p407/README.txt>`__
|
||
file for further information about the NuttX port.
|
||
|
||
**MikroElektronika Clicker2 for STM32**. This is yet another board
|
||
supported by NuttX that uses the same STM32F407VGT6 MCU as does the
|
||
STM32F4-Discovery board. This board has been used primarily with the
|
||
MRF24J40 Click board for the development of IEEE 802.15.4 MAC and
|
||
6LoWPAN support.
|
||
|
||
See the
|
||
`Mikroelektronika <https://shop.mikroe.com/development-boards/starter/clicker-2/stm32f4>`__
|
||
website for more information about this board and the NuttX board
|
||
`README <https://github.com/apache/nuttx/blob/master/boards/arm/stm32/clicker2-stm32/README.txt>`__
|
||
file for further information about the NuttX port.
|
||
|
||
**OmnibusF4**. Initial support for the OmnibusF4 family of flight
|
||
management units was contributed by Bill Gatliff in NuttX-7.29.
|
||
"OmnibusF4" is not a product name *per se*, but rather a design
|
||
specification that many product vendors adhere to. The specification
|
||
defines the major components, and how those components are wired into
|
||
the microcontroller. *Airbot* is one such vendor. They publish a
|
||
`schematic <http://bit.ly/obf4pro>`__. Other software that supports the
|
||
OmnibusF4 family include Betaflight, iNAV, and many others. PX4 recently
|
||
added support as well, also based on NuttX. No code from those resources
|
||
is included in this port. The OmnibusF4 specification mandates the
|
||
InvenSense MPU6000 which is included in NuttX-7.29 along with a driver
|
||
for the MAX7546 OSD.
|
||
|
||
STMicro STM32 F427/F437
|
||
-----------------------
|
||
|
||
General architectural support was provided for
|
||
the F427/437 family in NuttX 6.27. Specific support includes the
|
||
STM32F427I, STM32F427Z, and STM32F427V chips. This is
|
||
*architecture-only* support, meaning that support for the boards with
|
||
these chips is available, but not support for any publicly available
|
||
boards is included. This support was contributed by Mike Smith.
|
||
|
||
The F427/437 port adds (1) additional SPI ports, (2) additional UART
|
||
ports, (3) analog and digital noise filters on the I2C ports, (4) up to
|
||
2MB of flash, (5) an additional lower-power mode for the internal
|
||
voltage regulator, (6) a new prescaling option for timer clock, (7) a
|
||
larger FSMSC write FIFO, and (8) additional crypto modes (F437 only).
|
||
|
||
**Axlotoi**. In NuttX-7.31, Jason Harris contributed support for the
|
||
Axloti board. That is the board for the Axoloti open source synthesizer
|
||
board featuring the STM32F427IGH6 MCU The STM32F427IGH6 has a 180MHz
|
||
Cortex-M4 core with 1MiB Flash memory and 256KiB of SRAM The Axloti
|
||
board features:
|
||
|
||
- ADAU1961 24-bit 96 kHz stereo CODEC
|
||
- 1/4" in/out jacks for analog audio signals
|
||
- 3.5 mm jack for analog audio signals
|
||
- 8 MiB of SDRAM (Alliance Memory AS4C4M16SA)
|
||
- Serial MIDI in/out ports
|
||
- SD Card slot
|
||
- Two user LEDs and one (GPIO) push-button
|
||
- USB OTG FS with Micro-AB connector (USB device mode operation)
|
||
- USB OTG HS with Type-A connector (USB host mode operation)
|
||
- Easy access to most IO pins
|
||
|
||
Refer to `Axloti <http://www.axoloti.com/>`__ website for further
|
||
information about this board.
|
||
|
||
STMicro STM32 F429
|
||
------------------
|
||
|
||
Support for STMicro STM32F429I-Discovery development
|
||
board featuring the STM32F429ZIT6 MCU was contributed in NuttX-6.32 by
|
||
Ken Pettit. The STM32F429ZIT6 is a 180MHz Cortex-M4 operation with 2Mbit
|
||
Flash memory and 256kbytes.
|
||
|
||
**STATUS**:
|
||
|
||
- The initial release included support from either OTG FS or OTG HS in
|
||
FS mode.
|
||
- The F429 port adds support for the STM32F439 LCD and OTG HS (in FS
|
||
mode).
|
||
- In Nutt-7.6, Brennan Ashton added support for concurrent OTG FS and
|
||
OTG HS (still in FS mode) and Marco Krahl added support for an
|
||
SPI-based LCD .
|
||
- In Nutt-7.7, Marco Krahl included support for a framebuffer based
|
||
driver using the LTDC and DMA2D. Marcos's implementation included
|
||
extensions to support more advance LTDC functions through an
|
||
auxiliary interface.
|
||
- Support for the uVision GCC IDE added for theSTM32F429I-Discovery
|
||
board in NuttX 7.16. From Kha Vo.
|
||
|
||
Refer to the STM32F429I-Discovery board
|
||
`README <https://github.com/apache/nuttx/blob/master/boards/arm/stm32/stm32f429i-disco/README.txt>`__
|
||
file for further information.
|
||
|
||
STMicro STM32 F433
|
||
------------------
|
||
|
||
Architecture-only support for the STM32 F433 family
|
||
was contributed by Alan Carvalho de Assis in NuttX-7.22 (meaning that
|
||
the parts are supported, but there is no example board supported in the
|
||
system). This support was contributed by David Sidrane and made
|
||
available in NuttX-7.11.
|
||
|
||
STMicro STM32 F446
|
||
------------------
|
||
|
||
Architecture-only support is available for the STM32
|
||
F446 family (meaning that the parts are supported, but there is no
|
||
example board supported in the system). This support was contributed by
|
||
David Sidrane and made available in NuttX-7.11.
|
||
|
||
STMicro STM32 F46xx
|
||
-------------------
|
||
|
||
Architecture-only support is available for the
|
||
STM32 F46xx family (meaning that the parts are supported, but there is
|
||
no example board supported in the system). This support was contributed
|
||
by Paul Alexander Patienc and made available in NuttX-7.15.
|
||
|
||
STMicro STM32 G474x
|
||
-------------------
|
||
|
||
One board is supported in this family:
|
||
|
||
- **B-G474E-DPOW1 Discovery Kit**. Initial board support for the
|
||
STMicro B-G474E-DPOW1 board from ST Micro was added in NuttX-9.1. See
|
||
the `STMicro
|
||
website <https://www.st.com/content/st_com/en/products/evaluation-tools/product-evaluation-tools/mcu-mpu-eval-tools/stm32-mcu-mpu-eval-tools/stm32-discovery-kits/b-g474e-dpow1.html>`__
|
||
and the board
|
||
`README <https://github.com/apache/nuttx/blob/master/boards/arm/stm32/b-g474e-dpow1/README.txt>`__
|
||
file for further information.
|
||
|
||
**Status**:
|
||
|
||
**NuttX-9.1**. Initial support for booting NuttX to a functional NSH
|
||
prompt on this board.
|
||
|
||
STMicro STM32 G431x
|
||
-------------------
|
||
|
||
One board is supported in this family:
|
||
|
||
- **Nucleo-G431RB**. Initial board support for the
|
||
Nucleo-G431RB was added in NuttX-10.0. Refer to the NuttX board
|
||
`README <https://github.com/apache/nuttx/blob/master/boards/arm/stm32/nucleo-g431rb/README.txt>`__
|
||
file for further information.
|
||
|
||
- **B-G431B-ESC1**. Initial board support for the
|
||
B-G431B-ESC1 was added in NuttX-10.0. Refer to the NuttX board
|
||
`README <https://github.com/apache/nuttx/blob/master/boards/arm/stm32/b-g431b-esc1/README.txt>`__
|
||
file for further information.
|
||
|
||
STMicro STM32 L475
|
||
------------------
|
||
|
||
One board in supported in this family:
|
||
|
||
- **B-L475E-IOT01A Discovery Kit**. Board support for the STMicro
|
||
B-L475E-IOT01A board from ST Micro was contributed by Simon Piriou in
|
||
NuttX-7.22. See the `STMicro
|
||
website <http://www.st.com/en/evaluation-tools/b-l475e-iot01a.html>`__
|
||
and the board
|
||
`README <https://github.com/apache/nuttx/blob/master/boards/arm/stm32l4/b-l475e-iot01a/README.txt>`__
|
||
file for further information.
|
||
|
||
This board STMicro is powered by STM32L475VG Cortex-M4 and targets
|
||
IoT nodes with a choice of connectivity options including WiFi,
|
||
Bluetooth LE, NFC, and sub-GHZ RF at 868 or 915 MHz, as well as a
|
||
long list of various environmental sensors.
|
||
|
||
**Status**:
|
||
|
||
**NuttX-7.22**. The initial board support was released. Since this board
|
||
is highly compatible with the related, more mature STM32 L4 parts, it is
|
||
expected that there is a high degree of compatibility and with those
|
||
part.
|
||
|
||
This board has been used extensive to develop NuttX PktRadio support for
|
||
the onboard Spirit1 radio (SPSGRF-915) radio. 6LoWPAN radio
|
||
communications are fully supported in point-to-point and in star
|
||
topologies.
|
||
|
||
Simon Pirou also contributed support for the on-board Macronix QuadSPI
|
||
FLASH in NuttX 7.22.
|
||
|
||
STMicro STM32 L476
|
||
------------------
|
||
|
||
Three boards are supported in this family:
|
||
|
||
- **Nucleo-L476RG**. Board support for the STMicro NucleoL476RG board
|
||
from ST Micro was contributed by Sebastien Lorquet in NuttX-7.15. See
|
||
the `STMicro website <http://www.st.com/nucleo-l476rg>`__ and the
|
||
board
|
||
`README <https://github.com/apache/nuttx/blob/master/boards/arm/stm32l4/nucleo-l476rg/README.txt>`__
|
||
file for further information.
|
||
|
||
- **STM32L476VG Discovery**. Board support for the STMicro STM32L476VG
|
||
Discovery board from ST Micro was contributed by Dave in NuttX-7.15.
|
||
See the `STMicro website <http://www.st.com/stm32l476g-disco>`__ and
|
||
the board
|
||
`README <https://github.com/apache/nuttx/blob/master/boards/arm/stm32l4/stm32l476vg-disco/README.txt>`__
|
||
file for further information.
|
||
|
||
- **STM32L476 MDK**. Very basic support for NuttX on the Motorola Moto
|
||
Z MDK was contributed by Jim Wylder in NuttX 7.18. A simple NSH
|
||
configuration is available for the STM32L476 chip. See the board
|
||
`README <https://github.com/apache/nuttx/blob/master/boards/arm/stm32l4/stm32l476-mdk/README.txt>`__
|
||
file for further information.
|
||
|
||
**Status**:
|
||
|
||
**NuttX-7.15**. Only the first initial release of support for this
|
||
family is present. It includes these basics:
|
||
|
||
- RCC, clocking, Interrupts, System timer
|
||
- UART, USART, Serial Console
|
||
- GPIO, DMA, I2C, RNG, SPI
|
||
|
||
**NuttX-7.16**. Additional drivers were contributed:
|
||
|
||
- QSPI with DMA and memory mapped support. From Dave (ziggurat29).
|
||
- CAN contributed by Sebastien Lorquet.
|
||
- I2C made functional by Dave (ziggurat29).
|
||
|
||
**NuttX-7.17**. Additional drivers/features were contributed:
|
||
|
||
- Support for tickless mode.
|
||
- CAN driver enhancements.
|
||
|
||
**NuttX-7.18**. Additional drivers were contributed:
|
||
|
||
- Oneshot timer driver.
|
||
- Quadrature encode contributed by Sebastien Lorquet.
|
||
|
||
**NuttX-7.20**. Additional drivers were added:
|
||
|
||
- Serial Audio Interface (SAI).
|
||
- Power Management.
|
||
- LPTIM.
|
||
- Comparator (COMP).
|
||
|
||
**NuttX-7.21**. Additional drivers were added:
|
||
|
||
- Internal Watchdog (IWDG).
|
||
|
||
**NuttX-7.22**.
|
||
|
||
- DAC and ADC drivers were contributed by Juha Niskanen.
|
||
|
||
**NuttX-7.30**.
|
||
|
||
- Added USB FS device driver, CRS and HSI38 support from Juha Niskanen.
|
||
|
||
**NuttX-8.2**.
|
||
|
||
Add DMA support for STM32L4+ series. From Jussi Kivilinna.
|
||
|
||
Add support for LPTIM timers on the STM32L4 as PWM outputs. From Matias
|
||
N.
|
||
|
||
Enable OTGFS for STM32L4+ series. The OTGFS peripheral on stm32l4x6 and
|
||
stm32l4rxxx reference manual is exactly the same. From Jussi Kivilinna.
|
||
|
||
STMicro STM32 L4x2
|
||
------------------
|
||
|
||
Architecture support for STM32 L4x2 family was
|
||
contributed by Juha Niskanen in NuttX-7.21. Support was extended for the
|
||
STM32L412 and STM32L422 chips in NuttX-7.27. Two boards are currently
|
||
supported.
|
||
|
||
- **Nucleo-L432KC**. Board support for the STMicro Nucleo-L432KC board
|
||
from ST Micro was contributed by JSebastien Lorquet in NuttX-7.21.
|
||
See the `STMicro
|
||
website <http://www.st.com/en/evaluation-tools/nucleo-l432kc.html>`__
|
||
and the board
|
||
`README <https://github.com/apache/nuttx/blob/master/boards/arm/stm32l4/nucleo-l432kc/README.txt>`__
|
||
file for further information.
|
||
|
||
- **Nucleo-L452RE**. Board support for the STMicro Nucleo-L452RE board
|
||
from ST Micro was contributed by Juha Niskanen in NuttX-7.21. See the
|
||
`STMicro
|
||
website <http://www.st.com/en/evaluation-tools/nucleo-l452re.html>`__
|
||
and the board
|
||
`README <https://github.com/apache/nuttx/blob/master/boards/arm/stm32l4/nucleo-l452re/README.txt>`__
|
||
file for further information.
|
||
|
||
See also the status above for the STM32 L476 most of which also applies
|
||
to these parts.
|
||
|
||
STMicro STM32 L496
|
||
------------------
|
||
|
||
Architecture support for STM32 L496 was contributed
|
||
by Juha Niskanen along with board support for the Nucleo-L496ZG in
|
||
NuttX-7.21:
|
||
|
||
- **Nucleo-L496ZG**. Board support for the STMicro Nucleo-L496ZG board
|
||
from ST Micro was contributed by Juha Niskanen in NuttX-7.21. See the
|
||
`STMicro
|
||
website <http://www.st.com/en/evaluation-tools/nucleo-l496zg.html>`__
|
||
and the board
|
||
`README <https://github.com/apache/nuttx/blob/master/boards/arm/stm32l4/nucleo-l496zg/README.txt>`__
|
||
file for further information. See also the status above for the STM32
|
||
L476 most of which also applies to this part.
|
||
|
||
STMicro STM32 L4Rx
|
||
------------------
|
||
|
||
Architecture support for STM32 L4+ family was
|
||
contributed by Juha Niskanen along with board support for the
|
||
STM32L4R9I-Discovery in NuttX-7.26. Additional support for the
|
||
STM32L4R5ZI part was added by Jussi in NuttX-8.2.
|
||
|
||
- **STM32L4R9I-Discovery**. Board support for the STMicro
|
||
STM32L4R9I-Discovery board from ST Micro was contributed by Juha
|
||
Niskanen in NuttX-7.26. That development board uses the STM32L4R9AI
|
||
part. See the `STMicro
|
||
website <https://www.st.com/en/evaluation-tools/32l4r9idiscovery.html>`__
|
||
and the board
|
||
`README <https://github.com/apache/nuttx/blob/master/boards/arm/stm32l4/stm32l4r9ai-disco/README.txt>`__
|
||
file for further information. See also the status above for the
|
||
opther STM32 L4 parts, most of which also applies to this part.
|
||
|
||
NXP LPC40xx
|
||
-----------
|
||
|
||
The LPC40xx family is very similar to the LPC17xx family
|
||
except that it features a Cortex-M4F versus the LPC17xx's Cortex-M3.
|
||
Architectural support for the LPC40xx family was built on top of the
|
||
existing LPC17xx by jjlange in NuttX-7.31. With that architectural
|
||
support came support for two boards also contributed by jjlange:
|
||
|
||
**LX CPU**. Pavel Pisa add support for the PiKRON LX CPU board. This
|
||
board may be configured to use either the LPC4088 or the LPC1788.
|
||
|
||
**Driver Status.**
|
||
|
||
NXP LPC43xx
|
||
-----------
|
||
|
||
Several board ports are available for this higher end, NXP
|
||
Cortex-M4F part:
|
||
|
||
**NXG Technologies LPC4330-Xplorer**. This NuttX port is for the
|
||
LPC4330-Xplorer board from NGX Technologies featuring the NXP
|
||
LPC4330FET100 MCU. See the `NXG
|
||
website <http://shop.ngxtechnologies.com/product_info.php?cPath=21_37&products_id=104>`__
|
||
for further information about this board.
|
||
|
||
- **STATUS:** Refer to the NuttX board
|
||
`README <https://github.com/apache/nuttx/blob/master/boards/arm/lpc43xx/lpc4330-xplorer/README.txt>`__
|
||
file for more detailed information about this port.
|
||
|
||
- **NuttX-6.20** The basic LPC4330-Xplorer port is complete. The basic
|
||
NuttShell (NSH) configuration is present and fully verified. This
|
||
includes verified support for: SYSTICK system time, pin and GPIO
|
||
configuration, and a serial console.
|
||
|
||
**NXP/Embest LPC4357-EVB**. This NuttX port is for the LPC4357-EVB from
|
||
NXP/Embest featuring the NXP LPC4357FET256 MCU. The LPC4357 differs from
|
||
the LPC4330 primarily in that it includes 1024KiB of on-chip NOR FLASH.
|
||
See the `NXP
|
||
website <http://www.nxp.com/news/news-archive/2013/nxp-development-kit-based-on-the-dual-core-lpc4357-microcontroller.html>`__
|
||
for more detailed information about the LPC4357 and the LPC4357-EVB.
|
||
|
||
- **STATUS:** Refer to the NuttX board
|
||
`README <https://github.com/apache/nuttx/blob/master/boards/arm/lpc43xx/lpc4357-evb/README.txt>`__
|
||
file for more detailed information about this port.
|
||
|
||
- **NuttX-7.6**. The basic port is was contributed by Toby Duckworth.
|
||
This port leverages from the LPC4330-Xplorer port (and, as of this
|
||
writing, still requires some clean up of the technical discussion in
|
||
some files). The basic NuttShell (NSH) configuration is present and
|
||
has been verified. Support is generally the same as for the
|
||
LPC4330-Xplorer as discussed above.
|
||
|
||
**NXP LPC4370-Link2**. This is the NuttX port to the NXP LPC4370-Link2
|
||
development board featuring the NXP LPC4370FET100 MCU.
|
||
|
||
- **STATUS:** Refer to the NuttX board
|
||
`README <https://github.com/apache/nuttx/blob/master/boards/arm/lpc43xx/lpc4370-link2/README.txt>`__
|
||
file for more detailed information about this port.
|
||
|
||
- **NuttX-7.12** The NXP LPC4370-Link2 port is was contributed by Lok
|
||
Tep and first released in NuttX-7.12.
|
||
|
||
**WaveShare LPC4337-WS**. This is the NuttX port to the WaveShare
|
||
LPC4337-WS development board featuring the NXP LPC4337JBD144 MCU.
|
||
|
||
- **STATUS:** Refer to the NuttX board
|
||
`README <https://github.com/apache/nuttx/blob/master/boards/arm/lpc43xx/lpc4337-ws/README.txt>`__
|
||
file for more detailed information about this port.
|
||
|
||
- **NuttX-7.14** The NXP WaveShare LPC4337-WS port is was contributed
|
||
by Lok Tep and first released in NuttX-7.14.
|
||
|
||
- **NuttX-7.16** Support for the LPC4337JET100 chip was contribed by
|
||
Alexander Vasiljev. Alexander also contributed an LPC43xx AES driver
|
||
available in NuttX-7.16.
|
||
|
||
**Driver Status**.
|
||
|
||
- **NuttX-6.20** Several drivers have been copied from the related
|
||
GPDMA, I2C, SPI, and SSP. The registers for these blocks are the same
|
||
in both the LPC43xx and the LPC17xx and they should integrate into
|
||
the LPC43xx very easily by simply adapting the clocking and pin
|
||
configuration logic.
|
||
|
||
Other LPC17xx drivers were not brought into the LPC43xx port because
|
||
these peripherals have been completely redesigned: CAN, Ethernet, USB
|
||
device, and USB host.
|
||
|
||
So then there is no support for the following LPC43xx peripherals:
|
||
SD/MMC, EMC, USB0,USB1, Ethernet, LCD, SCT, Timers 0-3, MCPWM, QEI,
|
||
Alarm timer, WWDT, RTC, Event monitor, and CAN.
|
||
|
||
Some of these can be leveraged from other MCUs that appear to support
|
||
the same peripheral IP:
|
||
|
||
- The LPC43xx USB0 peripheral appears to be the same as the USB OTG
|
||
peripheral for the LPC31xx. The LPC31xx USB0 device-side driver
|
||
has been copied from the LPC31xx port but also integration into
|
||
the LPC43xx (clocking and pin configuration). It should be
|
||
possible to complete porting of this LPC31xx driver with a small
|
||
porting effort.
|
||
- The Ethernet block looks to be based on the same IP as the STM32
|
||
Ethernet and, as a result, it should be possible to leverage the
|
||
NuttX STM32 Ethernet driver with a little more effort.
|
||
|
||
- **NuttX-6.21** Added support for a SPIFI block driver and for RS-485
|
||
option to the serial driver.
|
||
|
||
- **NuttX-7.17** EMC support was extended to include support SDRAM by
|
||
Vytautas Lukenska.
|
||
|
||
- **NuttX-7.23** A CAN driver was contributed by Alexander Vasiljev in
|
||
NuttX-7.23.
|
||
|
||
- **NuttX-7.24** RTC and Windowed Watchdog Timer (WWDT) drivers were
|
||
leveraged from the LPC17 and contributed by Gintaras Drukteinis.
|
||
Leveraged the LPC54xx SD/MMC to the LPC43xx. There are still
|
||
remaining issues with the SD/MMC driver and it is not yet functional.
|
||
|
||
NXP LPC54xx
|
||
-----------
|
||
|
||
A port to the
|
||
`LPCXpresso-LPC54628 <https://www.nxp.com/support/developer-resources/hardware-development-tools/lpcxpresso-boards/lpcxpresso54628-development-board:OM13098>`__
|
||
was added in NuttX-7.24. Initial configurations include: A basic NSH
|
||
configuration (nsh), a networking configuration (netnsh), and three
|
||
graphics configurations (nxwm, fb, and lvgl).
|
||
|
||
**LPC4508**. The port was verified on an LPC5408 by a NuttX user with
|
||
relevant changes incorporated in NuttX-7.26.
|
||
|
||
**Driver Status**.
|
||
|
||
- **NuttX-7.24** The initial release for the LPC54xx in NuttX included
|
||
the following drivers: UARTs, SysTick, SD/MMC, DMA, GPIO, GPIO
|
||
interrupts, LEDs and buttons, LCD, WWDT, RTC, RNG, Ethernet, and SPI.
|
||
The SPI driver is untested and there are known issues with the SD/MMC
|
||
driver, however.
|
||
|
||
- **NuttX-7.29** Configurations were added to verify the "Per-Window
|
||
Framebuffer" feature also added in NuttX-7.29.
|
||
|
||
Refer to the LPCXpresso-LPC54628 board
|
||
`README <https://github.com/apache/nuttx/blob/master/boards/arm/lpc54xx/lpcxpresso-lpc54628/README.txt>`__
|
||
file for more detailed information about this port.
|
||
|
||
NXP S32K14x
|
||
-----------
|
||
|
||
Support for the S32K14x family was added in NuttX-8.1. Two
|
||
boards are supported
|
||
|
||
- **S32K146EVB**. A port to the S32K146EVB was included in NuttX-8.1.
|
||
The initial release supports two full-featured NSH configurations.
|
||
Refer to the S32K146EVB board
|
||
`README <https://github.com/apache/nuttx/blob/master/boards/arm/s32k1xx/s32k146evb/README.txt>`__
|
||
file for more detailed information about this port.
|
||
- **S32K148EVB**. A port to the S32K148EVB was also provided in
|
||
NuttX-8.1. The initial release supports two full-featured NSH
|
||
configurations. Refer to the S32K148EVB board
|
||
`README <https://github.com/apache/nuttx/blob/master/boards/arm/s32k1xx/s32k148evb/README.txt>`__
|
||
file for more detailed information about this port.
|
||
|
||
Both boards featured two NSH configurations: One for execution out of
|
||
FLASH and a *safe* version that executes out of SRAM and, hence, cannot
|
||
lock up the system because of a bad FLASH image.
|
||
|
||
**Driver Status**.
|
||
|
||
- **NuttX-8.1** The initial release for the S32K14x boards in NuttX
|
||
included the following verfied drivers: Basic boot up logic, clock
|
||
configuration, LPUART console, Systick timer, and GPIO controls.
|
||
Additional complete-but-unverified drivers were also included: GPIO
|
||
interrupts, eDMA, LPSPI, LPI2C, and Ethernet (S32K148 only).
|
||
|
||
TI/Stellaris LM4F120x
|
||
---------------------
|
||
|
||
This port uses the TI Stellaris LM4F120 LaunchPad.
|
||
Jose Pablo Carballo and I are doing this port.
|
||
|
||
TI/Tiva TM4C123G
|
||
----------------
|
||
|
||
This port uses the Tiva C Series TM4C123G LaunchPad
|
||
Evaluation Kit
|
||
`(EK-TM4C123GXL) <http://www.ti.com/tool/ek-tm4c123gxl>`__.
|
||
|
||
**TI Tiva TM4C123H**. Architectural support for the Tiva TM4C123AH6PM
|
||
was contributed in NuttX-8.1 by Nathan Hartman.
|
||
|
||
**STATUS:**
|
||
|
||
- **NuttX-7.1**. Initial architectural support for the EK-TM4C123GXL
|
||
was implemented and was released in NuttX 7.1. Basic board support
|
||
the EK-TM4C123GXL was also included in that release but was not fully
|
||
tested. This basic board support included a configuration for the
|
||
NuttShell
|
||
:ref:`NSH <nsh>`).
|
||
- **NuttX-7.2**. The fully verified port to the EK-TM4C123GXL was
|
||
provided in NuttX-7.2.
|
||
- **NuttX-7.7**. An I2C driver was added in NuttX-7.7.
|
||
- **NuttX-8.1**. Along with TM4C123AH6PM support, Nathan Hartman also
|
||
reinstated and extended the Tiva Quadrature Encoder driver.
|
||
|
||
TI/Tiva TM4C1294
|
||
----------------
|
||
|
||
This port uses the TI Tiva C Series TM4C1294 Connected
|
||
LaunchPad `(EK-TM4C1294XL) <http://www.ti.com/tool/ek-tm4c1294xl>`__.
|
||
|
||
**STATUS:**
|
||
|
||
- Support for the EK-TM4C1294XL was contributed by Frank Sautter and
|
||
was released in NuttX 7.9. This basic board support included a
|
||
configuration for the NuttShell
|
||
:ref:`NSH <nsh>`) and a
|
||
configuration for testing IPv6. See drivers for the `TI Tiva
|
||
TM4C129X <#titm4c129x>`__.
|
||
- FLASH and EEPROM drivers from Shirshak Sengupta were included in
|
||
NuttX-7.25.
|
||
|
||
Refer to the EK-TM4C1294XL board
|
||
`README <https://github.com/apache/nuttx/blob/master/boards/arm/tiva/tm4c1294-launchpad/README.txt>`__
|
||
file for more detailed information about this port.
|
||
|
||
TI/Tiva TM4C129E
|
||
----------------
|
||
|
||
This port uses the TI Tiva C Series TM4C129E Crypto Connected
|
||
LaunchPad `(EK-TM4C129EXL) <https://www.ti.com/tool/EK-TM4C129EXL>`__.
|
||
|
||
**STATUS:**
|
||
|
||
- Support for the EK-TM4C129EXL is based on support for the similar
|
||
EK-TM4C1294XL. This basic board support includes a configuration
|
||
for the NuttShell :ref:`NSH <nsh>`), a configuration for testing
|
||
IPv6, and a configuration for testing the RTOS using the ostest
|
||
example in the NuttX apps repository.
|
||
|
||
Refer to the EK-TM4C129EXL board
|
||
`README <https://github.com/apache/nuttx/blob/master/boards/arm/tiva/tm4c129e-launchpad/README.txt>`__
|
||
file for more detailed information about this port.
|
||
|
||
TI/Tiva TM4C129X
|
||
----------------
|
||
|
||
This port uses the TI Tiva C Series TM4C129X Connected
|
||
Development Kit `(DK-TM4C129X) <http://www.ti.com/tool/dk-tm4c129x>`__.
|
||
|
||
**STATUS:**
|
||
|
||
- A mature port to the DK-TM4C129X was implemented and was released in
|
||
NuttX 7.7.
|
||
- At the initial release, verified drivers were available for Ethernet
|
||
interface, I2C, and timers as well as board LEDs and push buttons.
|
||
Other Tiva/Stellaris drivers should port to the TM4C129X without
|
||
major difficulty.
|
||
- This board supports included two configurations for the NuttShell
|
||
(:ref:`NSH <nsh>`). Both
|
||
are networked enabled: One configured to support IPv4 and one
|
||
configured to supported IPv6. Instructions are included in the board
|
||
`README <https://github.com/apache/nuttx/blob/master/boards/arm/tiva/dk-tm4c129x/README.txt>`__
|
||
file for configuring both IPv4 and IPv6 simultaneously.
|
||
- Tiva PWM and Quadrature Encoder drivers were contributed to NuttX in
|
||
7.18 by Young.
|
||
|
||
Refer to the DK-TM4C129X board
|
||
`README <https://github.com/apache/nuttx/blob/master/boards/arm/tiva/dk-tm4c129x/README.txt>`__
|
||
file for more detailed information about this port.
|
||
|
||
TI/SimpleLink CC13x2
|
||
--------------------
|
||
|
||
Basic, unverified architectural support for the
|
||
CC13x2 was added in NuttX-7.28. Fragmentary support for very similar
|
||
CC26x2 family is included. This is a work in progress and, with any
|
||
luck, a fully verified port will be available in NuttX-7.29. It is
|
||
currently code complete (minus some ROM *DriverLib* hooks) but untested.
|
||
|
||
**TI LaunchXL-CC1312R1**. Basic board support for the TI
|
||
LaunchXL-CC1312R1 board is in place. Board bring-up, however, cannot be
|
||
done until the the basic CC13x2 architecture support is complete,
|
||
hopefully in NuttX-7.29.
|
||
|
||
Microchip SAM4L
|
||
---------------
|
||
|
||
This port uses the Microchip SAM4L Xplained Pro development
|
||
board. This board features the ATSAM4LC4C MCU running at 48MHz with
|
||
256KB of FLASH and 32KB of internal SRAM.
|
||
|
||
**STATUS:** As of this writing, the basic port is code complete and a
|
||
fully verified configuration exists for the NuttShell
|
||
:ref:`NSH <nsh>`). The first
|
||
fully functional SAM4L Xplained Pro port was released in NuttX-6.28.
|
||
Support for the SAM4L Xplained modules was added in NuttX-6.29:
|
||
|
||
- Support for the SPI-based SD card on the I/O1 module.
|
||
- Driver for the LED1 segment LCD module.
|
||
- Support for the UG-2832HSWEG04 OLED on the SAM4L Xplained Pro's OLED1
|
||
module
|
||
|
||
Refer to the NuttX board
|
||
`README <https://github.com/apache/nuttx/blob/master/boards/arm/sam34/sam4l-xplained/README.txt>`__
|
||
file for further information.
|
||
|
||
**Memory Usage**. The ATSAM4LC4C comes in a 100-pin package and has
|
||
256KB FLASH and 32KB of SRAM. Below is the current memory usage for the
|
||
NSH configuration (June 9, 2013). This is *not* a minimal
|
||
implementation, but a full-featured NSH configuration.
|
||
|
||
Static memory usage can be shown with ``size`` command:
|
||
|
||
NuttX, the NSH application, and GCC libraries use 42.6KB of FLASH
|
||
leaving 213.4B of FLASH (83.4%) free from additional application
|
||
development. Static SRAM usage is about 2.3KB (<7%) and leaves 29.7KB
|
||
(92.7%) available for heap at runtime.
|
||
|
||
SRAM usage at run-time can be shown with the NSH ``free`` command. This
|
||
runtime memory usage includes the static memory usage *plus* all dynamic
|
||
memory allocation for things like stacks and I/O buffers:
|
||
|
||
You can see that 22.8KB (71.1%) of the SRAM heap is still available for
|
||
further application development while NSH is running.
|
||
|
||
Microchip SAM4CM
|
||
----------------
|
||
|
||
General architectural support was provided for SAM4CM
|
||
family in NuttX 7.3 This was *architecture-only* support, meaning that
|
||
support for the boards with these chips is available, but no support for
|
||
any publicly available boards was included. The SAM4CM port should be
|
||
compatible with most of the SAM3/4 drivers (like HSMCI, DMAC, etc.) but
|
||
those have not be verified on hardware as of this writing. This support
|
||
was contributed in part by Max Neklyudov.
|
||
|
||
**Microchip SAM4CMP-DB**. Support for the SAM4CMP-DB board was contributed
|
||
to NuttX by Masayuki Ishikawa in NuttX-7.19. The SAM4CM is a dual-CPU
|
||
part and SMP was included for the ARMv7-M and SAM3/4 families. The
|
||
SAM4CMP-DB board support includes an NSH configuration that operates in
|
||
an SMP configuration. Refer to the NuttX board
|
||
`README <https://github.com/apache/nuttx/blob/master/boards/arm/sam34/sam4cmp-db/README.txt>`__
|
||
file for further information.
|
||
|
||
Microchip SAM4E
|
||
---------------
|
||
|
||
General architectural support was provided for the SAM4E
|
||
family in NuttX 6.32. This was *architecture-only* support, meaning that
|
||
support for the boards with these chips is available, but no support for
|
||
any publicly available boards was included. This support was contributed
|
||
in part by Mitko.
|
||
|
||
**Microchip SAM4E-EK**. Board support was added for the SAM4E-EK development
|
||
board in NuttX 7.1. A fully functional NuttShell (NSH) configuration is
|
||
available (see :ref:`NSH <nsh>`). That NSH
|
||
configuration includes networking support and support for an AT25 Serial
|
||
FLASH file system.
|
||
|
||
Microchip SAM4S
|
||
---------------
|
||
|
||
There are ports to two Microchip SAM4S board:
|
||
|
||
- There is a port the Microchip SAM4S Xplained development board. This
|
||
board features the ATSAM4S16 MCU running at 120MHz with 1MB of FLASH
|
||
and 128KB of internal SRAM.
|
||
|
||
- There is also a port to the Microchip SAM4S Xplained *Pro* development
|
||
board. This board features the ATSAM4S32C MCU running at 120MHz with
|
||
2MB of FLASH and 160KB of internal SRAM.
|
||
|
||
Microchip SAM4E. General architectural support was provided for the SAM4E
|
||
family in NuttX 6.32. This was *architecture-only* support, meaning that
|
||
support for the boards with these chips is available, but no support for
|
||
any publicly available boards was included. This support was contributed
|
||
in part by Mitko.
|
||
|
||
**Microchip SAM4E-EK**. Board support was added for the SAM4E-EK development
|
||
board in NuttX 7.1. A fully functional NuttShell (NSH) configuration is
|
||
available (see :ref:`NSH <nsh>`). That NSH
|
||
configuration includes networking support and support for an AT25 Serial
|
||
FLASH file system.
|
||
|
||
**Development Environments:** 1) Linux with native Linux GNU toolchain,
|
||
2) Cygwin/MSYS with Cygwin GNU Cortex-M3 or 4 toolchain, 3) Cygwin/MSYS
|
||
with Windows native GNU Cortex-M3 or M4 toolchain (CodeSourcery or
|
||
devkitARM), or 4) Native Windows. A DIY toolchain for Linux or Cygwin is
|
||
provided by the NuttX
|
||
`buildroot <https://bitbucket.org/nuttx/buildroot/downloads/>`__
|
||
package.
|
||
|
||
ARM Cortex-M7
|
||
=============
|
||
|
||
Microchip SAMV71
|
||
----------------
|
||
|
||
This port uses Microchip SAM V71 Xplained Ultra Evaluation Kit
|
||
(SAMV71-XULT). This board features the ATSAMV71Q21 Cortex-M7
|
||
microcontroller. Refer to the `Microchip web
|
||
site <http://www.atmel.com/tools/atsamv71-xult.aspx>`__ for further
|
||
information about this board.
|
||
|
||
**STATUS:** The basic port is complete and there are several different,
|
||
verified configurations available. All configurations use the NuttShell
|
||
(NSH) and a serial console. The first release of the SAMV71-XULT port
|
||
was available in NuttX-7.9. Support for the connect maXTouch Xplained
|
||
Pro LCD as added in NuttX-7.10.
|
||
|
||
Additional drivers, with status as of 2015-04-03, include:
|
||
|
||
- PIO configuration, including PIO interrupts,
|
||
- On-board LEDs and buttons,
|
||
- DMA,
|
||
- SDRAM (not yet functional),
|
||
- UART/USART-based serial drivers, including the NuttShell serial
|
||
console,
|
||
- High Speed Memory Card Interface (HSMCI) with support for the on
|
||
board SD card slot,
|
||
- SPI (not fully tested),
|
||
- TWIHS/I2C, with the support for the on-board serial EEPROM,
|
||
- SSC/I2S (not fully tested),
|
||
- Ethernet MAC,
|
||
- USB device controller driver (complete, partially functional, but not
|
||
well tested).
|
||
- On-board AT24 I2C EEPROM.
|
||
- On-board WM8904 Audio CODEC with CS2100-CP Fractional-N Multiplier
|
||
(not yet tested).
|
||
- Support for the (optional) maXTouch Xplained Pro LCD module.
|
||
|
||
Additional Drivers added in NuttX-7.11 include:
|
||
|
||
- MCAN CAN device driver (fully verified in loopback mode only).
|
||
- SPI slave driver.
|
||
|
||
Additional Drivers added in NuttX-7.13 include:
|
||
|
||
- MPU and protected build mode support.
|
||
- Timer/Counter driver, one-shot timer, free-running timer support.
|
||
- *Tickless* mode of operation.
|
||
- QuadSPI driver.
|
||
- Support for programming on-chip FLASH.
|
||
|
||
And in NuttX-7.14:
|
||
|
||
- TRNG driver,
|
||
- WDT driver, and
|
||
- RSWDT driver.
|
||
|
||
Refer to the NuttX board
|
||
`README <https://github.com/apache/nuttx/blob/master/boards/arm/samv7/samv71-xult/README.txt>`__
|
||
file for further information.
|
||
|
||
Microchip SAME70
|
||
----------------
|
||
|
||
This port uses Microchip SAM E70 Xplained Evaluation Kit
|
||
(ATSAME70-XPLD). This board is essentially a lower cost version of the
|
||
SAMV71-XULT board featuring the ATSAME70Q21 Cortex-M7 microcontroller.
|
||
See the `Microchip SAMV71 <#at91samv71>`__ for supported features. Also
|
||
refer to the NuttX board
|
||
`README <https://github.com/apache/nuttx/blob/master/boards/arm/samv7/same70-xplained/README.txt>`__
|
||
file for further information.
|
||
|
||
Microchip SAMD5x/E5x
|
||
--------------------
|
||
|
||
The port of NuttX to Adafruit Metro M4 development
|
||
board was released with NuttX-7/26. This board is essentially a advanced
|
||
version of the Adafruit Metro board based on the SAMD21, but upgraded to
|
||
the SAMD51, specifically the SAMD51J19. See the
|
||
`Adafruit <https://www.adafruit.com/product/3382>`__ web page for
|
||
additional information about the board.
|
||
|
||
A fully-function, basic NuttShell (NSH) configuration was was available
|
||
in this initial NuttX-7.26 release. That initial port verifies clock
|
||
configuration boot-up logic, SysTick timer, and SERCOM USART for the
|
||
serial console. The NSH configuration also includes use of the Cortex-M
|
||
Cache Controller (CMCC) which give the SAMD51's Cortex-M4 a performance
|
||
boost.
|
||
|
||
Because of the similarity in peripherals, several drivers were brought
|
||
in from the SAML21 port. Most have not been verified as of the
|
||
NuttX-7.26 release. These unverfied drivers include: SPI, I2C, DMA, USB.
|
||
Also refer to the NuttX board
|
||
`README <https://github.com/apache/nuttx/blob/master/boards/arm/samd5e5/metro-m4/README.txt>`__
|
||
file for further information about the current state of the port.
|
||
|
||
NuttX-9.0 added basic support for Microchip SAME54 Xplained Pro board.
|
||
An ethernet driver was also added to the SAME5x family.
|
||
|
||
STMicro STM32 F72x/F73x
|
||
-----------------------
|
||
|
||
Support for the F72x/F73x family was provided
|
||
by Bob Feretich in NuttX-7.23. A single board is supported in this
|
||
family:
|
||
|
||
**STATUS**: See `below <#stm32f7drivers>`__ for STM32 F7 driver
|
||
availability.
|
||
|
||
STMicro STM32 F745/F746
|
||
-----------------------
|
||
|
||
Three boards are supported for this MCU:
|
||
|
||
#. **STM32F746G Discovery**. One port uses the STMicro STM32F746G-DISCO
|
||
development board featuring the STM32F746NGH6 MCU. The STM32F746NGH6
|
||
is a 216MHz Cortex-M7 operation with 1024Kb Flash. The first release
|
||
of the STM32F746G_DISCO port was available in NuttX-7.11. Refer to
|
||
the `STMicro web site <http://www.st.com/stm32f7-discovery>`__ for
|
||
further information about this board.
|
||
|
||
#. **Nucleo-144 board with STM32F746ZG**. A basic port for the
|
||
Nucleo-144 board with the STM32F746ZG MCU was contributed in
|
||
NuttX-7.16 by Kconstantin Berezenko.
|
||
|
||
STM32 F7 Driver Status:
|
||
|
||
- **NuttX-7.11**. Serial driver and Ethernet driver support, along with
|
||
DMA support, were available in this initial release. The STM32 F7
|
||
peripherals are very similar to some members of the STM32 F4 and
|
||
additional drivers can easily be ported the F7 as discussed in this
|
||
Wiki page: `Porting Drivers to the STM32
|
||
F7 <https://cwiki.apache.org/confluence/display/NUTTX/Porting+Drivers+to+the+STM32+F7>`__
|
||
|
||
- **NuttX-7.17**. David Sidrane contributed PWR, RTC, BBSRAM, and
|
||
DBGMCU support. Lok Tep contribed SPI, I2c, ADC, SDMMC, and USB
|
||
device driver support.
|
||
|
||
- **NuttX-7.22**. Titus von Boxberg also contributed LTDC support for
|
||
the onboard LCD in NuttX-7.22.
|
||
|
||
- **NuttX-7.29**. In NuttX-7.29, Valmantas Paliksa added a timer
|
||
lowerhalf driver for STM32F7, ITM syslog support, a CAN driver with
|
||
support for three bxCAN interfaces, and STM32F7 Quad SPI support.
|
||
Support for DMA and USB OTG was added by Mateusz Szafoni in
|
||
NuttX-7.29.
|
||
|
||
- **NuttX-7.30**. From Eduard Niesner contributed a PWM driver. Added
|
||
UID access from Valmantas Paliksa. USB High speed driver was added
|
||
for STM32F7 series by Ramtin Amin.
|
||
|
||
- **NuttX-9.0**. Added serial DMA support.
|
||
|
||
STMicro STM32 F756
|
||
------------------
|
||
|
||
Architecture-only support is available for the STM32
|
||
F756 family (meaning that the parts are supported, but there is no
|
||
example board supported in the system). This support was made available
|
||
in NuttX-7.11. See `above <#stm32f7drivers>`__ for STM32 F7 driver
|
||
availability.
|
||
|
||
STMicro STM32 F76xx/F77xx
|
||
-------------------------
|
||
|
||
Architecture support for the STM32 F76xx and
|
||
F77xx families was contributed by David Sidrane in NuttX 7.17. Support
|
||
is available for two boards from this family:
|
||
|
||
- **Nucleo-F767ZI**. This is a member of the Nucleo-144 board family.
|
||
Support for this board was also contributed by David Sidrane in
|
||
NuttX-7.17. See the board
|
||
`README.txt <https://github.com/apache/nuttx/blob/master/boards/arm/stm32f7/nucleo-144/README.txt>`__
|
||
file for further information.
|
||
|
||
- **STM32F76I-DISCO**. Support for the STM32F76I-DISCO was contributed
|
||
by Titus von Boxberg in NuttX-7.22. The STMicro STM32F769I-DISCO
|
||
development board features the STM32F769NIH6 MCU. The STM32F769NIH6
|
||
is a 216MHz Cortex-M7 operating with 2048K Flash memory and 512Kb
|
||
SRAM. The board features:
|
||
|
||
- On-board ST-LINK/V2 for programming and debugging,
|
||
- Mbed-enabled (mbed.org)
|
||
- 4-inch 800x472 color LCD-TFT with capacitive touch screen
|
||
- SAI audio codec
|
||
- Audio line in and line out jack
|
||
- Two ST MEMS microphones
|
||
- SPDIF RCA input connector
|
||
- Two pushbuttons (user and reset)
|
||
- 512-Mbit Quad-SPI Flash memory
|
||
- 128-Mbit SDRAM
|
||
- Connector for microSD card
|
||
- RF-EEPROM daughterboard connector
|
||
- USB OTG HS with Micro-AB connectors
|
||
- Ethernet connector compliant with IEEE-802.3-2002 and PoE
|
||
|
||
Refer to the http://www.st.com website for further information about
|
||
this board (search keyword: stm32f769i-disco). See also the board
|
||
`README.txt <https://github.com/apache/nuttx/blob/master/boards/arm/stm32f7/nucleo-144/README.txt>`__
|
||
file for further information.
|
||
|
||
**STATUS**: See `above <#stm32f7drivers>`__ for STM32 F7 driver
|
||
availability.
|
||
|
||
STMicro STM32 H7x3
|
||
------------------
|
||
|
||
Architecture support for the STM32 H7x3 was added
|
||
through efforts of several people in NuttX-7.26. Support is available
|
||
for one board from this family:
|
||
|
||
- **Nucleo-H743ZI**. This is a member of the Nucleo-144 board family.
|
||
Support for this board was added in NuttX-7.26. See the board
|
||
`README.txt <https://github.com/apache/nuttx/blob/master/boards/arm/stm32h7/nucleo-h743zi/README.txt>`__
|
||
file for further information.
|
||
|
||
The basic NSH configuration is fully, thanks to the bring-up efforts
|
||
of Mateusz Szafoni. This port is still a work in progress and
|
||
additional drivers are being ported from the F7 family.
|
||
|
||
- **STMicro STM32H747I-DISCO**. Support for this board was added in
|
||
NuttX-9.0. See the board
|
||
`README.txt <https://github.com/apache/nuttx/blob/master/boards/arm/stm32h7/stm32h747i-disco/README.txt>`__
|
||
file for further information.
|
||
|
||
This port is still a work in progress.
|
||
|
||
**NuttX-7.30**. Added support for Ethernet, SDMMC, and Timer drivers.
|
||
All from Jukka Laitinen.
|
||
|
||
**NuttX-8.1**. Added support for BBSRAM, DTCM, RTC, and UID. All from
|
||
David Sidrane.
|
||
|
||
**NuttX-8.2**. Added support for SDMMC and FLASH progmem. From David
|
||
Sidrane.
|
||
|
||
**NuttX-9.0**. Added QSPI support for the STM32H7.
|
||
|
||
NXP/Freescale i.MX RT
|
||
---------------------
|
||
|
||
The initial port to the IMXRT1050-EVKB featuring
|
||
the MIMXRT1052DVL6A *Crossover* MCU was included initially in
|
||
NuttX-7.25. The initial port was the joint effort of Janne Rosberg, Ivan
|
||
Ucherdzhiev, and myself. Ivan gets credit for the bulk of the bring-up
|
||
work and for the Hyper FLASH boot logic.
|
||
|
||
Another port, this one for the IMXRT1060-EVKB featuring the
|
||
MIMXRT1062DVL6A *Crossover* MCU, was added by David Sidrane in
|
||
NuttX-7.27.
|
||
|
||
**STATUS:**
|
||
|
||
- The basic IMXRT1050-EVK port is complete and verified configurations
|
||
are available. Refer to the NuttX board
|
||
`README <https://github.com/apache/nuttx/blob/master/boards/arm/imxrt/imxrt1050-evk/README.txt>`__
|
||
file for further information.
|
||
|
||
- The basic IMXRT1060-EVK port was complete but un-verified as of
|
||
NuttX-7.27 but has been fully verified since NuttX-7.27 Refer to the
|
||
NuttX board
|
||
`README <https://github.com/apache/nuttx/blob/master/boards/arm/imxrt/imxrt1060-evk/README.txt>`__
|
||
file for more current status information.
|
||
|
||
- Architecture-only support for the IMXRT1020 family was contributed in
|
||
NuttX-7.30 by Dave Marples.
|
||
|
||
- The basic IMXRT1020-EVK port was complete with verified
|
||
configurations in NuttX-8.2. This is again the work of Dave Marples.
|
||
The initial release includes *nsh*, *netnsh*, and *usdhc*
|
||
configurations. Refer to the NuttX board
|
||
`README <https://github.com/apache/nuttx/blob/master/boards/arm/imxrt/imxrt1020-evk/README.txt>`__
|
||
file for further information.
|
||
|
||
- The basic Teensy-4.x port is complete. Refer to the NuttX board
|
||
`README <https://github.com/apache/nuttx/blob/master/boards/arm/imxrt/teensy-4.x/README.txt>`__
|
||
file for further information.
|
||
|
||
**i.MX RT Driver Status:**
|
||
|
||
- **NuttX-7.25**. The initial release in NuttX-7.25 includes UART,
|
||
Timer, GPIO, DMA, and Ethernet support (Ethernet support was
|
||
contributed by Jake Choy).
|
||
|
||
- **NuttX-7.26**. NuttX-7.26 added RTC, SNVS, and Serial TERMIOS
|
||
support.
|
||
|
||
- **NuttX-7.27**. NuttX-7.27 added LPI2C (from Ivan Ucherdzhiev) and SD
|
||
card support via USDHC (from Dave Marples).
|
||
|
||
- **NuttX-7.28**. GPIO support Input daisy selection was added in
|
||
NuttX-7.28 by David Sidrane
|
||
|
||
- **NuttX-7.29**. XBAR and OCOTP support was added in NuttX-7.28 by
|
||
David Sidrane. LCD Framebuffer support was added by Johannes.
|
||
|
||
- **NuttX-7.31**. USB EHCI Host and USDHC drivers were added in
|
||
NuttX-7.31 by Dave Marples.
|
||
|
||
- **NuttX-8.2**. An LCD drivers was added in NuttX-8.2 by Fabio
|
||
Balzano.
|
||
|
||
**NuttX-9.0**. Added USB Device support.
|
||
|
||
**Development Environments:** The same basic development environment is
|
||
recommended for the Cortex-M7 as for the Cortex-M4. It would be wise to
|
||
use the latest GNU toolchains for this part because as of this writing
|
||
(2015-02-09), support for the Cortex-M7 is a very new GCC feature.
|
||
|
||
Microchip AVR
|
||
=============
|
||
|
||
AVR ATMega
|
||
----------
|
||
|
||
AVR ATMega128
|
||
-------------
|
||
|
||
This port of NuttX to the Amber Web Server from
|
||
`SoC Robotics <http://www.soc-robotics.com/index.htm>`__ is partially
|
||
completed. The Amber Web Server is based on an Microchip ATMega128.
|
||
|
||
AVR ATMega1284P
|
||
---------------
|
||
|
||
LowPowerLab MoteinoMEGA. This port of NuttX to the MoteinoMEGA from
|
||
`LowPowerLab <http://www.lowpowerlab.com>`__. The MoteinoMEGA is based
|
||
on an Microchip ATMega1284P. See the LowPowerlab
|
||
`website <https://lowpowerlab.com/shop/index.php?_route_=Moteino/moteinomega>`__
|
||
and the board
|
||
`README <https://github.com/apache/nuttx/blob/master/boards/avr/atmega/moteino-mega/README.txt>`__
|
||
file for further information.
|
||
|
||
AVR ATMega2560
|
||
--------------
|
||
|
||
Extension of the AVR architecture to support the
|
||
ATMega2560 and specifi support for the Arduion MEGA2560 board were
|
||
contributed by Dimitry Kloper and first released in NuttX-7.14.
|
||
|
||
AVR AT90USB64x and AT90USB6128x
|
||
-------------------------------
|
||
|
||
**Micropendous 3 AT90USB64x** and **AT90USB6128x**. This port of NuttX
|
||
to the Opendous Micropendous 3 board. The Micropendous3 is may be
|
||
populated with an AT90USB646, 647, 1286, or 1287. I have only the
|
||
AT90USB647 version for testing. This version have very limited memory
|
||
resources: 64K of FLASH and 4K of SRAM.
|
||
|
||
**PJRC Teensy++ 2.0 AT90USB1286**. This is a port of NuttX to the PJRC
|
||
Teensy++ 2.0 board. This board was developed by
|
||
`PJRC <http://pjrc.com/teensy/>`__. The Teensy++ 2.0 is based on an
|
||
Microchip AT90USB1286 MCU.
|
||
|
||
**AVR-Specific Issues**. The basic AVR port is solid. The biggest issue
|
||
for using AVR is its tiny SRAM memory and its Harvard architecture.
|
||
Because of the Harvard architecture, constant data that resides to flash
|
||
is inaccessible using "normal" memory reads and writes (only SRAM data
|
||
can be accessed "normally"). Special AVR instructions are available for
|
||
accessing data in FLASH, but these have not been integrated into the
|
||
normal, general purpose OS.
|
||
|
||
Most NuttX test applications are console-oriented with lots of strings
|
||
used for ``printf()`` and debug output. These strings are all stored in
|
||
SRAM now due to these data accessing issues and even the smallest
|
||
console-oriented applications can quickly fill a 4-8K memory. So, in
|
||
order for the AVR port to be useful, one of two things would need to be
|
||
done:
|
||
|
||
#. Don't use console applications that required lots of strings. The
|
||
basic AVR port is solid and your typical deeply embedded application
|
||
should work fine. Or,
|
||
#. Create a special version of printf that knows how to access strings
|
||
that reside in FLASH (or EEPROM).
|
||
|
||
**Development Environments:** 1) Linux with native Linux GNU toolchain,
|
||
2) Cygwin/MSYS with Cygwin GNU toolchain, 3) Cygwin/MSYS with Windows
|
||
native toolchain, or 4) Native Windows. All testing, however, has been
|
||
performed using the NuttX DIY toolchain for Linux or Cygwin is provided
|
||
by the NuttX
|
||
`buildroot <https://bitbucket.org/nuttx/buildroot/downloads/>`__
|
||
package. As a result, that toolchain is recommended.
|
||
|
||
Microchip AVR32
|
||
===============
|
||
|
||
AV32DEV1. This port uses the www.mcuzone.com AVRDEV1 board based on the
|
||
Microchip AT32UC3B0256 MCU. This port requires a special GNU avr32 toolchain
|
||
available from atmel.com website. This is a windows native toolchain and
|
||
so can be used only under Cygwin on Windows.
|
||
|
||
**STATUS:** This port is has completed all basic development, but there
|
||
is more that needs to be done. All code is complete for the basic NuttX
|
||
port including header files for all AT32UC3\* peripherals. The untested
|
||
AVR32 code was present in the 5.12 release of NuttX. Since then, the
|
||
basic RTOS port has solidified:
|
||
|
||
- The port successfully passes the NuttX OS test
|
||
(apps/examples/ostest).
|
||
- A NuttShell (NSH) configuration is in place (see :ref:`NSH <nsh>`).
|
||
Testing of that configuration has been postponed (because it got
|
||
bumped by the Olimex LPC1766-STK port). Current Status: I think I
|
||
have a hardware problem with my serial port setup. There is a good
|
||
chance that the NSH port is complete and functional, but I am not yet
|
||
able to demonstrate that. At present, I get nothing coming in the
|
||
serial RXD line (probably because the pins are configured wrong or I
|
||
have the MAX232 connected wrong).
|
||
|
||
The basic, port was be released in NuttX-5.13. A complete port will
|
||
include drivers for additional AVR32 UC3 devices -- like SPI and USB ---
|
||
and will be available in a later release, time permitting. Refer to the
|
||
NuttX board
|
||
`README <https://github.com/apache/nuttx/blob/master/boards/avr/at32uc3/avr32dev1/README.txt>`__
|
||
file for further information.
|
||
|
||
Misoc
|
||
=====
|
||
|
||
Misoc LM32 Architectural Support. Architectural support for the Misoc
|
||
LM32 was contributed by Ramtin Amin in NuttX 7.19
|
||
|
||
Minerva. Architectural support for the Misoc Minoerva was contributed by
|
||
Ramtin Amin in NuttX 7.29.
|
||
|
||
**Drivers**. Driver support is basic in these initial releases: Serial,
|
||
Timer, and Ethernet. "Board" support is a available for developing with
|
||
Misoc LM32 under Qemu or on your custom FPGA.
|
||
|
||
OpenRISC mor1kx
|
||
===============
|
||
|
||
**OpenRISC mor1kx Architectural Support**. Architectural support for the
|
||
OpenRISC mor1kx was developed by Matt Thompson Amin and released in
|
||
NuttX 7.25. Currently only an mor1kx Qemu simulation is available for
|
||
testing.
|
||
|
||
Freescale M68HCS12
|
||
==================
|
||
|
||
**MC9S12NE64**. Support for the MC9S12NE64 MCU and two boards are
|
||
included:
|
||
|
||
- The Freescale DEMO9S12NE64 Evaluation Board, and
|
||
- The Future Electronics Group NE64 /PoE Badge board.
|
||
|
||
Both use a GNU arm-nuttx-elf toolchain\* under Linux or Cygwin. The
|
||
NuttX `buildroot <https://bitbucket.org/nuttx/buildroot/downloads/>`__
|
||
provides a properly patched GCC 3.4.4 toolchain that is highly optimized
|
||
for the m9s12x family.
|
||
|
||
Intel 80x86
|
||
===========
|
||
|
||
**QEMU/Bifferboard i486**. This port uses the
|
||
`QEMU <http://wiki.qemu.org/Main_Page>`__ i486 and the native Linux,
|
||
Cygwin, MinGW the GCC toolchain under Linux or Cygwin.
|
||
|
||
**STATUS:** The basic port was code-complete in NuttX-5.19 and verified
|
||
in NuttX-6.0. The port was verified using the OS and NuttShell (NSH)
|
||
examples under QEMU. The port is reported to be functional on the
|
||
`Bifferboard <http://bifferos.bizhat.com>`__ as well. In NuttX 7.1,
|
||
Lizhuoyi contributed additional keyboard and VGA drivers. This is a
|
||
great, stable starting point for anyone interested in fleshing out the
|
||
x86 port! Refer to the NuttX
|
||
`README <https://github.com/apache/nuttx/blob/master/boards/x86/qemu/qemu-i486/README.txt>`__
|
||
file for further information.
|
||
|
||
**QEMU/Intel64** An x86_64 flat address port was ported in NuttX-9.0. It
|
||
consists of the following feautres:
|
||
|
||
- - Runs in x86_64 long mode.
|
||
- - Configurable SSE/AVX support.
|
||
- - IRQs are managed by LAPIC(X2APIC) and IOAPIC.
|
||
- - Used TSC_DEADLINE or APIC timer for systick.
|
||
- - Pages are now maps the kernel at 4GB~, but changeable.
|
||
|
||
This kernel with ostest have been tested with
|
||
|
||
- Qemu/KVM on a Xeon 2630v4 machine.
|
||
- Bochs with broadwell_ult emulation.
|
||
|
||
Microchip PIC32MX
|
||
=================
|
||
|
||
(MIPS M4K architecture)
|
||
|
||
Microchip PIC32MX2xx
|
||
--------------------
|
||
|
||
A port is in progress from the DTX1-4000L "Mirtoo"
|
||
module from `Dimitech <http://www.dimitech.com/>`__. This module uses
|
||
Microchip PIC32MX250F128D and the Dimitech DTX1-4000L EV-kit1 V2. See
|
||
the `Dimitech <http://www.dimitech.com/>`__ website for further
|
||
information.
|
||
|
||
Microchip PIC32MX4xx
|
||
--------------------
|
||
|
||
**PIC32MX440F512H**. This port uses the "Advanced USB Storage Demo
|
||
Board," Model DB-DP11215, from `Sure
|
||
Electronics <http://www.sureelectronics.net>`__. This board features the
|
||
Microchip PIC32MX440F512H.
|
||
|
||
**PIC32MX460F512L**. There one two board ports using this chip:
|
||
|
||
- **PIC32MX Board from PCB Logic Design Co**. This port is for the
|
||
PIC32MX board from PCB Logic Design Co. and used the PIC32MX460F512L.
|
||
The board is a very simple -- little more than a carrier for the
|
||
PIC32 MCU plus voltage regulation, debug interface, and an OTG
|
||
connector.
|
||
- **UBW32 Board from Sparkfun** This is the port to the Sparkfun UBW32
|
||
board. This port uses the `original
|
||
v2.5 <http://www.sparkfun.com/products/8971>`__ board which is based
|
||
on the Microchip PIC32MX460F512L. This older version has been
|
||
replaced with this `newer
|
||
board <http://www.sparkfun.com/products/9713>`__. See also the
|
||
`UBW32 <http://www.schmalzhaus.com/UBW32/>`__ web site.
|
||
|
||
Microchip PIC32MX7xx
|
||
--------------------
|
||
|
||
PIC32MX795F512L. There one two board ports using this chip:
|
||
|
||
- **Microchip PIC32 Ethernet Starter Kit**. This port uses the
|
||
Microchip PIC32 Ethernet Starter Kit (DM320004) with the Expansion
|
||
I/O board. See the `Microchip website <http://www.microchip.com>`__
|
||
for further information.
|
||
- **Mikroelektronika PIC32MX7 Mulitmedia Board (MMB)**. A port has been
|
||
completed for the Mikroelektronika PIC32MX7 Multimedia Board (MMB).
|
||
See http://www.mikroe.com/ for further information about this board.
|
||
|
||
**Development Environment:** These ports uses either:
|
||
|
||
#. The *LITE* version of the PIC32MX toolchain available for download
|
||
from the `Microchip <http://www.microchip.com>`__ website, or
|
||
#. The Pinguino MIPS ELF toolchain available from the Pinguino
|
||
`website <https://code.google.com/archive/p/pinguino32/>`__.
|
||
#. The MIPS SDE toolchain available from the `Mentor
|
||
Graphics <http://www.mentor.com>`__ website.
|
||
|
||
Microchip PIC32MZEC
|
||
-------------------
|
||
|
||
PIC32MZEC Family (MIPS microAptiv). A port is in available for the
|
||
PIC32MZ Embedded Connectivity (EC) Starter Kit. There are two
|
||
configurations of the Microchip PIC32MZ EC Starter Kit:
|
||
|
||
#. The PIC32MZ Embedded Connectivity Starter Kit based on the
|
||
PIC32MZ2048ECH144-I/PH chip (DM320006), and
|
||
#. The PIC32MZ Embedded Connectivity Starter Kit based on the
|
||
PIC32MZ2048ECM144-I/PH w/Crypto Engine (DM320006-C).
|
||
|
||
See the `Microchip <http://www.microchip.com>`__ website for further
|
||
information.
|
||
|
||
This was a collaborative effort between Kristopher Tate, David Sidrane
|
||
and myself. The basic port is functional and a NuttShell (NSH)
|
||
configuration is available.
|
||
|
||
Microchip PIC32MZEF
|
||
===================
|
||
|
||
(MIPS M5150 architecture).
|
||
|
||
A port is in available for the MikroElectronika `Flip&Click
|
||
PIC32MZ <https://www.mikroe.com/flipclick-pic32mz>`__ development board
|
||
based on the PIC32MZ2048EFH100 MCU. This board configuration was added
|
||
in NuttX-7.24 and is, for the most part, compatible with the PIC32MZEC
|
||
family.
|
||
|
||
**STATUS:**
|
||
|
||
**NuttX-7.9**. The first official release was in NuttX-7.9. Many drivers
|
||
port simply from the PIC32MX; others require more extensive efforts.
|
||
Driver status as of (2015-03-29) is provided below:
|
||
|
||
- I/O ports include I/O port interrupts
|
||
- UART serial driver that provides the NSH console,
|
||
- Timer,
|
||
- I2C (untested),
|
||
- SPI (untested),
|
||
- On-board buttons and LEDs,
|
||
- Ethernet (code complete, but not yet functional),
|
||
|
||
**NuttX-7.29**. Abdelatif Guettouche contributed additional timer
|
||
support including: Timer lower half driver, free-running, and one-shot
|
||
timers.
|
||
|
||
**NuttX-7.31**. Abdelatif Guettouche contributed DMA support.
|
||
|
||
**NuttX-9.0**. Cache operations were implemented.
|
||
|
||
Refer to the NuttX board
|
||
`README <https://github.com/apache/nuttx/blob/master/boards/mips/pic32mz/pic32mz-starterkit/README.txt>`__
|
||
file for further information.
|
||
|
||
**Development Environment:** Same as for the PIC32MZ.
|
||
|
||
Renesas/Hitachi SuperH
|
||
======================
|
||
|
||
**SH-1 SH7032**. This port uses the Hitachi SH-1 Low-Cost Evaluation
|
||
Board (SH1_LCEVB1), US7032EVB, with a GNU ELF toolchain\* under Linux or
|
||
Cygwin.
|
||
|
||
Renesas M16C/26
|
||
---------------
|
||
|
||
**Renesas M16C/26 Microcontroller**. This port uses the Renesas SKP16C26
|
||
Starter kit and the GNU M32C toolchain. The development environment is
|
||
either Linux or Cygwin under WinXP.
|
||
|
||
**STATUS:** Initial source files released in nuttx-0.4.2. At this point,
|
||
the port has not been integrated; the target cannot be built because the
|
||
GNU ``m16c-nuttx-elf-ld`` link fails with the following message:
|
||
|
||
Where the reference line is:
|
||
|
||
No workaround is known at this time. This is a show stopper for M16C.
|
||
Refer to the NuttX board
|
||
`README <https://github.com/apache/nuttx/blob/master/boards/renesas/m16c/skp16c26/README.txt>`__
|
||
file for further information.
|
||
|
||
Renesas RX65N
|
||
-------------
|
||
|
||
Support for the Renesas RX65N family was released in NuttX with a
|
||
contribution from Anjana. Two boards are supported in this initial
|
||
release:
|
||
|
||
- **RSK RX65N-2MB**.
|
||
- **GR-Rose**.
|
||
|
||
**STATUS**
|
||
|
||
- **NuttX-8.2**
|
||
- **NuttX-9.0** RTC driver for the RX65N was added.
|
||
|
||
RISC-V
|
||
======
|
||
|
||
RISC-V Architectural Support. Basic support for the RISC-V architecture
|
||
was contributed by Ken Pettit in NuttX-7.19.
|
||
|
||
`Sipeed Maix bit <#k210>`__
|
||
|
||
Initial support for the Sipeed Maix bit board was added in NuttX-9.0.
|
||
|
||
LiteX on ARTY A7
|
||
----------------
|
||
|
||
Support for the Digilent ARTY_A7 board along with CPU VexRiscV SOC were
|
||
added in NuttX-9.0.
|
||
|
||
ESP32-C3
|
||
--------
|
||
|
||
Initial architectural support for ESP32-C3 (RISC-V) was added in NuttX-10.1.0
|
||
|
||
**Espressif ESP32-C3 Devkit Board** The NuttX release includes support for
|
||
Espressif ESP32-C3 Devkit board.
|
||
|
||
Please, refer to the :doc:`ESP32-C3 </platforms/risc-v/esp32c3/index>` on NuttX for
|
||
further information.
|
||
|
||
ESP32 (Dual Xtensa LX6)
|
||
=======================
|
||
|
||
Xtensa LX6 ESP32
|
||
----------------
|
||
|
||
Initial architectural support for Xtensa LX6 processors for the Espressif
|
||
ESP32 was added in NuttX-7.19, enabling both single CPU and dual CPU
|
||
SMP configurations.
|
||
|
||
**Espressif ESP32 DevkitC V4 Board** The NuttX release includes support for
|
||
Espressif ESP32 DevkitC V4 board. There is an NSH configuration for each
|
||
CPU configuration and an OS test configuration for verification of the
|
||
port.
|
||
|
||
**STATUS**. Release NuttX-10.0.0 brought a bunch of additions to the ESP32 port. This
|
||
includes: I2C, SPI, RTC, PM, Timers, Watchdog Timer and Ethernet.
|
||
|
||
Please, refer to the :doc:`ESP32 </platforms/xtensa/esp32/index>` on NuttX for
|
||
further information.
|
||
|
||
ESP32-S2 (Single Xtensa LX7)
|
||
============================
|
||
|
||
Xtensa LX7 ESP32-S2
|
||
-------------------
|
||
|
||
Initial architectural support for Xtensa LX7 processor for the Espressif
|
||
ESP32-S2 was added in NuttX-10.2.
|
||
|
||
**Espressif ESP32-S2 Saola V1 Board** The NuttX release includes support for
|
||
Espressif ESP32-S2 Saola V1 board.
|
||
|
||
Please, refer to the :doc:`ESP32-S2 </platforms/xtensa/esp32s2/index>` on NuttX for
|
||
further information.
|
||
|
||
ESP32-S3 (Dual Xtensa LX7)
|
||
==========================
|
||
|
||
Xtensa LX7 ESP32-S3
|
||
-------------------
|
||
|
||
Initial architectural support for dual Xtensa LX7 processors for the Espressif
|
||
ESP32-S3 was added in NuttX-10.3.
|
||
|
||
**Espressif ESP32-S3 DevKit Board** The NuttX release includes support for
|
||
Espressif ESP32-S3 DevKit board.
|
||
|
||
Please, refer to the :doc:`ESP32-S3 </platforms/xtensa/esp32s3/index>` on NuttX for
|
||
further information.
|
||
|
||
Zilog ZNEO Z16F
|
||
===============
|
||
|
||
**Zilog z16f2800100zcog development kit**. This port use the Zilog
|
||
z16f2800100zcog development kit and the Zilog ZDS-II Windows command
|
||
line tools. The development environment is either Windows native or
|
||
Cygwin under Windows.
|
||
|
||
**STATUS:** The initial release of support for the z16f was made
|
||
available in NuttX version 0.3.7. A working NuttShell (NSH)
|
||
configuration as added in NuttX-6.33 (although a patch is required to
|
||
work around an issue with a ZDS-II 5.0.1 tool problem). An ESPI
|
||
driver was added in NuttX-7.2. Refer to the NuttX board
|
||
`README <https://github.com/apache/nuttx/blob/master/boards/z16/z16f/z16f2800100zcog/README.txt>`__
|
||
file for further information.
|
||
|
||
Zilog eZ80 Acclaim!
|
||
===================
|
||
|
||
**Zilog eZ80Acclaim! Microcontroller**. There are four eZ80Acclaim!
|
||
ports:
|
||
|
||
- The ZiLOG ez80f0910200kitg development kit.
|
||
- The ZiLOG ez80f0910200zcog-d development kit.
|
||
- The MakerLisp CPU board.
|
||
- The Z20x DIY computing system.
|
||
|
||
All three boards are based on the eZ80F091 part and all use the Zilog
|
||
ZDS-II Windows command line tools. The development environment is either
|
||
Windows native or Cygwin or MSYS2 under Windows.
|
||
|
||
It is also possible to compile using ``clang`` and the GNU ``binutils``
|
||
toolchain. You must have a variant of ``clang`` that supports the eZ80,
|
||
and an install of ``binutils`` built with Z80 support.
|
||
|
||
``clang`` with eZ80 support is available as part of the Texas Instruments
|
||
CE 85+ unofficial `toolchain <https://ce-programming.github.io/toolchain/>`
|
||
and requires a further `patch <https://github.com/codebje/ez80-toolchain/tree/master/clang>`
|
||
to support GNU assembler syntax.
|
||
|
||
GNU ``binutils`` supports the Z80 family. It will require compilation with
|
||
appropriate configuration to enable support.
|
||
|
||
C intrinsics are also required. Some may be found in the Zilog ZDS-II
|
||
distribution, requiring some modification to build with the GNU assembler.
|
||
Additional intrinsics for 64-bit support must be supplied.
|
||
|
||
Zilog Z8Encore!
|
||
===============
|
||
|
||
**Zilog Z8Encore! Microcontroller**. This port uses the either:
|
||
|
||
- Zilog z8encore000zco development kit, Z8F6403 part, or
|
||
- Zilog z8f64200100kit development kit, Z8F6423 part
|
||
|
||
and the Zilog ZDS-II Windows command line tools. The development
|
||
environment is either Windows native or Cygwin under Windows.
|
||
|
||
**STATUS:** This release has been verified only on the ZiLOG ZDS-II
|
||
Z8Encore! chip simulation as of nuttx-0.3.9. Refer to the NuttX board
|
||
README files for the
|
||
`z8encore000zco <https://github.com/apache/nuttx/blob/master/boards/z80/z8/z8encore000zco/README.txt>`__
|
||
and for
|
||
the\ `z8f64200100kit <https://github.com/apache/nuttx/blob/master/boards/z80/z8/z8f64200100kit/README.txt>`__
|
||
for further information.
|
||
|
||
Zilog Z180
|
||
==========
|
||
|
||
**P112**. The P112 is a hobbyist single board computer based on a 16MHz
|
||
Z80182 with up to 1MB of memory, serial, parallel and diskette IO, and
|
||
realtime clock, in a 3.5-inch drive form factor. The P112 computer
|
||
originated as a commercial product of "D-X Designs Pty Ltd"[ of
|
||
Australia.
|
||
|
||
Dave Brooks was successfully funded through Kickstarter for and another
|
||
run of P112 boards in November of 2012. In addition Terry Gulczynski
|
||
makes additional P112 derivative hobbyist home brew computers.
|
||
|
||
**STATUS:** Most of the NuttX is in port for both the Z80182 and for the
|
||
P112 board. Boards from Kickstarter project will not be available,
|
||
however, until the third quarter of 2013. So it will be some time before
|
||
this port is verified on hardware. Refer to the NuttX board
|
||
`README <https://github.com/apache/nuttx/blob/master/boards/z80/z180/p112/README.txt>`__
|
||
file for further information.
|
||
|
||
Zilog Z80
|
||
=========
|
||
|
||
**Z80 Instruction Set Simulator**. This port uses the
|
||
`SDCC <http://sdcc.sourceforge.net/>`__ toolchain under Linux or Cygwin
|
||
(verified using version 2.6.0). This port has been verified using only a
|
||
Z80 instruction simulator called z80sim.
|
||
|
||
**STATUS:** This port is complete and stable to the extent that it can
|
||
be tested using an instruction set simulator. Refer to the NuttX board
|
||
`README <https://github.com/apache/nuttx/blob/master/boards/z80/z80/z80sim/README.txt>`__
|
||
file for further information.
|
||
|
||
**XTRS: TRS-80 Model I/III/4/4P Emulator for Unix**. A very similar Z80
|
||
port is available for `XTRS <http://www.tim-mann.org/xtrs.html>`__, the
|
||
TRS-80 Model I/III/4/4P Emulator for Unix. That port also uses the
|
||
`SDCC <http://sdcc.sourceforge.net/>`__ toolchain under Linux or Cygwin
|
||
(verified using version 2.6.0).
|
||
|
||
**STATUS:** Basically the same as for the Z80 instruction set simulator.
|
||
This port was contributed by Jacques Pelletier. Refer to the NuttX board
|
||
`README <https://bitbucket.org/patacongo/obsoleted/src/master/configs/xtrs/README.txt>`__
|
||
file for further information.
|
||
|
||
**NOTE:** This port was removed from the NuttX source tree on
|
||
2017-11-24. It was removed because (1) it is unfinished, unverified, and
|
||
unsupported, and (2) the TRS-80 simulation is a sub-optimal platform.i
|
||
That platform includes a 16-bit ROM image and only a 48Kb RAM space for
|
||
NuttX. The removed board support is still available in the ``Obsoleted``
|
||
repository if anyone would ever like to resurrect it.
|
||
|
||
\* A highly modified `buildroot <http://buildroot.uclibc.org/>`__ is
|
||
available that may be used to build a NuttX-compatible ELF toolchain
|
||
under Linux or Cygwin. Configurations are available in that buildroot
|
||
to support ARM, Cortex-M3, avr, m68k, m68hc11, m68hc12, m9s12,
|
||
blackfin, m32c, h8, and SuperH ports.
|
||
|