72a194ef39
This is not the official configuration for the PX4 board and has led to confusion by NuttX users. The board configuration also requires some ongoing maintenance and customization to support ongoing PX4 testing and evaluation. It is best retained the PX4 repositories where it can be properly maintained and not in the upstream NuttX repository.
694 lines
28 KiB
Plaintext
694 lines
28 KiB
Plaintext
Board-Specific Configurations
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
Table of Contents
|
||
^^^^^^^^^^^^^^^^^
|
||
|
||
o Board-Specific Configurations
|
||
o Summary of Files
|
||
o Configuration Variables
|
||
o Supported Boards
|
||
o Configuring NuttX
|
||
o Building Symbol Tables
|
||
|
||
Board-Specific Configurations
|
||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
|
||
The NuttX configuration consists of:
|
||
|
||
o Processor architecture specific files. These are the files contained
|
||
in the arch/<arch-name>/ directory.
|
||
|
||
o Chip/SoC specific files. Each processor processor architecture
|
||
is embedded in chip or System-on-a-Chip (SoC) architecture. The
|
||
full chip architecture includes the processor architecture plus
|
||
chip-specific interrupt logic, general purpose I/O (GIO) logic, and
|
||
specialized, internal peripherals (such as UARTs, USB, etc.).
|
||
|
||
These chip-specific files are contained within chip-specific
|
||
sub-directories in the arch/<arch-name>/ directory and are selected
|
||
via the CONFIG_ARCH_name selection
|
||
|
||
o Board specific files. In order to be usable, the chip must be
|
||
contained in a board environment. The board configuration defines
|
||
additional properties of the board including such things as
|
||
peripheral LEDs, external peripherals (such as network, USB, etc.).
|
||
|
||
These board-specific configuration files can be found in the
|
||
configs/<board-name>/ sub-directories and are discussed in this
|
||
README. Additional configuration information maybe available in
|
||
board-specific configs/<board-name>/README.txt files.
|
||
|
||
The configs/ subdirectory contains configuration data for each board. These
|
||
board-specific configurations plus the architecture-specific configurations in
|
||
the arch/ subdirectory completely define a customized port of NuttX.
|
||
|
||
Directory Structure
|
||
^^^^^^^^^^^^^^^^^^^
|
||
|
||
The configs directory contains board specific configurationlogic. Each
|
||
board must provide a subdirectory <board-name> under configs/ with the
|
||
following characteristics:
|
||
|
||
|
||
<board-name>
|
||
|-- README.txt
|
||
|-- include/
|
||
| `-- (board-specific header files)
|
||
|-- src/
|
||
| |-- Makefile
|
||
| `-- (board-specific source files)
|
||
|-- <config1-dir>
|
||
| |-- Make.defs
|
||
| |-- defconfig
|
||
| `-- setenv.sh
|
||
|-- <config2-dir>
|
||
| |-- Make.defs
|
||
| |-- defconfig
|
||
| `-- setenv.sh
|
||
...
|
||
|
||
Summary of Files
|
||
^^^^^^^^^^^^^^^^
|
||
|
||
README.txt -- This text file provides additional information unique to
|
||
each board configuration sub-directory.
|
||
|
||
include/ -- This directory contains board specific header files. This
|
||
directory will be linked as include/arch/board at configuration time and
|
||
can be included via '#include <arch/board/header.h>'. These header file
|
||
can only be included by files in arch/<arch-name>include/ and
|
||
arch/<arch-name>/src
|
||
|
||
src/ -- This directory contains board specific drivers. This
|
||
directory will be linked as arch/<arch-name>/src/board at configuration
|
||
time and will be integrated into the build system.
|
||
|
||
src/Makefile -- This makefile will be invoked to build the board specific
|
||
drivers. It must support the following targets: libext$(LIBEXT), clean,
|
||
and distclean.
|
||
|
||
A board may have various different configurations using these common source
|
||
files. Each board configuration is described by three files: Make.defs,
|
||
defconfig, and setenv.sh. Typically, each set of configuration files is
|
||
retained in a separate configuration sub-directory (<config1-dir>,
|
||
<config2-dir>, .. in the above diagram).
|
||
|
||
Make.defs -- This makefile fragment provides architecture and
|
||
tool-specific build options. It will be included by all other
|
||
makefiles in the build (once it is installed). This make fragment
|
||
should define:
|
||
|
||
Tools: CC, LD, AR, NM, OBJCOPY, OBJDUMP
|
||
Tool options: CFLAGS, LDFLAGS
|
||
|
||
When this makefile fragment runs, it will be passed TOPDIR which
|
||
is the path to the root directory of the build. This makefile
|
||
fragment should include:
|
||
|
||
$(TOPDIR)/.config : Nuttx configuration
|
||
$(TOPDIR)/tools/Config.mk : Common definitions
|
||
|
||
Definitions in the Make.defs file probably depend on some of the
|
||
settings in the .config file. For example, the CFLAGS will most likely be
|
||
different if CONFIG_DEBUG=y.
|
||
|
||
The included tools/Config.mk file contains additional definitions that may
|
||
be overriden in the architecture-specific Make.defs file as necessary:
|
||
|
||
COMPILE, ASSEMBLE, ARCHIVE, CLEAN, and MKDEP macros
|
||
|
||
defconfig -- This is a configuration file similar to the Linux
|
||
configuration file. In contains variable/value pairs like:
|
||
|
||
CONFIG_VARIABLE=value
|
||
|
||
This configuration file will be used at build time:
|
||
|
||
(1) as a makefile fragment included in other makefiles, and
|
||
(2) to generate include/nuttx/config.h which is included by
|
||
most C files in the system.
|
||
|
||
setenv.sh -- This is a script that you can include that will be installed at
|
||
the toplevel of the directory structure and can be sourced to set any
|
||
necessary environment variables. You will most likely have to customize the
|
||
default setenv.sh script in order for it to work correctly in your
|
||
environment.
|
||
|
||
Configuration Variables
|
||
^^^^^^^^^^^^^^^^^^^^^^^
|
||
|
||
At one time, this section provided a list of all NuttX configuration
|
||
variables. However, NuttX has since converted to use the kconfig-frontends
|
||
tools (See http://ymorin.is-a-geek.org/projects/kconfig-frontends). Now,
|
||
the NuttX configuration is determined by a self-documenting set of Kconfig
|
||
files.
|
||
|
||
The current NuttX configuration variables are also documented in separate,
|
||
auto-generated configuration variable document. That configuration variable
|
||
document is generated using the kconfig2html tool that can be found in the
|
||
nuttx/tools directory. That tool analyzes the NuttX Kconfig files and
|
||
generates an excruciatingly boring HTML document.
|
||
|
||
The latest boring configuration variable documentation can be regenerated at
|
||
any time using that tool or, more appropriately, the wrapper script at
|
||
nuttx/tools/mkconfigvars.sh. That script will generate the file
|
||
nuttx/Documentation/NuttXConfigVariables.html.
|
||
|
||
The version of NuttXConfigVariables.html for the last released version of
|
||
NuttX can also be found online at:
|
||
http://nuttx.org/Documentation/NuttXConfigVariables.html.
|
||
|
||
Supported Boards
|
||
^^^^^^^^^^^^^^^^
|
||
|
||
configs/amber
|
||
This is placeholder for the SoC Robotics Amber Web Server that is based
|
||
on the Atmel AVR ATMega128 MCU. There is not much there yet and what is
|
||
there is untested due to tool-related issues.
|
||
|
||
configs/arduino-due
|
||
This sub-directory holds board support for the Arduino DUE board featuring
|
||
the Atmel ATSAM3X8E MCU running at 84 MHz.
|
||
|
||
configs/avr32dev1
|
||
This is a port of NuttX to the Atmel AVR32DEV1 board. That board is
|
||
based on the Atmel AT32UC3B0256 MCU and uses a specially patched
|
||
version of the GNU toolchain: The patches provide support for the
|
||
AVR32 family. That patched GNU toolchain is available only from the
|
||
Atmel website. STATUS: This port is functional but very basic. There
|
||
are configurations for NSH and the OS test.
|
||
|
||
configs/c5471evm
|
||
This is a port to the Spectrum Digital C5471 evaluation board. The
|
||
TMS320C5471 is a dual core processor from TI with an ARM7TDMI general
|
||
purpose processor and a c54 DSP. It is also known as TMS320DA180 or just DA180.
|
||
NuttX runs on the ARM core and is built with a GNU arm-nuttx-elf toolchain*.
|
||
This port is complete and verified.
|
||
|
||
configs/cloudctrl
|
||
Darcy's CloudController board. This is a small network relay development
|
||
board. Based on the Shenzhou IV development board design. It is based on
|
||
the STM32F107VC MCU.
|
||
|
||
configs/compal_e86, compal_e88 and compal_e99
|
||
These directories contain the board support for compal e86, e88 and e99 phones.
|
||
These ports are based on patches contributed by Denis Carikli for both the
|
||
compal e99 and e88. The patches were made by Alan Carvalho de Assis and
|
||
Denis Carikli using the Stefan Richter's Osmocom-bb patches. The variant
|
||
for the e86 was submitted by Craig Comstock.
|
||
|
||
configs/demo9s12ne64
|
||
Freescale DMO9S12NE64 board based on the MC9S12NE64 hcs12 cpu. This
|
||
port uses the m9s12x GCC toolchain. STATUS: (Still) under development; it
|
||
is code complete but has not yet been verified.
|
||
|
||
configs/dk-tm4c129x
|
||
This is the port of NuttX to the Tiva<76> DK-TM4C129x Connected Development Kit. The
|
||
Tiva<76> DK-TM4C129x features the TM4C129XNCZAD MCU.
|
||
|
||
configs/ea3131
|
||
Embedded Artists EA3131 Development board. This board is based on the
|
||
an NXP LPC3131 MCU. This OS is built with the arm-nuttx-elf toolchain*.
|
||
STATUS: This port is complete and mature.
|
||
|
||
configs/ea3152
|
||
Embedded Artists EA3152 Development board. This board is based on the
|
||
an NXP LPC3152 MCU. This OS is built with the arm-nuttx-elf toolchain*.
|
||
STATUS: This port is has not be exercised well, but since it is
|
||
a simple derivative of the ea3131, it should be fully functional.
|
||
|
||
configs/eagle100
|
||
Micromint Eagle-100 Development board. This board is based on the
|
||
an ARM Cortex-M3 MCU, the Luminary LM3S6918. This OS is built with the
|
||
arm-nuttx-elf toolchain*. STATUS: This port is complete and mature.
|
||
|
||
configs/efm32-g8xx-stk
|
||
The port of NuttX to the the EFM32 Gecko Starter Kit (EFM32-G8XX-STK).
|
||
|
||
configs/efm32gg-stk3700
|
||
The port of NuttX to the the EFM32 Giant Gecko Starter Kit
|
||
(EFM32GG-STK3700).
|
||
|
||
configs/ekk-lm3s9b96
|
||
TI/Stellaris EKK-LM3S9B96 board. This board is based on the
|
||
an EKK-LM3S9B96 which is a Cortex-M3.
|
||
|
||
configs/ez80f0910200kitg
|
||
ez80Acclaim! Microcontroller. This port use the Zilog ez80f0910200kitg
|
||
development kit, eZ80F091 part, and the Zilog ZDS-II Windows command line
|
||
tools. The development environment is Cygwin under WinXP.
|
||
|
||
configs/ez80f0910200zco
|
||
ez80Acclaim! Microcontroller. This port use the Zilog ez80f0910200zco
|
||
development kit, eZ80F091 part, and the Zilog ZDS-II Windows command line
|
||
tools. The development environment is Cygwin under WinXP.
|
||
|
||
configs/fire-stm32v2
|
||
A configuration for the M3 Wildfire STM32 board. This board is based on the
|
||
STM32F103VET6 chip. See http://firestm32.taobao.com . Version 2 and 3 of
|
||
the boards are supported but only version 2 has been tested.
|
||
|
||
configs/hymini-stm32v
|
||
A configuration for the HY-Mini STM32v board. This board is based on the
|
||
STM32F103VCT chip.
|
||
|
||
configs/kwikstik-k40.
|
||
Kinetis K40 Cortex-M4 MCU. This port uses the FreeScale KwikStik-K40
|
||
development board.
|
||
|
||
configs/lincoln60
|
||
NuttX port to the Micromint Lincoln 60 board.
|
||
|
||
configs/lm3s6432-s2e
|
||
Stellaris RDK-S2E Reference Design Kit and the MDL-S2E Ethernet to
|
||
Serial module.
|
||
|
||
configs/lm3s6965-ek
|
||
Stellaris LM3S6965 Evaluation Kit. This board is based on the
|
||
an ARM Cortex-M3 MCU, the Luminary/TI LM3S6965. This OS is built with the
|
||
arm-nuttx-elf toolchain*. STATUS: This port is complete and mature.
|
||
|
||
configs/lm3s8962-ek
|
||
Stellaris LMS38962 Evaluation Kit.
|
||
|
||
configs/lm4f120-launchpad
|
||
This is the port of NuttX to the Stellaris LM4F120 LaunchPad. The
|
||
Stellaris<69> LM4F120 LaunchPad Evaluation Board is a low-cost evaluation
|
||
platform for ARM<52> Cortex<65>-M4F-based microcontrollers from Texas
|
||
Instruments.
|
||
|
||
configs/lpcxpresso-lpc1768
|
||
Embedded Artists base board with NXP LPCExpresso LPC1768. This board
|
||
is based on the NXP LPC1768. The Code Red toolchain is used by default.
|
||
STATUS: Under development.
|
||
|
||
configs/lpc4330-xplorer
|
||
NuttX port to the LPC4330-Xplorer board from NGX Technologies featuring
|
||
the NXP LPC4330FET100 MCU
|
||
|
||
configs/lpc4357-evb
|
||
NuttX port to the LPC4357-EVB board from Embest featuring the NXP
|
||
LPC4357FET256 MCU. Based on the LPC4300 Xplorer port and provided by
|
||
Toby Duckworth.
|
||
|
||
configs/maple
|
||
NuttX support for the 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 http://leaflabs.com/docs/hardware/maple.html)
|
||
|
||
configs/mbed
|
||
The configurations in this directory support the mbed board (http://mbed.org)
|
||
that features the NXP LPC1768 microcontroller. This OS is also built
|
||
with the arm-nuttx-elf toolchain*. STATUS: Contributed.
|
||
|
||
configs/mikroe-stm32f4
|
||
This is the port of NuttX to the MikroElektronika Mikromedia for STM32F4
|
||
development board. Contributed by Ken Petit.
|
||
|
||
configs/mcu123-lpc214x
|
||
This port is for the NXP LPC2148 as provided on the mcu123.com
|
||
lpc214x development board. This OS is also built with the arm-nuttx-elf
|
||
toolchain*. The port supports serial, timer0, spi, and usb.
|
||
|
||
configs/micropendous3
|
||
This is a port to the Opendous Micropendous 3 board. This board may
|
||
be populated with either an AVR AT90USB646, 647, 1286, or 1287 MCU.
|
||
Support is configured for the AT90USB647.
|
||
|
||
configs/mirtoo
|
||
This is the port to the DTX1-4000L "Mirtoo" module. This module uses MicroChip
|
||
PIC32MX250F128D. See http://www.dimitech.com/ for further information.
|
||
|
||
configs/mx1ads
|
||
This is a port to the Motorola MX1ADS development board. That board
|
||
is based on the Freescale i.MX1 processor. The i.MX1 is an ARM920T.
|
||
STATUS: This port is nearly code complete but was never fully
|
||
integrated due to tool-related issues.
|
||
|
||
configs/ne64badge
|
||
Future Electronics Group NE64 /PoE Badge board based on the
|
||
MC9S12NE64 hcs12 cpu. This port uses the m9s12x GCC toolchain.
|
||
STATUS: Under development. The port is code-complete but has
|
||
not yet been fully tested.
|
||
|
||
configs/ntosd-dm320
|
||
This port uses the Neuros OSD v1.0 Dev Board with a GNU arm-nuttx-elf
|
||
toolchain*: see
|
||
|
||
http://wiki.neurostechnology.com/index.php/OSD_1.0_Developer_Home
|
||
|
||
There are some differences between the Dev Board and the currently
|
||
available commercial v1.0 Boards. See
|
||
|
||
http://wiki.neurostechnology.com/index.php/OSD_Developer_Board_v1
|
||
|
||
NuttX operates on the ARM9EJS of this dual core processor.
|
||
STATUS: This port is code complete, verified, and included in the
|
||
NuttX 0.2.1 release.
|
||
|
||
configs/nucleo-f4x1re
|
||
STMicro ST Nucleo F401RE and F411RE boards. See
|
||
http://mbed.org/platforms/ST-Nucleo-F401RE and
|
||
http://developer.mbed.org/platforms/ST-Nucleo-F411RE for more
|
||
information about these boards.
|
||
|
||
configs/nucleus2g
|
||
This port uses the Nucleus 2G board (with Babel CAN board). This board
|
||
features an NXP LPC1768 processor. See the 2G website (http://www.2g-eng.com/)
|
||
for more information about the Nucleus 2G.
|
||
|
||
configs/nutiny-nuc120
|
||
This is the port of NuttX to the NuvoTon NuTiny-SDK-NUC120 board. This
|
||
board has the NUC120LE3AN chip with a built-in NuLink debugger.
|
||
|
||
configs/olimex-efm32g880f128-stk
|
||
This is the port of NuttX to the Olimex EFM32G880F128-STK development
|
||
board.
|
||
|
||
configs/olimex-lpc1766stk
|
||
This port uses the Olimex LPC1766-STK board and a GNU GCC toolchain* under
|
||
Linux or Cygwin. STATUS: Complete and mature.
|
||
|
||
configs/olimex-lpc2378
|
||
This port uses the Olimex-lpc2378 board and a GNU arm-nuttx-elf toolchain* under
|
||
Linux or Cygwin. STATUS: ostest and NSH configurations available.
|
||
This port for the NXP LPC2378 was contributed by Rommel Marcelo.
|
||
|
||
configs/olimex-stm32-h405
|
||
This port uses the Olimex STM32 H405 board and a GNU arm-nuttx-elf
|
||
toolchain* under Linux or Cygwin. See the http://www.olimex.com for
|
||
further information. This board features the STMicro STM32F405RGT6 MCU.
|
||
Contributed by Martin Lederhilger.
|
||
|
||
configs/olimex-stm32-p107
|
||
This port uses the Olimex STM32-P107 board (STM32F107VC) and a GNU arm-nuttx-elf
|
||
toolchain* under Linux or Cygwin. See the https://www.olimex.com/dev/stm32-p107.html
|
||
for further information. Contributed by Max Holtzberg.
|
||
|
||
configs/olimex-stm32-p207
|
||
This port uses the Olimex STM32-P207 board (STM32F207ZE) and a GNU arm-nuttx-elf
|
||
toolchain* under Linux or Cygwin. See the https://www.olimex.com/dev/stm32-p207.html
|
||
for further information. Contributed by Martin Lederhilger.
|
||
|
||
configs/olimex-strp711
|
||
This port uses the Olimex STR-P711 board and a GNU arm-nuttx-elf toolchain* under
|
||
Linux or Cygwin. See the http://www.olimex.com/dev/str-p711.html" for
|
||
further information. STATUS: Configurations for the basic OS test and NSH
|
||
are complete and verified.
|
||
|
||
configs/pcblogic-pic32mx
|
||
This is the port of NuttX to the PIC32MX board from PCB Logic Design Co.
|
||
This board features the MicroChip 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.
|
||
STATUS: Code complete but testing has been stalled due to tool related problems
|
||
(PICkit 2 does not work with the PIC32).
|
||
|
||
configs/pcduino-a10
|
||
This directory contains the port of NuttX to the pcDuino v1 board
|
||
See http://www.pcduino.com/ for information about pcDuino Lite, v1,
|
||
and v2. These boards are based around the Allwinner A10 Cortex-A8 CPU.
|
||
I have not compared these boards in detail, but I believe that the
|
||
differences are cosmetic. This port was developed on the v1 board, but
|
||
the others may be compatible.
|
||
|
||
configs/p112
|
||
The P112 is notable because it was the first of the hobbyist single board
|
||
computers to reach the production stage. The P112 hobbyist computers
|
||
were relatively widespread and inspired other hobbyist centered home brew
|
||
computing projects such as N8VEM home brew computing project. The P112
|
||
project still maintains many devoted enthusiasts and has an online
|
||
repository of software and other information.
|
||
|
||
The P112 computer originated as a commercial product of "D-X Designs Pty
|
||
Ltd" of Australia. They describe the computer as "The P112 is a stand-alone
|
||
8-bit CPU board. Typically running CP/M (tm) or a similar operating system,
|
||
it provides a Z80182 (Z-80 upgrade) CPU with up to 1MB of memory, serial,
|
||
parallel and diskette IO, and realtime clock, in a 3.5-inch drive form factor.
|
||
Powered solely from 5V, it draws 150mA (nominal: not including disk drives)
|
||
with a 16MHz CPU clock. Clock speeds up to 24.576MHz are possible."
|
||
|
||
The P112 board was last available new in 1996 by Dave Brooks. In late 2004
|
||
on the Usenet Newsgroup comp.os.cpm, talk about making another run of P112
|
||
boards was discussed. David Griffith decided to produce additional P112 kits
|
||
with Dave Brooks blessing and the assistance of others. In addition Terry
|
||
Gulczynski makes additional P112 derivative hobbyist home brew computers.
|
||
Hal Bower was very active in the mid 1990's on the P112 project and ported
|
||
the "Banked/Portable BIOS".
|
||
|
||
Dave Brooks was successfully funded through Kickstarter for and another
|
||
run of P112 boards in November of 2012.
|
||
|
||
configs/pic32-starterkit
|
||
This directory contains the port of NuttX to the Microchip PIC32 Ethernet
|
||
Starter Kit (DM320004) with the Multimedia Expansion Board (MEB, DM320005).
|
||
See www.microchip.com for further information.
|
||
|
||
configs/pic32mx7mmb
|
||
This directory will (eventually) contain the port of NuttX to the
|
||
Mikroelektronika PIC32MX7 Multimedia Board (MMB). See
|
||
http://www.mikroe.com/ for further information.
|
||
|
||
configs/pirelli_dpl10
|
||
This directory contains the board support for Pirelli "Discus" DP-L10 phones.
|
||
It is a variant of the compal_e88 config with the small changes for the
|
||
differences in the board.
|
||
|
||
configs/qemu-i486
|
||
Port of NuttX to QEMU in i486 mode. This port will also run on real i486
|
||
hardwared (Google the Bifferboard).
|
||
|
||
configs/rgmp
|
||
RGMP stands for RTOS and GPOS on Multi-Processor. RGMP is a project for
|
||
running GPOS and RTOS simultaneously on multi-processor platforms. You can
|
||
port your favorite RTOS to RGMP together with an unmodified Linux to form a
|
||
hybrid operating system. This makes your application able to use both RTOS
|
||
and GPOS features.
|
||
|
||
See http://rgmp.sourceforge.net/wiki/index.php/Main_Page for further
|
||
information about RGMP.
|
||
|
||
configs/sama5d3x-ek
|
||
This is the port of NuttX to the Atmel SAMA5D3x-EK development boards
|
||
(where x=1,3,4, or 5). These boards feature the Atmel SAMA5D3
|
||
microprocessors. Four different SAMA5D3x-EK kits are available
|
||
|
||
- SAMA5D31-EK with the ATSAMA5D1 (http://www.atmel.com/devices/sama5d31.aspx)
|
||
- SAMA5D33-EK with the ATSAMA5D3 (http://www.atmel.com/devices/sama5d33.aspx)
|
||
- SAMA5D34-EK with the ATSAMA5D4 (http://www.atmel.com/devices/sama5d34.aspx)
|
||
- SAMA5D35-EK with the ATSAMA5D5 (http://www.atmel.com/devices/sama5d35.aspx)
|
||
|
||
The each consist of an identical base board with different plug-in modules
|
||
for each CPU. An option 7 inch LCD is also available. All four boards
|
||
are supported by NuttX with a simple reconfiguration of the processor
|
||
type.
|
||
|
||
configs/sama5d3-xplained
|
||
This is the port of NuttX to the Atmel SAMA5D3x-Xplained development board.
|
||
This board features the Atmel SAMA5D36. See
|
||
http://www.atmel.com/devices/sama5d36.aspx.
|
||
|
||
configs/sama5d4-ek
|
||
This is the port of NuttX to the Atmel SAMA5D4-EK development board.
|
||
This board features the Atmel SAMA5D44. See http://www.atmel.com.
|
||
|
||
configs/samd20-xplained
|
||
The port of NuttX to the Atmel SAMD20-Xplained Pro development board. This
|
||
board features the ATSAMD20J18A MCU (Cortex-M0+ with 256KB of FLASH and
|
||
32KB of SRAM).
|
||
|
||
configs/sam3u-ek
|
||
The port of NuttX to the Atmel SAM3U-EK development board.
|
||
|
||
configs/sam4e-ek
|
||
The port of NuttX to the Atmel SAM4E-EK development board. This board
|
||
features the SAM4E16 MCU running at up to 120MHz.
|
||
|
||
configs/sam4l-xplained
|
||
The port of NuttX to the Atmel SAM4L-Xplained development board.
|
||
|
||
configs/sam4s-xplained
|
||
The port of NuttX to the Atmel SAM4S-Xplained development board.
|
||
|
||
configs/sam4s-xplained-pro
|
||
The port of NuttX to the Atmel SAM4S-Xplained Pro development board.
|
||
|
||
configs/sim
|
||
A user-mode port of NuttX to the x86 Linux platform is available.
|
||
The purpose of this port is primarily to support OS feature development.
|
||
This port does not support interrupts or a real timer (and hence no
|
||
round robin scheduler) Otherwise, it is complete.
|
||
|
||
configs/shenzhou
|
||
This is the port of NuttX to the Shenzhou development board from
|
||
www.armjishu.com. This board features the STMicro STM32F107VCT MCU.
|
||
|
||
configs/spark
|
||
Board support for the Spark Core from Spark Devices http://www.sparkdevices.com).
|
||
This board features the STM32103CBT6 MCU from STMicro.
|
||
|
||
configs/skp16c26
|
||
Renesas M16C processor on the Renesas SKP16C26 StarterKit. This port
|
||
uses the GNU m32c toolchain. STATUS: The port is complete but untested
|
||
due to issues with compiler internal errors.
|
||
|
||
configs/stm3210e-eval
|
||
STMicro STM3210E-EVAL development board based on the STMicro STM32F103ZET6
|
||
microcontroller (ARM Cortex-M3). This port uses the GNU Cortex-M3
|
||
toolchain.
|
||
|
||
configs/stm3220g-eval
|
||
STMicro STM3220G-EVAL development board based on the STMicro STM32F407IG
|
||
microcontroller (ARM Cortex-M3).
|
||
|
||
configs/stm3240g-eval
|
||
STMicro STM3240G-EVAL development board based on the STMicro STM32F103ZET6
|
||
microcontroller (ARM Cortex-M4 with FPU). This port uses a GNU Cortex-M4
|
||
toolchain (such as CodeSourcery).
|
||
|
||
configs/stm32f4discovery
|
||
STMicro STM32F4-Discovery board based on the STMIcro STM32F407VGT6 MCU.
|
||
|
||
configs/stm32f429i-disco
|
||
STMicro STM32F429I-Discovery board based on the STMicro STM32F429ZIT6 MCU.
|
||
|
||
configs/stm32ldiscovery
|
||
STMicro STM32L-Discovery board based on the STMicro STM32L152RB MCU.
|
||
|
||
configs/stm32vldiscovery
|
||
STMicro STM32VL-Discovery board based on the STMicro STM32F100RB MCU.
|
||
|
||
configs/sure-pic32mx
|
||
The "Advanced USB Storage Demo Board," Model DB-DP11215, from Sure
|
||
Electronics (http://www.sureelectronics.net/). This board features
|
||
the MicroChip PIC32MX440F512H. See also
|
||
http://www.sureelectronics.net/goods.php?id=1168 for further
|
||
information about the Sure DB-DP11215 board.
|
||
|
||
configs/teensy
|
||
This is the port of NuttX to the PJRC Teensy++ 2.0 board. This board is
|
||
developed by http://pjrc.com/teensy/. The Teensy++ 2.0 is based
|
||
on an Atmel AT90USB1286 MCU.
|
||
|
||
configs/tm4c123g-launchpad
|
||
This is the port of NuttX to the Tiva<76> TM4C123G LaunchPad. The
|
||
Tiva<76> TM4C123G LaunchPad Evaluation Board is a low-cost evaluation
|
||
platform for ARM<52> Cortex<65>-M4F-based microcontrollers from Texas
|
||
Instruments.
|
||
|
||
configs/twr-k60n512
|
||
Kinetis K60 Cortex-M4 MCU. This port uses the FreeScale TWR-K60N512
|
||
development board.
|
||
|
||
configs/ubw32
|
||
|
||
This is the port to the Sparkfun UBW32 board. This port uses the original v2.4
|
||
board which is based on the MicroChip PIC32MX460F512L. See
|
||
http://www.sparkfun.com/products/8971. This older version has been replaced
|
||
with this board http://www.sparkfun.com/products/9713. See also
|
||
http://www.schmalzhaus.com/UBW32/.
|
||
|
||
configs/us7032evb1
|
||
This is a port of the Hitachi SH-1 on the Hitachi SH-1/US7032EVB1 board.
|
||
STATUS: Work has just began on this port.
|
||
|
||
configs/viewtool-stm32f107
|
||
NuttX configurations for the ViewTool STM32F103/F107 V1.2 board. This
|
||
board may be fitted with either: (1) STM32F107VCT6 or (2) STM32F103VCT6.
|
||
See http://www.viewtool.com/ for further information.
|
||
|
||
configs/vsn
|
||
ISOTEL NetClamps VSN V1.2 ready2go sensor network platform based on the
|
||
STMicro STM32F103RET6. Contributed by Uros Platise. See
|
||
http://isotel.eu/NetClamps/
|
||
|
||
configs/xtrs
|
||
TRS80 Model 3. This port uses a vintage computer based on the Z80.
|
||
An emulator for this computer is available to run TRS80 programs on a
|
||
linux platform (http://www.tim-mann.org/xtrs.html).
|
||
|
||
configs/z16f2800100zcog
|
||
z16f Microcontroller. This port use the Zilog z16f2800100zcog
|
||
development kit and the Zilog ZDS-II Windows command line tools. The
|
||
development environment is Cygwin under WinXP.
|
||
|
||
configs/z80sim
|
||
z80 Microcontroller. This port uses a Z80 instruction set simulator.
|
||
That simulator can be found in the NuttX GIT at
|
||
http://sourceforge.net/p/nuttx/git/ci/master/tree/misc/sims/z80sim.
|
||
This port also uses the SDCC toolchain (http://sdcc.sourceforge.net/")
|
||
(verified with version 2.6.0).
|
||
|
||
configs/z8encore000zco
|
||
z8Encore! Microcontroller. This port use the Zilog z8encore000zco
|
||
development kit, Z8F6403 part, and the Zilog ZDS-II Windows command line
|
||
tools. The development environment is Cygwin under WinXP.
|
||
|
||
configs/z8f64200100kit
|
||
z8Encore! Microcontroller. This port use the Zilog z8f64200100kit
|
||
development kit, Z8F6423 part, and the Zilog ZDS-II Windows command line
|
||
tools. The development environment is Cygwin under WinXP.
|
||
|
||
configs/zp214xpa
|
||
This port is for the NXP LPC2148 as provided on the The0.net
|
||
ZPA213X/4XPA development board. Includes support for the
|
||
UG-2864AMBAG01 OLED also from The0.net
|
||
|
||
configs/zkit-arm-1769
|
||
Zilogic System's ARM development Kit, ZKIT-ARM-1769. This board is based
|
||
on the NXP LPC1769. The Nuttx Buildroot toolchain is used by default.
|
||
|
||
Configuring NuttX
|
||
^^^^^^^^^^^^^^^^^
|
||
|
||
Configuring NuttX requires only copying
|
||
|
||
configs/<board-name>/<config-dir>/Make.def to ${TOPDIR}/Make.defs
|
||
configs/<board-name>/<config-dir>/setenv.sh to ${TOPDIR}/setenv.sh
|
||
configs/<board-name>/<config-dir>/defconfig to ${TOPDIR}/.config
|
||
|
||
tools/configure.sh
|
||
There is a script that automates these steps. The following steps will
|
||
accomplish the same configuration:
|
||
|
||
cd tools
|
||
./configure.sh <board-name>/<config-dir>
|
||
|
||
There is an alternative Windows batch file that can be used in the
|
||
windows native enironment like:
|
||
|
||
cd ${TOPDIR}\tools
|
||
configure.bat <board-name>\<config-dir>
|
||
|
||
See tools/README.txt for more information about these scripts.
|
||
|
||
And if your application directory is not in the standard loction (../apps
|
||
or ../apps-<version>), then you should also specify the location of the
|
||
application directory on the command line like:
|
||
|
||
cd tools
|
||
./configure.sh -a <app-dir> <board-name>/<config-dir>
|
||
|
||
Building Symbol Tables
|
||
^^^^^^^^^^^^^^^^^^^^^^
|
||
|
||
Symbol tables are needed at several of the binfmt interfaces in order to bind
|
||
a module to the base code. These symbol tables can be tricky to create and
|
||
will probably have to be tailored for any specific application, balancing
|
||
the number of symbols and the size of the symbol table against the symbols
|
||
required by the applications.
|
||
|
||
The top-level System.map file is one good source of symbol information
|
||
(which, or course, was just generated from the top-level nuttx file
|
||
using the GNU 'nm' tool).
|
||
|
||
There are also common-separated value (CSV) values in the source try that
|
||
provide information about symbols. In particular:
|
||
|
||
nuttx/syscall/syscall.csv - Describes the NuttX RTOS interface, and
|
||
nuttx/lib/libc.csv - Describes the NuttX C library interface.
|
||
|
||
There is a tool at nuttx/tools/mksymtab that will use these CSV files as
|
||
input to generate a generic symbol table. See nuttx/tools/README.txt for
|
||
more information about using the mksymtab tool.
|