1
0
Fork 0
forked from nuttx/nuttx-update

Documentation: migrate the rest boards

- migrated /README are removed from /boards

- there are a lot of READMEs that should be further converted to rst.
  At the moment they are moved to Documentation/platforms and included in rst files
This commit is contained in:
raiden00pl 2023-10-25 20:28:04 +02:00 committed by Alan Carvalho de Assis
parent d77dff786b
commit 56529d2944
370 changed files with 2475 additions and 2493 deletions

View file

@ -0,0 +1,201 @@
==============
Boards support
==============
This page discusses the board support logic for NuttX.
The ``nuttx/boards`` directory is a part of the internal OS. It should contain
only OS bring-up logic and driver initialization logic.
**THERE SHOULD BE NO APPLICATION CALLABLE LOGIC IN THIS DIRECTORY.**
If you have board-specific, application callable logic, that logic should not
go here. Please consider using a sub-directory under ``apps/platform`` instead.
Board-Specific Configurations
=============================
The NuttX configuration consists of:
* Processor architecture specific files. These are the files contained
in the ``arch/<arch>/`` directory.
* Chip/SoC specific files. Each processor architecture is embedded
in a 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>/`` directory and are selected
via the ``CONFIG_ARCH_name`` selection
* 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
``boards/<arch>/<chip>/<board>/`` sub-directories.
Additional configuration information may be available in board-specific documentation pages
at ``Documentation/platforms/<arch>/<chip>/<board>``.
The ``boards/`` 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.
``boards/`` Directory Structure
===============================
The ``boards/`` directory contains board specific configuration logic. Each
board must provide a subdirectory ``<board>`` under ``boards/`` with the
following characteristics::
<board>
|-- include/
| `-- (board-specific header files)
|-- src/
| |-- Makefile
| `-- (board-specific source files)
|-- <config1-dir>
| |-- Make.defs
| `-- defconfig
|-- <config2-dir>
| |-- Make.defs
| `-- defconfig
...
Summary of Files
================
* ``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>include/`` and
``arch/<arch>/src``
* ``src/`` -- This directory contains board specific drivers. This
directory will be linked as ``arch/<arch>/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 two files: Make.defs and
defconfig. 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_FEATURES=y``.
The included ``tools/Config.mk`` file contains additional definitions that may
be overridden 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.
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 https://bitbucket.org/nuttx/tools/src/master/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.
Supported Boards
================
The list of supported boards can be found in :ref:`Supported Platforms <platforms>`.
Configuring NuttX
=================
Configuring NuttX requires only copying::
boards/<arch>/<chip>/<board>/<config-dir>/Make.def to ${TOPDIR}/Make.defs
boards/<arch>/<chip>/<board>/<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::
tools/configure.sh <board>:<config-dir>
There is an alternative Windows batch file that can be used in the
windows native environment like::
tools\configure.bat <board>:<config-dir>
See ``tools/README.txt`` for more information about these scripts.
And if your application directory is not in the standard location (``../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>:<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.

View file

@ -25,3 +25,4 @@ case, you can head to the :doc:`reference <../reference/index>`.
syscall.rst
tools/index.rst
arch/index.rst
boards.rst

View file

@ -0,0 +1,6 @@
===========
pcduino-a10
===========
.. include:: README.txt
:literal:

View file

@ -21,3 +21,12 @@ have are supported by NuttX:
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.
Supported Boards
================
.. toctree::
:glob:
:maxdepth: 1
boards/*/*

View file

@ -0,0 +1,7 @@
================
beaglebone-black
================
.. include:: README.txt
:literal:

View file

@ -22,3 +22,12 @@ AM335x are supported by NuttX:
Refer to the Beaglebone Black board
`README <https://github.com/apache/nuttx/blob/master/boards/arm/am335x/beaglebone-black/README.txt>`__
file for further, up-to-date information.
Supported Boards
================
.. toctree::
:glob:
:maxdepth: 1
boards/*/*

View file

@ -0,0 +1,7 @@
=============
at32f437-mini
=============
.. include:: README.txt
:literal:

View file

@ -1,3 +1,12 @@
===========
Artery AT32
===========
Supported Boards
================
.. toctree::
:glob:
:maxdepth: 1
boards/*/*

View file

@ -0,0 +1,7 @@
========
c5471evm
========
.. include:: README.txt
:literal:

View file

@ -7,3 +7,12 @@ TI TMS320-C5471
NuttX operates on the ARM7 of this dual core processor. This port uses
the `Spectrum Digital <http://www.spectrumdigital.com/>`__ evaluation
board with a GNU arm-nuttx-elf toolchain\* under Linux or Cygwin.
Supported Boards
================
.. toctree::
:glob:
:maxdepth: 1
boards/*/*

View file

@ -0,0 +1,7 @@
==============
Sony Spresense
==============
.. include:: README.txt
:literal:

View file

@ -46,3 +46,12 @@ 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.
Supported Boards
================
.. toctree::
:glob:
:maxdepth: 1
boards/*/*

View file

@ -0,0 +1,7 @@
===========
ntosd-dm320
===========
.. include:: README.txt
:literal:

View file

@ -8,3 +8,12 @@ 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.
Supported Boards
================
.. toctree::
:glob:
:maxdepth: 1
boards/*/*

View file

@ -0,0 +1,7 @@
==============
efm32-g8xx-stk
==============
.. include:: README.txt
:literal:

View file

@ -0,0 +1,7 @@
===============
efm32gg-stk3700
===============
.. include:: README.txt
:literal:

View file

@ -0,0 +1,7 @@
========================
olimex-efm32g880f128-stk
========================
.. include:: README.txt
:literal:

View file

@ -91,3 +91,12 @@ Board support is available for the following:
- Development of USB support is in started, but never completed.
- Reset Management Unit (RMU) was added Pierre-noel Bouteville in
NuttX-7.7.
Supported Boards
================
.. toctree::
:glob:
:maxdepth: 1
boards/*/*

View file

@ -0,0 +1,7 @@
============
quickfeather
============
.. include:: README.txt
:literal:

View file

@ -0,0 +1,12 @@
=====
EOSS3
=====
Supported Boards
================
.. toctree::
:glob:
:maxdepth: 1
boards/*/*

View file

@ -0,0 +1,7 @@
==================
fvp-armv8r-aarch32
==================
.. include:: README.txt
:literal:

View file

@ -1,2 +1,12 @@
=====================
FVP ARMv8-R Virt Chip
=====================
Supported Boards
================
.. toctree::
:glob:
:maxdepth: 1
boards/*/*

View file

@ -0,0 +1,4 @@
===============
gd32f450zk-eval
===============

View file

@ -0,0 +1,4 @@
===============
gd32f470ik-eval
===============

View file

@ -0,0 +1,4 @@
===============
gd32f470zk-eval
===============

View file

@ -0,0 +1,12 @@
======
GD32F4
======
Supported Boards
================
.. toctree::
:glob:
:maxdepth: 1
boards/*/*

View file

@ -0,0 +1,6 @@
========
GOLDFISH
========
Supported Boards
================

View file

@ -0,0 +1,6 @@
===========
sabre-6quad
===========
This directory holds a port of NuttX to the NXP/Freescale Sabre board
featuring the iMX 6Quad CPU.

View file

@ -20,3 +20,12 @@ The basic port has been completed for the following i.MX6 board:
with SMP support on this platform as described in the
`README <https://github.com/apache/nuttx/blob/master/boards/arm/imx6/sabre-6quad/README.txt>`__
file for the board.
Supported Boards
================
.. toctree::
:glob:
:maxdepth: 1
boards/*/*

View file

@ -1,6 +1,6 @@
=======
i.MX RT
=======
===========
NXP i.MX RT
===========
The i.MX RT series of chips from NXP Semiconductors is based around an ARM Cortex-M7 core running
at 500 MHz, 600 MHz or 1 GHz based on particular MCUs

View file

@ -0,0 +1,7 @@
============
freedom-k28f
============
.. include:: README.txt
:literal:

View file

@ -0,0 +1,7 @@
============
freedom-k64f
============
.. include:: README.txt
:literal:

View file

@ -0,0 +1,7 @@
============
freedom-k66f
============
.. include:: README.txt
:literal:

View file

@ -0,0 +1,7 @@
============
kwikstik-k40
============
.. include:: README.txt
:literal:

View file

@ -0,0 +1,7 @@
==========
teensy-3.x
==========
.. include:: README.txt
:literal:

View file

@ -0,0 +1,7 @@
===========
twr-k60n512
===========
.. include:: README.txt
:literal:

View file

@ -0,0 +1,7 @@
============
twr-k64f120m
============
.. include:: README.txt
:literal:

View file

@ -102,3 +102,12 @@ file for further information.
I2C device drivers, RTC alarm functionality, and new SPI driver.
- **NuttX-7.26**. David Sidrane contributed DMA support to the Kinetis
K6x family.
Supported Boards
================
.. toctree::
:glob:
:maxdepth: 1
boards/*/*

View file

@ -0,0 +1,6 @@
=============
freedom-kl25z
=============
.. include:: README.txt
:literal:

View file

@ -0,0 +1,6 @@
=============
freedom-kl26z
=============
.. include:: README.txt
:literal:

View file

@ -0,0 +1,7 @@
=========
teensy-lc
=========
This is the port of nuttx for the Teensy LC board. The Teensy LC
is a DIP style breakout board for the MKL25Z64 and comes with a USB
based bootloader.

View file

@ -28,3 +28,12 @@ board that features the MK26Z128VLH4 Cortex-M0+ MCU, 128KB of FLASH and
16KB of SRAM. See the
`Freescale <http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=FRDM-KL26Z&tid=vanFRDM-KL26Z>`__
website for further information about this board.
Supported Boards
================
.. toctree::
:glob:
:maxdepth: 1
boards/*/*

View file

@ -0,0 +1,7 @@
==============
lc823450-xgevk
==============
.. include:: README.txt
:literal:

View file

@ -38,3 +38,12 @@ 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.
Supported Boards
================
.. toctree::
:glob:
:maxdepth: 1
boards/*/*

View file

@ -0,0 +1,7 @@
=========
lincoln60
=========
.. include:: README.txt
:literal:

View file

@ -0,0 +1,7 @@
==================
lpcxpresso-lpc1768
==================
.. include:: README.txt
:literal:

View file

@ -0,0 +1,7 @@
====
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.

View file

@ -0,0 +1,7 @@
=======
mcb1700
=======
.. include:: README.txt
:literal:

View file

@ -0,0 +1,7 @@
=================
olimex-lpc1766stk
=================
.. include:: README.txt
:literal:

View file

@ -0,0 +1,7 @@
========
open1788
========
.. include:: README.txt
:literal:

View file

@ -0,0 +1,7 @@
=========
pnev5180b
=========
.. include:: README.txt
:literal:

View file

@ -0,0 +1,7 @@
===========
u-blox-c027
===========
.. include:: README.txt
:literal:

View file

@ -0,0 +1,7 @@
=============
zkit-arm-1769
=============
.. include:: README.txt
:literal:

View file

@ -167,3 +167,12 @@ collaborative effort between Rommel Marcelo and myself (with Rommel
being the leading contributor and I claiming only a support role). You
can get more information at the Open1788 board from the WaveShare
website.
Supported Boards
================
.. toctree::
:glob:
:maxdepth: 1
boards/*/*

View file

@ -0,0 +1,7 @@
==============
mcu123-lpc214x
==============
.. include:: README.txt
:literal:

View file

@ -0,0 +1,7 @@
========
zp214xpa
========
.. include:: README.txt
:literal:

View file

@ -7,3 +7,68 @@ 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.
http://www.nxp.com/pip/LPC2141FBD64.html
The LPC2141/42/44/46/48 microcontrollers are based on a 16-bit/32-bit ARM7TDMI-S
CPU with real-time emulation and embedded trace support, that combine
microcontroller with embedded high-speed flash memory ranging from 32 kB to
512 kB. A 128-bit wide memory interface and a unique accelerator architecture
enable 32-bit code execution at the maximum clock rate. For critical code size
applications, the alternative 16-bit Thumb mode reduces code by more than 30 pct
with minimal performance penalty.
Due to their tiny size and low power consumption, LPC2141/42/44/46/48 are ideal
for applications where miniaturization is a key requirement, such as access
control and point-of-sale. Serial communications interfaces ranging from a USB 2.0
Full-speed device, multiple UARTs, SPI, SSP to I2C-bus and on-chip SRAM of 8 kB
up to 40 kB, make these devices very well suited for communication gateways and
protocol converters, soft modems, voice recognition and low end imaging, providing
both large buffer size and high processing power. Various 32-bit timers, single
or dual 10-bit ADC(s), 10-bit DAC, PWM channels and 45 fast GPIO lines with up
to nine edge or level sensitive external interrupt pins make these microcontrollers
suitable for industrial control and medical systems.
Features
========
* 16-bit/32-bit ARM7TDMI-S microcontroller in a tiny LQFP64 package.
* 8 kB to 40 kB of on-chip static RAM and 32 kB to 512 kB of on-chip flash memory.
128-bit wide interface/accelerator enables high-speed 60 MHz operation.
* In-System Programming/In-Application Programming (ISP/IAP) via on-chip boot
loader software. Single flash sector or full chip erase in 400 ms and programming
of 256 B in 1 ms.
* EmbeddedICE RT and Embedded Trace interfaces offer real-time debugging with the
on-chip RealMonitor software and high-speed tracing of instruction execution.
* USB 2.0 Full-speed compliant device controller with 2 kB of endpoint RAM. In addition,
the LPC2146/48 provides 8 kB of on-chip RAM accessible to USB by DMA.
* One or two (LPC2141/42 vs. LPC2144/46/48) 10-bit ADCs provide a total of 6/14 analog
inputs, with conversion times as low as 2.44 us per channel.
* Single 10-bit DAC provides variable analog output (LPC2142/44/46/48 only).
* Two 32-bit timers/external event counters (with four capture and four compare
channels each), PWM unit (six outputs) and watchdog.
* Low power Real-Time Clock (RTC) with independent power and 32 kHz clock input.
* Multiple serial interfaces including two UARTs (16C550), two Fast I2C-bus (400
kbit/s), SPI and SSP with buffering and variable data length capabilities.
* Vectored Interrupt Controller (VIC) with configurable priorities and vector addresses.
* Up to 45 of 5 V tolerant fast general purpose I/O pins in a tiny LQFP64 package.
* Up to 21 external interrupt pins available.
* 60 MHz maximum CPU clock available from programmable on-chip PLL with settling
time of 100 us.
* On-chip integrated oscillator operates with an external crystal from 1 MHz to 25 MHz.
* Power saving modes include Idle and Power-down.
* Individual enable/disable of peripheral functions as well as peripheral clock scaling
for additional power optimization.
* Processor wake-up from Power-down mode via external interrupt or BOD.
* Single power supply chip with POR and BOD circuits:
* CPU operating voltage range of 3.0 V to 3.6 V (3.3 V +- 10 pct) with 5 V tolerant
I/O pads.
Supported Boards
================
.. toctree::
:glob:
:maxdepth: 1
boards/*/*

View file

@ -0,0 +1,7 @@
==============
olimex-lpc2378
==============
.. include:: README.txt
:literal:

View file

@ -7,3 +7,12 @@ 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.
Supported Boards
================
.. toctree::
:glob:
:maxdepth: 1
boards/*/*

View file

@ -0,0 +1,7 @@
======
ea3131
======
.. include:: README.txt
:literal:

View file

@ -0,0 +1,7 @@
======
ea3152
======
.. include:: README.txt
:literal:

View file

@ -0,0 +1,7 @@
================
olimex-lpc-h3131
================
.. include:: README.txt
:literal:

Some files were not shown because too many files have changed in this diff Show more