From 88b7ce80a00d8c75beaa530ce1ca3611b02cd8b9 Mon Sep 17 00:00:00 2001 From: raiden00pl Date: Sat, 21 Oct 2023 17:08:13 +0200 Subject: [PATCH] Documentation: add missing platforms to platforms/ and remove introduction/platforms --- .../introduction/detailed_support.rst | 3234 ----------------- Documentation/introduction/index.rst | 2 - .../introduction/supported_platforms.rst | 297 -- Documentation/platforms/arm/a1x/index.rst | 23 + Documentation/platforms/arm/am335x/index.rst | 24 + Documentation/platforms/arm/at32/index.rst | 3 + Documentation/platforms/arm/bcm2708/index.rst | 17 + Documentation/platforms/arm/c5471/index.rst | 9 + Documentation/platforms/arm/cxd56xx/index.rst | 48 + Documentation/platforms/arm/dm320/index.rst | 10 + Documentation/platforms/arm/efm32/index.rst | 93 + .../platforms/arm/fvp-v8r-aarch32/index.rst | 2 + Documentation/platforms/arm/imx1/index.rst | 7 + Documentation/platforms/arm/imx6/index.rst | 22 + Documentation/platforms/arm/kinetis/index.rst | 104 + Documentation/platforms/arm/kl/index.rst | 30 + .../platforms/arm/lc823450/index.rst | 40 + Documentation/platforms/arm/lpc17xx/index.rst | 169 + Documentation/platforms/arm/lpc214x/index.rst | 9 + Documentation/platforms/arm/lpc2378/index.rst | 9 + Documentation/platforms/arm/lpc40xx/index.rst | 14 + Documentation/platforms/arm/lpc43xx/index.rst | 106 + Documentation/platforms/arm/lpc54xx/index.rst | 27 + .../platforms/arm/max326xx/index.rst | 12 + Documentation/platforms/arm/moxart/index.rst | 8 + Documentation/platforms/arm/nuc1xx/index.rst | 40 + Documentation/platforms/arm/sam34/index.rst | 143 + Documentation/platforms/arm/sama5/index.rst | 160 + Documentation/platforms/arm/samd2l2/index.rst | 28 + Documentation/platforms/arm/samv7/index.rst | 6 +- Documentation/platforms/arm/str71x/index.rst | 8 + Documentation/platforms/arm/tiva/index.rst | 190 + Documentation/platforms/arm/tms570/index.rst | 17 + Documentation/platforms/avr/at32uc3/index.rst | 33 + Documentation/platforms/avr/at90usb/index.rst | 46 + Documentation/platforms/avr/atmega/index.rst | 22 +- Documentation/platforms/avr/index.rst | 8 +- Documentation/platforms/ceva/index.rst | 11 + Documentation/platforms/ceva/xc5/index.rst | 3 + Documentation/platforms/ceva/xm6/index.rst | 3 + Documentation/platforms/hc/index.rst | 11 + Documentation/platforms/hc/m9s12/index.rst | 17 + Documentation/platforms/mips/index.rst | 11 + .../platforms/mips/pic32mx/index.rst | 59 + .../platforms/mips/pic32mz/index.rst | 61 + Documentation/platforms/misco/index.rst | 10 + Documentation/platforms/misco/lm32/index.rst | 12 + Documentation/platforms/or1k/index.rst | 9 + Documentation/platforms/or1k/mor1kx/index.rst | 8 + Documentation/platforms/renesas/index.rst | 11 + .../platforms/renesas/m16c/index.rst | 18 + .../platforms/renesas/rx65n/index.rst | 15 + Documentation/platforms/renesas/sh1/index.rst | 7 + Documentation/platforms/risc-v/c906/index.rst | 3 + .../platforms/risc-v/hpm6750/index.rst | 3 + Documentation/platforms/risc-v/k210/index.rst | 3 + .../platforms/risc-v/litex/index.rst | 6 +- Documentation/platforms/risc-v/qemu/index.rst | 3 + .../platforms/risc-v/rv32m1/index.rst | 3 + Documentation/platforms/sim/index.rst | 3 + .../platforms/sparc/bm3803/index.rst | 2 + .../platforms/sparc/bm3823/index.rst | 2 + Documentation/platforms/sparc/index.rst | 11 + .../platforms/sparc/s698pm/index.rst | 2 + Documentation/platforms/x86/index.rst | 9 + Documentation/platforms/x86/qemu/index.rst | 18 + Documentation/platforms/x86_64/index.rst | 9 + Documentation/platforms/x86_64/qemu/index.rst | 17 + Documentation/platforms/z16/index.rst | 11 + Documentation/platforms/z16/z16f/index.rst | 16 + Documentation/platforms/z80/ez80/index.rst | 31 + Documentation/platforms/z80/index.rst | 11 + Documentation/platforms/z80/z180/index.rst | 20 + Documentation/platforms/z80/z8/index.rst | 19 + Documentation/platforms/z80/z80/index.rst | 38 + 75 files changed, 1981 insertions(+), 3545 deletions(-) delete mode 100644 Documentation/introduction/detailed_support.rst delete mode 100644 Documentation/introduction/supported_platforms.rst create mode 100644 Documentation/platforms/arm/a1x/index.rst create mode 100644 Documentation/platforms/arm/am335x/index.rst create mode 100644 Documentation/platforms/arm/at32/index.rst create mode 100644 Documentation/platforms/arm/bcm2708/index.rst create mode 100644 Documentation/platforms/arm/c5471/index.rst create mode 100644 Documentation/platforms/arm/cxd56xx/index.rst create mode 100644 Documentation/platforms/arm/dm320/index.rst create mode 100644 Documentation/platforms/arm/efm32/index.rst create mode 100644 Documentation/platforms/arm/fvp-v8r-aarch32/index.rst create mode 100644 Documentation/platforms/arm/imx1/index.rst create mode 100644 Documentation/platforms/arm/imx6/index.rst create mode 100644 Documentation/platforms/arm/kinetis/index.rst create mode 100644 Documentation/platforms/arm/kl/index.rst create mode 100644 Documentation/platforms/arm/lc823450/index.rst create mode 100644 Documentation/platforms/arm/lpc17xx/index.rst create mode 100644 Documentation/platforms/arm/lpc214x/index.rst create mode 100644 Documentation/platforms/arm/lpc2378/index.rst create mode 100644 Documentation/platforms/arm/lpc40xx/index.rst create mode 100644 Documentation/platforms/arm/lpc43xx/index.rst create mode 100644 Documentation/platforms/arm/lpc54xx/index.rst create mode 100644 Documentation/platforms/arm/max326xx/index.rst create mode 100644 Documentation/platforms/arm/moxart/index.rst create mode 100644 Documentation/platforms/arm/nuc1xx/index.rst create mode 100644 Documentation/platforms/arm/sam34/index.rst create mode 100644 Documentation/platforms/arm/sama5/index.rst create mode 100644 Documentation/platforms/arm/samd2l2/index.rst create mode 100644 Documentation/platforms/arm/str71x/index.rst create mode 100644 Documentation/platforms/arm/tiva/index.rst create mode 100644 Documentation/platforms/arm/tms570/index.rst create mode 100644 Documentation/platforms/avr/at32uc3/index.rst create mode 100644 Documentation/platforms/avr/at90usb/index.rst create mode 100644 Documentation/platforms/ceva/index.rst create mode 100644 Documentation/platforms/ceva/xc5/index.rst create mode 100644 Documentation/platforms/ceva/xm6/index.rst create mode 100644 Documentation/platforms/hc/index.rst create mode 100644 Documentation/platforms/hc/m9s12/index.rst create mode 100644 Documentation/platforms/mips/index.rst create mode 100644 Documentation/platforms/mips/pic32mx/index.rst create mode 100644 Documentation/platforms/mips/pic32mz/index.rst create mode 100644 Documentation/platforms/misco/index.rst create mode 100644 Documentation/platforms/misco/lm32/index.rst create mode 100644 Documentation/platforms/or1k/index.rst create mode 100644 Documentation/platforms/or1k/mor1kx/index.rst create mode 100644 Documentation/platforms/renesas/index.rst create mode 100644 Documentation/platforms/renesas/m16c/index.rst create mode 100644 Documentation/platforms/renesas/rx65n/index.rst create mode 100644 Documentation/platforms/renesas/sh1/index.rst create mode 100644 Documentation/platforms/risc-v/c906/index.rst create mode 100644 Documentation/platforms/risc-v/hpm6750/index.rst create mode 100644 Documentation/platforms/risc-v/k210/index.rst create mode 100644 Documentation/platforms/risc-v/qemu/index.rst create mode 100644 Documentation/platforms/risc-v/rv32m1/index.rst create mode 100644 Documentation/platforms/sparc/bm3803/index.rst create mode 100644 Documentation/platforms/sparc/bm3823/index.rst create mode 100644 Documentation/platforms/sparc/index.rst create mode 100644 Documentation/platforms/sparc/s698pm/index.rst create mode 100644 Documentation/platforms/x86/index.rst create mode 100644 Documentation/platforms/x86/qemu/index.rst create mode 100644 Documentation/platforms/x86_64/index.rst create mode 100644 Documentation/platforms/x86_64/qemu/index.rst create mode 100644 Documentation/platforms/z16/index.rst create mode 100644 Documentation/platforms/z16/z16f/index.rst create mode 100644 Documentation/platforms/z80/ez80/index.rst create mode 100644 Documentation/platforms/z80/index.rst create mode 100644 Documentation/platforms/z80/z180/index.rst create mode 100644 Documentation/platforms/z80/z8/index.rst create mode 100644 Documentation/platforms/z80/z80/index.rst diff --git a/Documentation/introduction/detailed_support.rst b/Documentation/introduction/detailed_support.rst deleted file mode 100644 index 789d8297275..00000000000 --- a/Documentation/introduction/detailed_support.rst +++ /dev/null @@ -1,3234 +0,0 @@ -========================= -Detailed Platform Support -========================= - -**Details**. The details, caveats and fine print follow. For even more -information see the *README* files that can be found -`here `__. - -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 `__ 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 `__ - 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 ` -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 `__ -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 `__ - - SAMA5D33-EK with the - `ATSAMA5D33 `__ - - SAMA5D34-EK with the - `ATSAMA5D34 `__ - - SAMA5D35-EK with the - `ATSAMA5D35 `__ - - 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 `) configuration - that can be used as the basis for further application development. - - A full-loaded NuttShell (:ref:`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 `__ - 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 `__ 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 `__ -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 `__ - 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 `__ - 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 `__ - 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 ` 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 `__ - 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 `__ - 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 `) 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 `__ -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 `__ -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 `__ -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 `__ -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 `__ -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 `). 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 `__ 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 `__ -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 `__ -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 `__ - 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 `__ - 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 `) 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 `__ -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 `__ - file for further information. -- **Nucleo-G070RB** Contributed by Daniel Pereira Volpato. in - NuttX-8.2. Refer to the board - `README `__ - 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 `__ - 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 `__ - STM3210E-EVAL development board that features the STM32F103ZET6 MCU. - Refer to the NuttX board - `README `__ - 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 `__ - 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 `__ - 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 `__ web site - for hardware information; see the NuttX board - `README `__ - 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 `__ -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 `__ 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 `__) 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 `__ -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 `__. - -**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 `__ -file for further information. - -**Kamami STM32 Butterfly 2** Support for the `Kamami STM32 Butterfly -2 `__ -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 `__ -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 `__ -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 `__ -package. - -Microchip SAM3X ---------------- - -There are two SAM3X boards supported: - -#. The `Arduino `__ Due development board that - features the ATSAM3X8E MCU running at 84MHz. See the `Arduino - Due `__ page for more - information. -#. The Mikroelektronika `Flip&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 `__ - (LPC1768), -- The mbed board from `mbed.org `__ (LPC1768, - Contributed by Dave Marples), and -- The LPC1766-STK board from `Olimex `__ - (LPC1766). -- The Embedded Artists base board with NXP LPCXpresso LPC1768. -- Zilogic's ZKIT-ARM-1769 board. -- The `Micromint `__ 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 `__ - 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 `). 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 `__ - 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 `__ - 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 `__ - file for further information. - - Verified configurations are now available for the NuttShell with - networking and microSD support(NSH, see :ref:`NSH `), for - the NuttX network test, for the - `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 `__ - 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 `__ - 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 `__ - 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 `__ - 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 `__ -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 `__ -website as are LC823450 `related technical -documents `__. -Refer to the NuttX board -`README `__ -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 `__. -The current status of the board is available in the board -`README `__ -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 `__. - -NXP/FreeScale Kinetis K40 -------------------------- - -This port uses the Freescale Kinetis KwikStik -K40. Refer to the `Freescale web -site `__ -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 `__ -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 `__ -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 `__ -for further information about this board. The board may be complemented -by -`TWR-SER `__ -which includes (among other things), an RS232 and Ethernet connections. -Refer to the NuttX board -`README `__ -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 `__ -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 `__ -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 `__ 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 `__ - 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 `__ - 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 `__ 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 `__ 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 `__ - 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 `__ 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 `) 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 `__ -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 `__ 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 `__ -website for more information about this board and the NuttX board -`README `__ -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 `__ -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 `__ -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 `__ -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 `__ -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 `__ -website for more information about this board and the NuttX board -`README `__ -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 `__. 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 `__ 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 `__ -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 `__ - and the board - `README `__ - 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 `__ - 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 `__ - 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 `__ - and the board - `README `__ - 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 `__ and the - board - `README `__ - 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 `__ and - the board - `README `__ - 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 `__ - 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 `__ - and the board - `README `__ - 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 `__ - and the board - `README `__ - 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 `__ - and the board - `README `__ - 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 `__ - and the board - `README `__ - 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 `__ -for further information about this board. - -- **STATUS:** Refer to the NuttX board - `README `__ - 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 `__ -for more detailed information about the LPC4357 and the LPC4357-EVB. - -- **STATUS:** Refer to the NuttX board - `README `__ - 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 `__ - 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 `__ - 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 `__ -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 `__ -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 `__ - 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 `__ - 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) `__. - -**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 `). -- **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) `__. - -**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 `) 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 `__ -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) `__. - -**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 `), 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 `__ -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) `__. - -**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 `). Both - are networked enabled: One configured to support IPv4 and one - configured to supported IPv6. Instructions are included in the board - `README `__ - 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 `__ -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 `). 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 `__ -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 `__ -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 `). 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 `). 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 `__ -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 `__ 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 `__ -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 `__ -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 `__ 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 `__ -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 `__ 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 `__ - -- **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 `__ - 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 `__ - 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 `__ - 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 `__ - 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 `__ - 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 `__ - 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 `__ - file for further information. - -- The basic Teensy-4.x port is complete. Refer to the NuttX board - `README `__ - 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 `__ 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 `__. The MoteinoMEGA is based -on an Microchip ATMega1284P. See the LowPowerlab -`website `__ -and the board -`README `__ -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 `__. 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 `__ -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 `). - 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 `__ -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 `__ -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 `__ 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 `__ 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 `__ -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 `__. This module uses -Microchip PIC32MX250F128D and the Dimitech DTX1-4000L EV-kit1 V2. See -the `Dimitech `__ website for further -information. - -Microchip PIC32MX4xx --------------------- - -**PIC32MX440F512H**. This port uses the "Advanced USB Storage Demo -Board," Model DB-DP11215, from `Sure -Electronics `__. 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 `__ board which is based - on the Microchip PIC32MX460F512L. This older version has been - replaced with this `newer - board `__. See also the - `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 `__ - 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 `__ website, or -#. The Pinguino MIPS ELF toolchain available from the Pinguino - `website `__. -#. The MIPS SDE toolchain available from the `Mentor - Graphics `__ 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 `__ 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 `__ 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 `__ -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 `__ -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 ` on NuttX for -further information. - -ESP32-C6 --------- - -Initial architectural support for ESP32-C6 (RISC-V) was added in NuttX-12.1.0 - -**Espressif ESP32-C6 Devkit Board** The NuttX release includes support for -Espressif ESP32-C6 Devkit board. - -Please, refer to the :doc:`ESP32-C6 ` on NuttX for -further information. - -StarFive JH7110 ---------------- - -The basic port has been completed for the following StarFive JH7110 board: - -- **PINE64 Star64**: Refer to :doc:`PINE64 Star64 ` 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 ` 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 ` 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 ` 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 `__ -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 ` -and requires a further `patch ` -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 `__ -and for -the\ `z8f64200100kit `__ -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 `__ -file for further information. - -Zilog Z80 -========= - -**Z80 Instruction Set Simulator**. This port uses the -`SDCC `__ 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 `__ -file for further information. - -**XTRS: TRS-80 Model I/III/4/4P Emulator for Unix**. A very similar Z80 -port is available for `XTRS `__, the -TRS-80 Model I/III/4/4P Emulator for Unix. That port also uses the -`SDCC `__ 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 `__ -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 `__ 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. - diff --git a/Documentation/introduction/index.rst b/Documentation/introduction/index.rst index 8e035b8f7db..d61e2e7bcb0 100644 --- a/Documentation/introduction/index.rst +++ b/Documentation/introduction/index.rst @@ -7,8 +7,6 @@ In the following sections you will find basic information introducing main NuttX :maxdepth: 1 about.rst - supported_platforms.rst - detailed_support.rst development_environments.rst licensing.rst trademarks.rst diff --git a/Documentation/introduction/supported_platforms.rst b/Documentation/introduction/supported_platforms.rst deleted file mode 100644 index 5f3d5b9af87..00000000000 --- a/Documentation/introduction/supported_platforms.rst +++ /dev/null @@ -1,297 +0,0 @@ -.. include:: /substitutions.rst - -=================== -Supported Platforms -=================== - -**Supported Platforms by CPU core**. The number of ports to this -CPU follow in parentheses. The state of the various ports vary -from board-to-board. Follow the links for the details: - -.. list-table:: - :class: valign-top - - * - - - - :ref:`introduction/detailed_support:Linux User Mode Simulation` (1) - - - ARM - - - :ref:`introduction/detailed_support:ARM7TDMI` (4) - - :ref:`introduction/detailed_support:ARM920T` (1) - - :ref:`introduction/detailed_support:ARM926EJS` (4) - - :ref:`introduction/detailed_support:Other ARMv4` (1) - - :ref:`introduction/detailed_support:ARM1176JZ` (1) - - :ref:`introduction/detailed_support:ARM Cortex-A5` (3) - - :ref:`introduction/detailed_support:ARM Cortex-A8` (2) - - :ref:`introduction/detailed_support:ARM Cortex-A9` (1) - - :ref:`introduction/detailed_support:ARM Cortex-A53` (1) - - :ref:`introduction/detailed_support:ARM Cortex-R4` (2) - - :ref:`introduction/detailed_support:ARM Cortex-M0/M0+` (13) - - :ref:`introduction/detailed_support:ARM Cortex-M3` (39) - - :ref:`introduction/detailed_support:ARM Cortex-M4` (59) - - :ref:`introduction/detailed_support:ARM Cortex-M7` (15) - - - Atmel AVR - - - :ref:`introduction/detailed_support:Microchip AVR` (8-bit) (5) - - :ref:`introduction/detailed_support:Microchip AVR32` (1) - - - Freescale - - - :ref:`introduction/detailed_support:Freescale M68HCS12` (2) - - - - - Intel - - - :ref:`introduction/detailed_support:Intel 80x86` (2) - - - Microchip - - - :ref:`introduction/detailed_support:Microchip PIC32MX` (MIPS M4K) (4) - - :ref:`introduction/detailed_support:Microchip PIC32MZEF` (MIPS M5150) (1) - - - Misoc - - - :ref:`introduction/detailed_support:Misoc` (1) - - - OpenRISC - - - :ref:`introduction/detailed_support:OpenRISC mor1kx` (1) - - - Renesas/Hitachi: - - - :ref:`introduction/detailed_support:Renesas/Hitachi SuperH` (1/2) - - :ref:`introduction/detailed_support:Renesas M16C/26` (1/2) - - :ref:`introduction/detailed_support:Renesas RX65N` (2) - - - - - :ref:`introduction/detailed_support:RISC-V` (2) - - - :ref:`introduction/detailed_support:LiteX on Arty A7` (1) - - :ref:`introduction/detailed_support:ESP32-C3` (1) - - :ref:`introduction/detailed_support:ESP32-C6` (1) - - - Xtensa LX6: - - - :ref:`introduction/detailed_support:ESP32 (Dual Xtensa LX6)` (1) - - - Xtensa LX7: - - - :ref:`introduction/detailed_support:ESP32-S2 (Single Xtensa LX7)` (1) - - :ref:`introduction/detailed_support:ESP32-S3 (Dual Xtensa LX7)` (1) - - - ZiLOG - - - :ref:`introduction/detailed_support:ZiLOG ZNEO Z16F` (2) - - :ref:`introduction/detailed_support:ZiLOG eZ80 Acclaim!` (4) - - :ref:`introduction/detailed_support:ZiLOG Z8Encore!` (2) - - :ref:`introduction/detailed_support:ZiLOG Z180` (1) - - :ref:`introduction/detailed_support:ZiLOG Z80` (2) - -**Supported Platforms by Manufacturer/MCU Family**. CPU core type -follows in parentheses. The state of the various ports vary from MCU to -MCU. Follow the links for the details: - -.. list-table:: - :class: valign-top - - * - - - - :ref:`introduction/detailed_support:Linux User Mode Simulation` (1) - - - Allwinner - - - :ref:`introduction/detailed_support:Allwinner A10` (Cortex-A8) - - :ref:`introduction/detailed_support:Allwinner A64` (Cortex-A53) - - - Broadcom - - - :ref:`introduction/detailed_support:Broadcom BCM2708` (ARM1176JZ) - - - Espressif - - - :ref:`introduction/detailed_support:Xtensa LX6 ESP32` (Dual Xtensa LX6) - - :ref:`introduction/detailed_support:Xtensa LX7 ESP32-S2` (Single Xtensa LX7) - - :ref:`introduction/detailed_support:Xtensa LX7 ESP32-S3` (Dual Xtensa LX7) - - :ref:`introduction/detailed_support:ESP32-C3` (RISC-V) - - - Host PC based simulations - - - :ref:`introduction/detailed_support:Linux User Mode Simulation` - - - Infineon - - - :ref:`introduction/detailed_support:Infineon XMC45xx` - - - Intel - - - :ref:`introduction/detailed_support:Intel 80x86` - - - Maxim Integrated - - - :ref:`introduction/detailed_support:Maxim Integrated MAX32660` (ARM Cortex-M3) - - - Microchip - - - :ref:`introduction/detailed_support:Microchip PIC32MX2xx` (MIPS32 M4K) - - :ref:`introduction/detailed_support:Microchip PIC32MX4xx` (MIPS32 M4K) - - :ref:`introduction/detailed_support:Microchip PIC32MX7xx` (MIPS32 M4K) - - :ref:`introduction/detailed_support:Microchip PIC32MZEC` (MIPS32 microAptiv) - - :ref:`introduction/detailed_support:Microchip PIC32MZEF` (MIPS32 M5150) - - - Microchip (Formerly Atmel) - - - :ref:`introduction/detailed_support:AVR ATMega128` (8-bit AVR) - - :ref:`introduction/detailed_support:AVR ATMega1284p` (8-bit AVR) - - :ref:`introduction/detailed_support:AVR ATMega2560` (8-bit AVR) - - :ref:`introduction/detailed_support:AVR AT90USB64x and AT90USB6128x` (8-bit AVR) - - :ref:`introduction/detailed_support:Microchip AVR32` (AT32UC3BXXX, 32-bit AVR32) - - :ref:`introduction/detailed_support:Microchip SAMD20` (ARM Cortex-M0+) - - :ref:`introduction/detailed_support:Microchip SAMD21` (ARM Cortex-M0+) - - :ref:`introduction/detailed_support:Microchip SAML21` (ARM Cortex-M0+) - - :ref:`introduction/detailed_support:Microchip SAM3U` (ARM Cortex-M3) - - :ref:`introduction/detailed_support:Microchip SAM3X` (ARM Cortex-M3) - - :ref:`introduction/detailed_support:Microchip SAM4CM` (ARM Cortex-M4) - - :ref:`introduction/detailed_support:Microchip SAM4E` (ARM Cortex-M4) - - :ref:`introduction/detailed_support:Microchip SAM4L` (ARM Cortex-M4) - - :ref:`introduction/detailed_support:Microchip SAM4S` (ARM Cortex-M4) - - :ref:`introduction/detailed_support:Microchip SAMD5x/E5x` (ARM Cortex-M4) - - :ref:`introduction/detailed_support:Microchip SAME70` (ARM Cortex-M7) - - :ref:`introduction/detailed_support:Microchip SAMV71` (ARM Cortex-M7) - - :ref:`introduction/detailed_support:Microchip SAMA5D2` (ARM Cortex-A5) - - :ref:`introduction/detailed_support:Microchip SAMA5D3` (ARM Cortex-A5) - - :ref:`introduction/detailed_support:Microchip SAMA5D4` (ARM Cortex-A5) - - - Moxa - - - :ref:`introduction/detailed_support:Moxa NP51x0` (ARMv4) - - - nuvoTon - - - :ref:`introduction/detailed_support:nuvoTon NUC120` (ARM Cortex-M0) - - - Nordic Semiconductor - - - :ref:`introduction/detailed_support:Nordic Semiconductor NRF52xxx` (ARM Cortex-M4) - - - NXP/Freescale - - - :ref:`introduction/detailed_support:Freescale M68HCS12` - - :ref:`introduction/detailed_support:NXP/Freescale i.MX1` (ARM920-T) - - :ref:`introduction/detailed_support:NXP/Freescale i.MX6` (ARM Cortex-A9) - - :ref:`introduction/detailed_support:NXP/Freescale i.MX RT` (ARM Cortex-M7) - - :ref:`introduction/detailed_support:NXP/FreeScale KL25Z` (ARM Cortex-M0+) - - :ref:`introduction/detailed_support:NXP/FreeScale KL26Z` (ARM Cortex-M0+) - - :ref:`introduction/detailed_support:NXP/FreeScale Kinetis K20` (ARM Cortex-M4) - - :ref:`introduction/detailed_support:NXP/FreeScale Kinetis K28F` (ARM Cortex-M4) - - :ref:`introduction/detailed_support:NXP/FreeScale Kinetis K40` (ARM Cortex-M4) - - :ref:`introduction/detailed_support:NXP/FreeScale Kinetis K60` (ARM Cortex-M4) - - :ref:`introduction/detailed_support:NXP/FreeScale Kinetis K64` (ARM Cortex-M4) - - :ref:`introduction/detailed_support:NXP/FreeScale Kinetis K66` (ARM Cortex-M4) - - :ref:`introduction/detailed_support:NXP LPC11xx` (Cortex-M0) - - :ref:`introduction/detailed_support:NXP LPC214x` (ARM7TDMI) - - :ref:`introduction/detailed_support:NXP LPC2378` (ARM7TDMI) - - :ref:`introduction/detailed_support:NXP LPC3131` (ARM9E6JS) - - :ref:`introduction/detailed_support:NXP LPC315x` (ARM9E6JS) - - :ref:`introduction/detailed_support:NXP LPC176x` (ARM Cortex-M3) - - :ref:`introduction/detailed_support:NXP LPC178x` (ARM Cortex-M3) - - :ref:`introduction/detailed_support:NXP LPC40xx` (ARM Cortex-M4) - - :ref:`introduction/detailed_support:NXP LPC43xx` (ARM Cortex-M4) - - :ref:`introduction/detailed_support:NXP LPC54xx` (ARM Cortex-M4) - - :ref:`introduction/detailed_support:NXP S32K11x` (Cortex-M0+) - - :ref:`introduction/detailed_support:NXP S32K14x` (Cortex-M4F) - - - - - - ON Semiconductor: - - - :ref:`introduction/detailed_support:On Semiconductor LC823450` (Dual core ARM Cortex-M3) - - - Renesas/Hitachi: - - - :ref:`introduction/detailed_support:Renesas/Hitachi SuperH` - - :ref:`introduction/detailed_support:Renesas M16C/26` - - :ref:`introduction/detailed_support:Renesas RX65N` - - - Silicon Laboratories, Inc. - - - :ref:`introduction/detailed_support:SiLabs EFM32 Gecko` (ARM Cortex-M3) - - :ref:`introduction/detailed_support:SiLabs EFM32 Giant Gecko` (ARM Cortex-M3) - - - Sony. - - - :ref:`introduction/detailed_support:Sony CXD56xx` (6 x ARM Cortex-M4) - - - STMicroelectronics - - - :ref:`introduction/detailed_support:STMicro STR71x` (ARM7TDMI) - - :ref:`introduction/detailed_support:STMicro STM32 F0xx` (STM32 F0, ARM Cortex-M0) - - :ref:`introduction/detailed_support:STMicro STM32 L0xx` (STM32 L0, ARM Cortex-M0) - - :ref:`introduction/detailed_support:STMicro STM32 G0xx` (STM32 G0, ARM Cortex-M0+) - - :ref:`introduction/detailed_support:STMicro STM32 L152` (STM32 L1 "EnergyLite" Line, ARM Cortex-M3) - - :ref:`introduction/detailed_support:STMicro STM32 L15x/16x` (STM32 L1 "EnergyLite" Medium+ Density, ARM Cortex-M3) - - :ref:`introduction/detailed_support:STMicro STM32 F100x` (STM32 F1 "Value Line" Family, ARM Cortex-M3) - - :ref:`introduction/detailed_support:STMicro STM32 F102x` (STM32 F1 family, ARM Cortex-M3) - - :ref:`introduction/detailed_support:STMicro STM32 F103C4/C8` (STM32 F1 "Low- and Medium-Density Line" Family, ARM Cortex-M3) - - :ref:`introduction/detailed_support:STMicro STM32 F103x` (STM32 F1 family, ARM Cortex-M3) - - :ref:`introduction/detailed_support:STMicro STM32 F105x` (ARM Cortex-M3) - - :ref:`introduction/detailed_support:STMicro STM32 F107x` (STM32 F1 family, "Connectivity Line" ARM Cortex-M3) - - :ref:`introduction/detailed_support:STMicro STM32 F205x` (STM32 F2 family, ARM Cortex-M3) - - :ref:`introduction/detailed_support:STMicro STM32 F207x` (STM32 F2 family, ARM Cortex-M3) - - :ref:`introduction/detailed_support:STMicro STM32 F302x` (STM32 F3 family, ARM Cortex-M4) - - :ref:`introduction/detailed_support:STMicro STM32 F303x` (STM32 F3 family, ARM Cortex-M4) - - :ref:`introduction/detailed_support:STMicro STM32 F334` (STM32 F3 family, ARM Cortex-M4) - - :ref:`introduction/detailed_support:STMicro STM32 F372/F373` (ARM Cortex-M4) - - :ref:`introduction/detailed_support:STMicro STM32 F4x1` (STM32 F4 family, ARM Cortex-M4) - - :ref:`introduction/detailed_support:STMicro STM32 F405x/407x` (STM32 F4 family, ARM Cortex-M4) - - :ref:`introduction/detailed_support:STMicro STM32 F427/F437` (STM32 F4 family, ARM Cortex-M4) - - :ref:`introduction/detailed_support:STMicro STM32 F429` (STM32 FB family, ARM Cortex-M4) - - :ref:`introduction/detailed_support:STMicro STM32 F433` (STM32 F4 family, ARM Cortex-M4) - - :ref:`introduction/detailed_support:STMicro STM32 F446` (STM32 F4 family, ARM Cortex-M4) - - :ref:`introduction/detailed_support:STMicro STM32 F46xx` (STM32 F4 family, ARM Cortex-M4) - - :ref:`introduction/detailed_support:STMicro STM32 G474x` (STM32 G4 family, ARM Cortex-M4) - - :ref:`introduction/detailed_support:STMicro STM32 G431x` (STM32 G4 family, ARM Cortex-M4) - - :ref:`introduction/detailed_support:STMicro STM32 L4x2` (STM32 L4 family, ARM Cortex-M4) - - :ref:`introduction/detailed_support:STMicro STM32 L475` (STM32 L4 family, ARM Cortex-M4) - - :ref:`introduction/detailed_support:STMicro STM32 L476` (STM32 L4 family, ARM Cortex-M4) - - :ref:`introduction/detailed_support:STMicro STM32 L496` (STM32 L4 family, ARM Cortex-M4) - - :ref:`introduction/detailed_support:STMicro STM32 L4Rx` (STM32 LB family, ARM Cortex-M4) - - :ref:`introduction/detailed_support:STMicro STM32 F72x/F73x` (STM32 F7 family, ARM Cortex-M7) - - :ref:`introduction/detailed_support:STMicro STM32 F745/F746` (STM32 F7 family, ARM Cortex-M7) - - :ref:`introduction/detailed_support:STMicro STM32 F756` (STM32 F7 family, ARM Cortex-M7) - - :ref:`introduction/detailed_support:STMicro STM32 F76xx/F77xx` (STM32 F7 family, ARM Cortex-M7) - - :ref:`introduction/detailed_support:STMicro STM32 H7x3` (STM32 H7 family, ARM Cortex-M7) - - - - - - Texas Instruments (some formerly Luminary) - - - :ref:`introduction/detailed_support:TI TMS320-C5471` (ARM7TDMI) - - :ref:`introduction/detailed_support:TI TMS320-DM320` (ARM9E6JS) - - :ref:`introduction/detailed_support:TI/Stellaris LM3S6432` (ARM Cortex-M3) - - :ref:`introduction/detailed_support:TI/Stellaris LM3S6432S2E` (ARM Cortex-M3) - - :ref:`introduction/detailed_support:TI/Stellaris LM3S6918` (ARM Cortex-M3) - - :ref:`introduction/detailed_support:TI/Stellaris LM3S6965` (ARM Cortex-M3) - - :ref:`introduction/detailed_support:TI/Stellaris LM3S8962` (ARM Cortex-M3) - - :ref:`introduction/detailed_support:TI/Stellaris LM3S9B92` (ARM Cortex-M3) - - :ref:`introduction/detailed_support:TI/Stellaris LM3S9B96` (ARM Cortex-M3) - - :ref:`introduction/detailed_support:TI/SimpleLink CC13x0` (ARM Cortex-M3) - - :ref:`introduction/detailed_support:TI/Stellaris LM4F120x` (ARM Cortex-M4) - - :ref:`introduction/detailed_support:TI/Tiva TM4C123G` (ARM Cortex-M4) - - :ref:`introduction/detailed_support:TI/Tiva TM4C1294` (ARM Cortex-M4) - - :ref:`introduction/detailed_support:TI/Tiva TM4C129E` (ARM Cortex-M4) - - :ref:`introduction/detailed_support:TI/Tiva TM4C129X` (ARM Cortex-M4) - - :ref:`introduction/detailed_support:TI/SimpleLink CC13x2` (ARM Cortex-M4) - - :ref:`introduction/detailed_support:TI/Hercules TMS570LS04xx` (ARM Cortex-R4) - - :ref:`introduction/detailed_support:TI/Hercules TMS570LS31xx` (ARM Cortex-R4) - - :ref:`introduction/detailed_support:TI/Sitara AM335x` (Cortex-A8) - - - ZiLOG - - - :ref:`introduction/detailed_support:ZiLOG ZNEO Z16F` - - :ref:`introduction/detailed_support:ZiLOG eZ80 Acclaim!` - - :ref:`introduction/detailed_support:ZiLOG Z8Encore!` - - :ref:`introduction/detailed_support:ZiLOG Z180` - - :ref:`introduction/detailed_support:ZiLOG Z80` - diff --git a/Documentation/platforms/arm/a1x/index.rst b/Documentation/platforms/arm/a1x/index.rst new file mode 100644 index 00000000000..f4f7e0fcf5e --- /dev/null +++ b/Documentation/platforms/arm/a1x/index.rst @@ -0,0 +1,23 @@ +============= +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 `__ + 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. diff --git a/Documentation/platforms/arm/am335x/index.rst b/Documentation/platforms/arm/am335x/index.rst new file mode 100644 index 00000000000..90c524fa17a --- /dev/null +++ b/Documentation/platforms/arm/am335x/index.rst @@ -0,0 +1,24 @@ +================ +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 `__ + file for further, up-to-date information. diff --git a/Documentation/platforms/arm/at32/index.rst b/Documentation/platforms/arm/at32/index.rst new file mode 100644 index 00000000000..03404ec1478 --- /dev/null +++ b/Documentation/platforms/arm/at32/index.rst @@ -0,0 +1,3 @@ +=========== +Artery AT32 +=========== diff --git a/Documentation/platforms/arm/bcm2708/index.rst b/Documentation/platforms/arm/bcm2708/index.rst new file mode 100644 index 00000000000..dea1a9910fe --- /dev/null +++ b/Documentation/platforms/arm/bcm2708/index.rst @@ -0,0 +1,17 @@ +========================== +Broadcom BCM2708 (removed) +========================== + +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 `__ +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. diff --git a/Documentation/platforms/arm/c5471/index.rst b/Documentation/platforms/arm/c5471/index.rst new file mode 100644 index 00000000000..553e0bb35bd --- /dev/null +++ b/Documentation/platforms/arm/c5471/index.rst @@ -0,0 +1,9 @@ +=============== +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 `__ evaluation +board with a GNU arm-nuttx-elf toolchain\* under Linux or Cygwin. diff --git a/Documentation/platforms/arm/cxd56xx/index.rst b/Documentation/platforms/arm/cxd56xx/index.rst new file mode 100644 index 00000000000..53128372284 --- /dev/null +++ b/Documentation/platforms/arm/cxd56xx/index.rst @@ -0,0 +1,48 @@ +============ +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. diff --git a/Documentation/platforms/arm/dm320/index.rst b/Documentation/platforms/arm/dm320/index.rst new file mode 100644 index 00000000000..324d33d8a50 --- /dev/null +++ b/Documentation/platforms/arm/dm320/index.rst @@ -0,0 +1,10 @@ +=============== +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. diff --git a/Documentation/platforms/arm/efm32/index.rst b/Documentation/platforms/arm/efm32/index.rst new file mode 100644 index 00000000000..bba89bb21a5 --- /dev/null +++ b/Documentation/platforms/arm/efm32/index.rst @@ -0,0 +1,93 @@ +============ +SiLabs EFM32 +============ + +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 `__ + 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 `__ + 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. diff --git a/Documentation/platforms/arm/fvp-v8r-aarch32/index.rst b/Documentation/platforms/arm/fvp-v8r-aarch32/index.rst new file mode 100644 index 00000000000..9551e5f5d60 --- /dev/null +++ b/Documentation/platforms/arm/fvp-v8r-aarch32/index.rst @@ -0,0 +1,2 @@ +FVP ARMv8-R Virt Chip +===================== diff --git a/Documentation/platforms/arm/imx1/index.rst b/Documentation/platforms/arm/imx1/index.rst new file mode 100644 index 00000000000..fd10e866c1e --- /dev/null +++ b/Documentation/platforms/arm/imx1/index.rst @@ -0,0 +1,7 @@ +=================== +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. diff --git a/Documentation/platforms/arm/imx6/index.rst b/Documentation/platforms/arm/imx6/index.rst new file mode 100644 index 00000000000..e2c7a6552b0 --- /dev/null +++ b/Documentation/platforms/arm/imx6/index.rst @@ -0,0 +1,22 @@ +=================== +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 `__ + 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 `__ + file for the board. diff --git a/Documentation/platforms/arm/kinetis/index.rst b/Documentation/platforms/arm/kinetis/index.rst new file mode 100644 index 00000000000..cf752afd0ed --- /dev/null +++ b/Documentation/platforms/arm/kinetis/index.rst @@ -0,0 +1,104 @@ +===================== +NXP/FreeScale Kinetis +===================== + +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 `__. + +NXP/FreeScale Kinetis K40 +------------------------- + +This port uses the Freescale Kinetis KwikStik +K40. Refer to the `Freescale web +site `__ +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 `__ +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 `__ +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 `__ +for further information about this board. The board may be complemented +by +`TWR-SER `__ +which includes (among other things), an RS232 and Ethernet connections. +Refer to the NuttX board +`README `__ +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 `__ +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. diff --git a/Documentation/platforms/arm/kl/index.rst b/Documentation/platforms/arm/kl/index.rst new file mode 100644 index 00000000000..dd3659b1654 --- /dev/null +++ b/Documentation/platforms/arm/kl/index.rst @@ -0,0 +1,30 @@ +================== +NXP/FreeScale KLxx +================== + +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 `__ +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 `__ +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 `__ +website for further information about this board. diff --git a/Documentation/platforms/arm/lc823450/index.rst b/Documentation/platforms/arm/lc823450/index.rst new file mode 100644 index 00000000000..1fe53340d46 --- /dev/null +++ b/Documentation/platforms/arm/lc823450/index.rst @@ -0,0 +1,40 @@ +========================= +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 `__ +website as are LC823450 `related technical +documents `__. +Refer to the NuttX board +`README `__ +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. diff --git a/Documentation/platforms/arm/lpc17xx/index.rst b/Documentation/platforms/arm/lpc17xx/index.rst new file mode 100644 index 00000000000..990a9eb591a --- /dev/null +++ b/Documentation/platforms/arm/lpc17xx/index.rst @@ -0,0 +1,169 @@ +=========== +NXP LPC17xx +=========== + +NXP LPC176x +----------- + +NXP LPC1766, LPC1768, and LPC1769. Drivers are available for CAN, DAC, +Ethernet, GPIO, GPIO interrupts, I2C, UARTs, SPI, SSP, USB host, and USB +device. Additional drivers for the RTC, ADC, DAC, Timers, PWM and MCPWM +were contributed by Max (himax) in NuttX-7.3. Verified LPC17xx +configurations are available for these boards: + +- The Nucleus 2G board from `2G Engineering `__ + (LPC1768), +- The mbed board from `mbed.org `__ (LPC1768, + Contributed by Dave Marples), and +- The LPC1766-STK board from `Olimex `__ + (LPC1766). +- The Embedded Artists base board with NXP LPCXpresso LPC1768. +- Zilogic's ZKIT-ARM-1769 board. +- The `Micromint `__ 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 `__ + 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 `). 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 `__ + 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 `__ + 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 `__ + file for further information. + + Verified configurations are now available for the NuttShell with + networking and microSD support(NSH, see :ref:`NSH `), for + the NuttX network test, for the + `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 `__ + 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 `__ + 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 `__ + 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 `__ + 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 `__ +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. diff --git a/Documentation/platforms/arm/lpc214x/index.rst b/Documentation/platforms/arm/lpc214x/index.rst new file mode 100644 index 00000000000..ecdb0e6ec10 --- /dev/null +++ b/Documentation/platforms/arm/lpc214x/index.rst @@ -0,0 +1,9 @@ +=========== +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. diff --git a/Documentation/platforms/arm/lpc2378/index.rst b/Documentation/platforms/arm/lpc2378/index.rst new file mode 100644 index 00000000000..085ab831e68 --- /dev/null +++ b/Documentation/platforms/arm/lpc2378/index.rst @@ -0,0 +1,9 @@ +=========== +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. diff --git a/Documentation/platforms/arm/lpc40xx/index.rst b/Documentation/platforms/arm/lpc40xx/index.rst new file mode 100644 index 00000000000..ccdb78f472c --- /dev/null +++ b/Documentation/platforms/arm/lpc40xx/index.rst @@ -0,0 +1,14 @@ +=========== +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.** diff --git a/Documentation/platforms/arm/lpc43xx/index.rst b/Documentation/platforms/arm/lpc43xx/index.rst new file mode 100644 index 00000000000..3a4404dc2a7 --- /dev/null +++ b/Documentation/platforms/arm/lpc43xx/index.rst @@ -0,0 +1,106 @@ +=========== +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 `__ +for further information about this board. + +- **STATUS:** Refer to the NuttX board + `README `__ + 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 `__ +for more detailed information about the LPC4357 and the LPC4357-EVB. + +- **STATUS:** Refer to the NuttX board + `README `__ + 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 `__ + 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 `__ + 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. diff --git a/Documentation/platforms/arm/lpc54xx/index.rst b/Documentation/platforms/arm/lpc54xx/index.rst new file mode 100644 index 00000000000..a5c595b3b74 --- /dev/null +++ b/Documentation/platforms/arm/lpc54xx/index.rst @@ -0,0 +1,27 @@ +=========== +NXP LPC54xx +=========== + +A port to the +`LPCXpresso-LPC54628 `__ +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 `__ +file for more detailed information about this port. diff --git a/Documentation/platforms/arm/max326xx/index.rst b/Documentation/platforms/arm/max326xx/index.rst new file mode 100644 index 00000000000..a6cb77e0627 --- /dev/null +++ b/Documentation/platforms/arm/max326xx/index.rst @@ -0,0 +1,12 @@ +========================= +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. + diff --git a/Documentation/platforms/arm/moxart/index.rst b/Documentation/platforms/arm/moxart/index.rst new file mode 100644 index 00000000000..805633236a7 --- /dev/null +++ b/Documentation/platforms/arm/moxart/index.rst @@ -0,0 +1,8 @@ +=========== +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 ` +configuration with support for the Faraday FTMAC100 Ethernet MAC Driver. diff --git a/Documentation/platforms/arm/nuc1xx/index.rst b/Documentation/platforms/arm/nuc1xx/index.rst new file mode 100644 index 00000000000..f2efcf4417e --- /dev/null +++ b/Documentation/platforms/arm/nuc1xx/index.rst @@ -0,0 +1,40 @@ +============== +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 `) 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 `__ +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 `__ +package. diff --git a/Documentation/platforms/arm/sam34/index.rst b/Documentation/platforms/arm/sam34/index.rst new file mode 100644 index 00000000000..5a0fdc67f14 --- /dev/null +++ b/Documentation/platforms/arm/sam34/index.rst @@ -0,0 +1,143 @@ +=============== +Microchip SAM34 +=============== + +Microchip SAM3U +--------------- + +This port uses the `Microchip `__ +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 `__ +package. + +Microchip SAM3X +--------------- + +There are two SAM3X boards supported: + +#. The `Arduino `__ Due development board that + features the ATSAM3X8E MCU running at 84MHz. See the `Arduino + Due `__ page for more + information. +#. The Mikroelektronika `Flip&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>`__ + +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 `). 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 `__ +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 `__ +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 `). 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 `). 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 `__ +package. diff --git a/Documentation/platforms/arm/sama5/index.rst b/Documentation/platforms/arm/sama5/index.rst new file mode 100644 index 00000000000..af02a4a0154 --- /dev/null +++ b/Documentation/platforms/arm/sama5/index.rst @@ -0,0 +1,160 @@ +=============== +Microchip SAMA5 +=============== + +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 `__ + - SAMA5D33-EK with the + `ATSAMA5D33 `__ + - SAMA5D34-EK with the + `ATSAMA5D34 `__ + - SAMA5D35-EK with the + `ATSAMA5D35 `__ + + 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 `) configuration + that can be used as the basis for further application development. + - A full-loaded NuttShell (:ref:`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 `__ + 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 `__ 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 `__ +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 `__ + 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. diff --git a/Documentation/platforms/arm/samd2l2/index.rst b/Documentation/platforms/arm/samd2l2/index.rst new file mode 100644 index 00000000000..b341a6cf21f --- /dev/null +++ b/Documentation/platforms/arm/samd2l2/index.rst @@ -0,0 +1,28 @@ +================ +Microchip SAMD2x +================ + +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). diff --git a/Documentation/platforms/arm/samv7/index.rst b/Documentation/platforms/arm/samv7/index.rst index 4ebcf76fd64..9071b1d65de 100644 --- a/Documentation/platforms/arm/samv7/index.rst +++ b/Documentation/platforms/arm/samv7/index.rst @@ -1,6 +1,6 @@ -====== -SAM V7 -====== +================ +Microchip SAM V7 +================ This page contains information regarding MCUs series SAM E70, SAM S70, SAM V70 and SAMV71 made by Microchip. The series is based around and ARM Cortex-M7 core running up to 300 MHz. diff --git a/Documentation/platforms/arm/str71x/index.rst b/Documentation/platforms/arm/str71x/index.rst new file mode 100644 index 00000000000..34d4ed36f9a --- /dev/null +++ b/Documentation/platforms/arm/str71x/index.rst @@ -0,0 +1,8 @@ +======== +ST STR71 +======== + +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. diff --git a/Documentation/platforms/arm/tiva/index.rst b/Documentation/platforms/arm/tiva/index.rst new file mode 100644 index 00000000000..7617ec3decd --- /dev/null +++ b/Documentation/platforms/arm/tiva/index.rst @@ -0,0 +1,190 @@ +================= +TI/Stellaris Tiva +================= + +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 `). 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 `__ 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 `__ +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 `__ +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. + +TI/Tiva TM4C123G +---------------- + +This port uses the Tiva C Series TM4C123G LaunchPad +Evaluation Kit +`(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 `). +- **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) `__. + +**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 `) 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 `__ +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) `__. + +**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 `), 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 `__ +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) `__. + +**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 `). Both + are networked enabled: One configured to support IPv4 and one + configured to supported IPv6. Instructions are included in the board + `README `__ + 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 `__ +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. + +TI/Stellaris LM4F120x +--------------------- + +This port uses the TI Stellaris LM4F120 LaunchPad. +Jose Pablo Carballo and I are doing this port. + +- TI/Tiva TM4C123G +- TI/Tiva TM4C1294 +- TI/Tiva TM4C129E +- TI/Tiva TM4C129X +- TI/SimpleLink CC13x2 diff --git a/Documentation/platforms/arm/tms570/index.rst b/Documentation/platforms/arm/tms570/index.rst new file mode 100644 index 00000000000..213baaea1d0 --- /dev/null +++ b/Documentation/platforms/arm/tms570/index.rst @@ -0,0 +1,17 @@ +===================== +TI/Hercules TMS570xxx +===================== + +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. diff --git a/Documentation/platforms/avr/at32uc3/index.rst b/Documentation/platforms/avr/at32uc3/index.rst new file mode 100644 index 00000000000..6f6bc8340a1 --- /dev/null +++ b/Documentation/platforms/avr/at32uc3/index.rst @@ -0,0 +1,33 @@ +================= +Microchip AT32UC3 +================= + +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 `). + 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 `__ +file for further information. + diff --git a/Documentation/platforms/avr/at90usb/index.rst b/Documentation/platforms/avr/at90usb/index.rst new file mode 100644 index 00000000000..085fd5a2d6c --- /dev/null +++ b/Documentation/platforms/avr/at90usb/index.rst @@ -0,0 +1,46 @@ +=========== +AVR AT90USB +=========== + +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 `__. 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 `__ +package. As a result, that toolchain is recommended. diff --git a/Documentation/platforms/avr/atmega/index.rst b/Documentation/platforms/avr/atmega/index.rst index a210aeba312..c098ba9421d 100644 --- a/Documentation/platforms/avr/atmega/index.rst +++ b/Documentation/platforms/avr/atmega/index.rst @@ -1,6 +1,16 @@ -=========== +====== +Atmega +====== + +ATMega128 +--------- + +This port of NuttX to the Amber Web Server from +`SoC Robotics `__ is partially +completed. The Amber Web Server is based on an Microchip ATMega128. + Atmega1284P -=========== +----------- The Atmega1284P is a chip from Microchip ("inherited" from Atmel) with the following features: @@ -20,6 +30,14 @@ following features: - Real Time Clock - JTAG/OCD Interface +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. + + Clock Configuration =================== diff --git a/Documentation/platforms/avr/index.rst b/Documentation/platforms/avr/index.rst index 8d3ad99c7a3..0e1440a9a1f 100644 --- a/Documentation/platforms/avr/index.rst +++ b/Documentation/platforms/avr/index.rst @@ -1,8 +1,8 @@ -==== -AVR8 -==== +============= +Microchip AVR +============= -The following AVR8 chips are supported: +The following AVR chips are supported: .. toctree:: :maxdepth: 1 diff --git a/Documentation/platforms/ceva/index.rst b/Documentation/platforms/ceva/index.rst new file mode 100644 index 00000000000..8950c6d1da3 --- /dev/null +++ b/Documentation/platforms/ceva/index.rst @@ -0,0 +1,11 @@ +==== +CEVA +==== + +The following CEVA DSP are supported: + +.. toctree:: + :maxdepth: 1 + :glob: + + */* diff --git a/Documentation/platforms/ceva/xc5/index.rst b/Documentation/platforms/ceva/xc5/index.rst new file mode 100644 index 00000000000..36ca613c87d --- /dev/null +++ b/Documentation/platforms/ceva/xc5/index.rst @@ -0,0 +1,3 @@ +======== +CEVA xc5 +======== diff --git a/Documentation/platforms/ceva/xm6/index.rst b/Documentation/platforms/ceva/xm6/index.rst new file mode 100644 index 00000000000..55168b333c2 --- /dev/null +++ b/Documentation/platforms/ceva/xm6/index.rst @@ -0,0 +1,3 @@ +======== +CEVA xm6 +======== diff --git a/Documentation/platforms/hc/index.rst b/Documentation/platforms/hc/index.rst new file mode 100644 index 00000000000..a2cc8efdd46 --- /dev/null +++ b/Documentation/platforms/hc/index.rst @@ -0,0 +1,11 @@ +=== +HC +=== + +The following HC SoC are supported: + +.. toctree:: + :maxdepth: 1 + :glob: + + */* diff --git a/Documentation/platforms/hc/m9s12/index.rst b/Documentation/platforms/hc/m9s12/index.rst new file mode 100644 index 00000000000..fbac08789ca --- /dev/null +++ b/Documentation/platforms/hc/m9s12/index.rst @@ -0,0 +1,17 @@ +=============== +Freescale M9S12 +=============== + +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 `__ +provides a properly patched GCC 3.4.4 toolchain that is highly optimized +for the m9s12x family. diff --git a/Documentation/platforms/mips/index.rst b/Documentation/platforms/mips/index.rst new file mode 100644 index 00000000000..3cd1c40702c --- /dev/null +++ b/Documentation/platforms/mips/index.rst @@ -0,0 +1,11 @@ +==== +MIPS +==== + +The following MIPS SoC are supported: + +.. toctree:: + :maxdepth: 1 + :glob: + + */* diff --git a/Documentation/platforms/mips/pic32mx/index.rst b/Documentation/platforms/mips/pic32mx/index.rst new file mode 100644 index 00000000000..eff96328ae1 --- /dev/null +++ b/Documentation/platforms/mips/pic32mx/index.rst @@ -0,0 +1,59 @@ +================= +Microchip pic32mx +================= + +(MIPS M4K architecture) + +Microchip PIC32MX2xx +-------------------- + +A port is in progress from the DTX1-4000L "Mirtoo" +module from `Dimitech `__. This module uses +Microchip PIC32MX250F128D and the Dimitech DTX1-4000L EV-kit1 V2. See +the `Dimitech `__ website for further +information. + +Microchip PIC32MX4xx +-------------------- + +**PIC32MX440F512H**. This port uses the "Advanced USB Storage Demo +Board," Model DB-DP11215, from `Sure +Electronics `__. 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 `__ board which is based + on the Microchip PIC32MX460F512L. This older version has been + replaced with this `newer + board `__. See also the + `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 `__ + 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 `__ website, or +#. The Pinguino MIPS ELF toolchain available from the Pinguino + `website `__. +#. The MIPS SDE toolchain available from the `Mentor + Graphics `__ website. diff --git a/Documentation/platforms/mips/pic32mz/index.rst b/Documentation/platforms/mips/pic32mz/index.rst new file mode 100644 index 00000000000..7836daaa5c2 --- /dev/null +++ b/Documentation/platforms/mips/pic32mz/index.rst @@ -0,0 +1,61 @@ +================= +Microchip pic32mz +================= + +Microchip PIC32MZEF +------------------- + +(MIPS M5150 architecture). + +A port is in available for the MikroElectronika `Flip&Click +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 `__ +file for further information. + +**Development Environment:** Same as for the PIC32MZ. + +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 `__ 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. diff --git a/Documentation/platforms/misco/index.rst b/Documentation/platforms/misco/index.rst new file mode 100644 index 00000000000..7e736409f30 --- /dev/null +++ b/Documentation/platforms/misco/index.rst @@ -0,0 +1,10 @@ +Misoc +===== + +The following Misoc SoC are supported: + +.. toctree:: + :maxdepth: 1 + :glob: + + */* diff --git a/Documentation/platforms/misco/lm32/index.rst b/Documentation/platforms/misco/lm32/index.rst new file mode 100644 index 00000000000..0b074c88fff --- /dev/null +++ b/Documentation/platforms/misco/lm32/index.rst @@ -0,0 +1,12 @@ +Misoc LM32 +========== + +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. diff --git a/Documentation/platforms/or1k/index.rst b/Documentation/platforms/or1k/index.rst new file mode 100644 index 00000000000..b7d1e4e6f81 --- /dev/null +++ b/Documentation/platforms/or1k/index.rst @@ -0,0 +1,9 @@ +======== +OpenRISC +======== + +.. toctree:: + :maxdepth: 1 + :glob: + + */* diff --git a/Documentation/platforms/or1k/mor1kx/index.rst b/Documentation/platforms/or1k/mor1kx/index.rst new file mode 100644 index 00000000000..c6d93b37f6e --- /dev/null +++ b/Documentation/platforms/or1k/mor1kx/index.rst @@ -0,0 +1,8 @@ +=============== +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. diff --git a/Documentation/platforms/renesas/index.rst b/Documentation/platforms/renesas/index.rst new file mode 100644 index 00000000000..125c88ef59b --- /dev/null +++ b/Documentation/platforms/renesas/index.rst @@ -0,0 +1,11 @@ +======= +Renesas +======= + +The following Renesas SoC are supported: + +.. toctree:: + :maxdepth: 1 + :glob: + + */* diff --git a/Documentation/platforms/renesas/m16c/index.rst b/Documentation/platforms/renesas/m16c/index.rst new file mode 100644 index 00000000000..d68b4d410b4 --- /dev/null +++ b/Documentation/platforms/renesas/m16c/index.rst @@ -0,0 +1,18 @@ +============ +Renesas M16C +============ + +**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 `__ +file for further information. diff --git a/Documentation/platforms/renesas/rx65n/index.rst b/Documentation/platforms/renesas/rx65n/index.rst new file mode 100644 index 00000000000..d7ffbf12c6f --- /dev/null +++ b/Documentation/platforms/renesas/rx65n/index.rst @@ -0,0 +1,15 @@ +============= +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. diff --git a/Documentation/platforms/renesas/sh1/index.rst b/Documentation/platforms/renesas/sh1/index.rst new file mode 100644 index 00000000000..6e040d8aecd --- /dev/null +++ b/Documentation/platforms/renesas/sh1/index.rst @@ -0,0 +1,7 @@ +============ +Renesas SH-1 +============ + +**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. diff --git a/Documentation/platforms/risc-v/c906/index.rst b/Documentation/platforms/risc-v/c906/index.rst new file mode 100644 index 00000000000..6566a514709 --- /dev/null +++ b/Documentation/platforms/risc-v/c906/index.rst @@ -0,0 +1,3 @@ +========== +THEAD C906 +========== diff --git a/Documentation/platforms/risc-v/hpm6750/index.rst b/Documentation/platforms/risc-v/hpm6750/index.rst new file mode 100644 index 00000000000..1c67b6cb9b9 --- /dev/null +++ b/Documentation/platforms/risc-v/hpm6750/index.rst @@ -0,0 +1,3 @@ +=============== +Hpmicro HPM6750 +=============== diff --git a/Documentation/platforms/risc-v/k210/index.rst b/Documentation/platforms/risc-v/k210/index.rst new file mode 100644 index 00000000000..1bee6ab39cd --- /dev/null +++ b/Documentation/platforms/risc-v/k210/index.rst @@ -0,0 +1,3 @@ +============= +Kendryte K210 +============= diff --git a/Documentation/platforms/risc-v/litex/index.rst b/Documentation/platforms/risc-v/litex/index.rst index f5dc565a561..f17a8a79dc6 100644 --- a/Documentation/platforms/risc-v/litex/index.rst +++ b/Documentation/platforms/risc-v/litex/index.rst @@ -1,6 +1,6 @@ -====================================== +========================== Enjoy Digital LiteX FPGA's -====================================== +========================== The LiteX framework provides a convenient and efficient infrastructure to create FPGA Cores/SoCs, to explore various digital design architectures and create full FPGA based systems. @@ -16,7 +16,7 @@ should work with either core, requiring minimal adjustment to the configuration. Toolchain -============== +========= Litex projects can be built with a generic RISC-V GCC toolchain. There are currently two options. diff --git a/Documentation/platforms/risc-v/qemu/index.rst b/Documentation/platforms/risc-v/qemu/index.rst new file mode 100644 index 00000000000..d27adccb5a1 --- /dev/null +++ b/Documentation/platforms/risc-v/qemu/index.rst @@ -0,0 +1,3 @@ +====================== +QEMU Generic RV32/RV64 +====================== diff --git a/Documentation/platforms/risc-v/rv32m1/index.rst b/Documentation/platforms/risc-v/rv32m1/index.rst new file mode 100644 index 00000000000..8ad07ac3538 --- /dev/null +++ b/Documentation/platforms/risc-v/rv32m1/index.rst @@ -0,0 +1,3 @@ +========== +NXP RV32M1 +========== diff --git a/Documentation/platforms/sim/index.rst b/Documentation/platforms/sim/index.rst index 2eba6c02dce..0b42eb239b9 100644 --- a/Documentation/platforms/sim/index.rst +++ b/Documentation/platforms/sim/index.rst @@ -2,6 +2,9 @@ Simulators ========== +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. + The following Simulator/Emulators are supported: .. toctree:: diff --git a/Documentation/platforms/sparc/bm3803/index.rst b/Documentation/platforms/sparc/bm3803/index.rst new file mode 100644 index 00000000000..74d785f6330 --- /dev/null +++ b/Documentation/platforms/sparc/bm3803/index.rst @@ -0,0 +1,2 @@ +BM3803 +====== diff --git a/Documentation/platforms/sparc/bm3823/index.rst b/Documentation/platforms/sparc/bm3823/index.rst new file mode 100644 index 00000000000..62c0f069f75 --- /dev/null +++ b/Documentation/platforms/sparc/bm3823/index.rst @@ -0,0 +1,2 @@ +BM3823 +====== diff --git a/Documentation/platforms/sparc/index.rst b/Documentation/platforms/sparc/index.rst new file mode 100644 index 00000000000..c2c1bf882fd --- /dev/null +++ b/Documentation/platforms/sparc/index.rst @@ -0,0 +1,11 @@ +===== +SPARC +===== + +The following SPARC SoC are supported: + +.. toctree:: + :maxdepth: 1 + :glob: + + */* diff --git a/Documentation/platforms/sparc/s698pm/index.rst b/Documentation/platforms/sparc/s698pm/index.rst new file mode 100644 index 00000000000..9c2abb5b9d3 --- /dev/null +++ b/Documentation/platforms/sparc/s698pm/index.rst @@ -0,0 +1,2 @@ +S698PM +====== diff --git a/Documentation/platforms/x86/index.rst b/Documentation/platforms/x86/index.rst new file mode 100644 index 00000000000..c0058dc8fae --- /dev/null +++ b/Documentation/platforms/x86/index.rst @@ -0,0 +1,9 @@ +=========== +Intel 80x86 +=========== + +.. toctree:: + :maxdepth: 1 + :glob: + + */* diff --git a/Documentation/platforms/x86/qemu/index.rst b/Documentation/platforms/x86/qemu/index.rst new file mode 100644 index 00000000000..f094d986aec --- /dev/null +++ b/Documentation/platforms/x86/qemu/index.rst @@ -0,0 +1,18 @@ +======== +QEMU x86 +======== + +**QEMU/Bifferboard i486**. This port uses the +`QEMU `__ 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 `__ 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 `__ +file for further information. + diff --git a/Documentation/platforms/x86_64/index.rst b/Documentation/platforms/x86_64/index.rst new file mode 100644 index 00000000000..1e902e00835 --- /dev/null +++ b/Documentation/platforms/x86_64/index.rst @@ -0,0 +1,9 @@ +============== +Intel 80x86_64 +============== + +.. toctree:: + :maxdepth: 1 + :glob: + + */* diff --git a/Documentation/platforms/x86_64/qemu/index.rst b/Documentation/platforms/x86_64/qemu/index.rst new file mode 100644 index 00000000000..16573ac69e2 --- /dev/null +++ b/Documentation/platforms/x86_64/qemu/index.rst @@ -0,0 +1,17 @@ +=========== +QEMU x86_64 +=========== + +**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. diff --git a/Documentation/platforms/z16/index.rst b/Documentation/platforms/z16/index.rst new file mode 100644 index 00000000000..c4e9a99bc64 --- /dev/null +++ b/Documentation/platforms/z16/index.rst @@ -0,0 +1,11 @@ +=== +Z16 +=== + +The following Z16 SoC are supported: + +.. toctree:: + :maxdepth: 1 + :glob: + + */* diff --git a/Documentation/platforms/z16/z16f/index.rst b/Documentation/platforms/z16/z16f/index.rst new file mode 100644 index 00000000000..44d9d23ce95 --- /dev/null +++ b/Documentation/platforms/z16/z16f/index.rst @@ -0,0 +1,16 @@ +=============== +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 `__ +file for further information. diff --git a/Documentation/platforms/z80/ez80/index.rst b/Documentation/platforms/z80/ez80/index.rst new file mode 100644 index 00000000000..624304b4b9c --- /dev/null +++ b/Documentation/platforms/z80/ez80/index.rst @@ -0,0 +1,31 @@ +=================== +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 ` +and requires a further `patch ` +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. diff --git a/Documentation/platforms/z80/index.rst b/Documentation/platforms/z80/index.rst new file mode 100644 index 00000000000..b71933668d1 --- /dev/null +++ b/Documentation/platforms/z80/index.rst @@ -0,0 +1,11 @@ +=== +Z80 +=== + +The following Z80 SoC are supported: + +.. toctree:: + :maxdepth: 1 + :glob: + + */* diff --git a/Documentation/platforms/z80/z180/index.rst b/Documentation/platforms/z80/z180/index.rst new file mode 100644 index 00000000000..2971ec4fbea --- /dev/null +++ b/Documentation/platforms/z80/z180/index.rst @@ -0,0 +1,20 @@ +========== +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 `__ +file for further information. diff --git a/Documentation/platforms/z80/z8/index.rst b/Documentation/platforms/z80/z8/index.rst new file mode 100644 index 00000000000..0fccef25461 --- /dev/null +++ b/Documentation/platforms/z80/z8/index.rst @@ -0,0 +1,19 @@ +=============== +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 `__ +and for +the\ `z8f64200100kit `__ +for further information. diff --git a/Documentation/platforms/z80/z80/index.rst b/Documentation/platforms/z80/z80/index.rst new file mode 100644 index 00000000000..50faf414fc0 --- /dev/null +++ b/Documentation/platforms/z80/z80/index.rst @@ -0,0 +1,38 @@ +========= +Zilog Z80 +========= + +**Z80 Instruction Set Simulator**. This port uses the +`SDCC `__ 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 `__ +file for further information. + +**XTRS: TRS-80 Model I/III/4/4P Emulator for Unix**. A very similar Z80 +port is available for `XTRS `__, the +TRS-80 Model I/III/4/4P Emulator for Unix. That port also uses the +`SDCC `__ 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 `__ +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 `__ 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. +