Add basic board support framework for the Atmel SAMA5D3 Xplained board (not finished)

This commit is contained in:
Gregory Nutt 2014-03-28 15:20:26 -06:00
parent e74812260e
commit d6595bb88e
2 changed files with 158 additions and 137 deletions

View File

@ -1217,10 +1217,10 @@
<li>ARM
<ul>
<li><a href="#arm7tdmi">ARM7TDMI</b></a> (5)</li>
<li><a href="#arm920t">ARM920T</a> (1) </li>
<li><a href="#arm926ejs">ARM926EJS</a> (4) </li>
<li><a href="#armcortexa5">ARM Cortex-A5</a> (1) </li>
<li><a href="#armcortexa8">ARM Cortex-A8</a> (1) </li>
<li><a href="#arm920t">ARM920T</a> (1)</li>
<li><a href="#arm926ejs">ARM926EJS</a> (4)</li>
<li><a href="#armcortexa5">ARM Cortex-A5</a> (2)</li>
<li><a href="#armcortexa8">ARM Cortex-A8</a> (1)</li>
<li><a href="#armcortexm0">ARM Cortex-M0/M0+</a> (3)</li>
<li><a href="#armcortexm3">ARM Cortex-M3</a> (25)</li>
<li><a href="#armcortexm4">ARM Cortex-M4</a> (11)</li>
@ -1724,141 +1724,160 @@
<td>
<p>
<a name="at91sama5d3"><b>Atmel SAMA5D3</b>.</a>
This is the port of NuttX to the Atmel SAMA5D3<i>x</i>-EK development boards (where <i>x</i>=1,3,4, or 5).
These boards feature the Atmel SAMA5D3<i>x</i> microprocessors.
Four different SAMA5D3<i>x</i>-EK kits are available
</p>
There are ports to two Atmel SAMA5D3 boards:
<p>
<ul>
<li>SAMA5D31-EK with the <a href="http://www.atmel.com/devices/sama5d31.aspx">ATSAMA5D31</a></li>
<li>SAMA5D33-EK with the <a href="http://www.atmel.com/devices/sama5d33.aspx">ATSAMA5D33</a></li>
<li>SAMA5D34-EK with the <a href="http://www.atmel.com/devices/sama5d34.aspx">ATSAMA5D34</a></li>
<li>SAMA5D35-EK with the <a href="http://www.atmel.com/devices/sama5d35.aspx">ATSAMA5D35</a></li>
<li><p><b>Atmel SAMA5D3<i>x</i>-EK development boards</b>
This is the port of NuttX to the Atmel SAMA5D3<i>x</i>-EK development boards (where <i>x</i>=1,3,4, or 5).
These boards feature the Atmel SAMA5D3<i>x</i> microprocessors.
Four different SAMA5D3<i>x</i>-EK kits are available
</p>
<ul>
<li>SAMA5D31-EK with the <a href="http://www.atmel.com/devices/sama5d31.aspx">ATSAMA5D31</a></li>
<li>SAMA5D33-EK with the <a href="http://www.atmel.com/devices/sama5d33.aspx">ATSAMA5D33</a></li>
<li>SAMA5D34-EK with the <a href="http://www.atmel.com/devices/sama5d34.aspx">ATSAMA5D34</a></li>
<li>SAMA5D35-EK with the <a href="http://www.atmel.com/devices/sama5d35.aspx">ATSAMA5D35</a></li>
</ul>
<p>
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.
</p>
<ul>
<p>
<b>STATUS</b>.
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:
</p>
<ul>
<li>
A barebones NuttShell (<a href="NuttShell.html">NSH</a>) configuration that can be used as the basis for further application development.
</li>
<li>
A full-loaded NuttShell (<a href="NuttShell.html">NSH</a>) configuration that demonstrates all of the SAMA5D3x features.
</li>
</ul>
<p>
The following support was added in Nuttx 6.30:
</p>
<ul>
<li>
DMA support, and
</li>
<li>
PIO interrupts,
</li>
</ul>
<p>
And drivers for
</p>
<ul>
<li>
SPI (with DMA support),
</li>
<li>
AT25 Serial Flash,
</li>
<li>
Two Wire Interface (TWI), and
</li>
<li>
HSMCI memory cards.
</li>
</ul>
<p>
NuttX-6.30 also introduces full USB support:
</p>
<ul>
<li>
High speed device controller driver,
</li>
<li>
OHCI (low- and full-speed) and
</li>
<li>
EHCI (high-speed) host controller driver support.
</li>
</ul>
<p>
With NuttX-6.31, these additional drivers were added:
</p>
<ul>
<li>
A 10/100Base-T Ethernet (EMAC) driver,
</li>
<li>
A 1000Base-T Ethernet (GMAC) driver,
</li>
<li>
A Real Time Clock (RTC) driver and integrated with the NuttX system time logic
</li>
<li>
<code>/dev/random</code> using the SAMA5D3x True Random Number Generator (TRNG),
</li>
<li>
A Watchdog Timer (WDT) driver,
</li>
<li>
A Timer/Counter (TC) library with interface that make be used by other drivers that need timer support,
</li>
<li>
An ADC driver that can collect multiple samples using the sequencer, can be trigger by a timer/counter, and supports DMA data transfers,
</li>
<li>
A touchscreen driver based on the special features of the SAMA5D3 ADC peripheral,
An LCD controller (LCDC) frame buffer driver, and
</li>
<li>
A CAN driver (Testing of the CAN has been delayed because of cabling issues).
</li>
</ul>
<p>
Additional board configurations were added to test and demonstrate these new drivers including new graphics and NxWM configurations.
</p>
<p>
These drivers were added in NuttX-6.32:
</p>
<ul>
<li>
A PWM driver with DMA support
</li>
<li>
An SSC-based I2S driver
</li>
<li>
Support for Programmable clock outputs
</li>
<li>
NAND support including support for the PMECC hardware ECC and for DMA transfers.
</li>
</ul>
<p>
Refer to the NuttX board <a href="http://sourceforge.net/p/nuttx/git/ci/master/tree/nuttx/configs/sama5d3x-ek/README.txt">README</a> file for further information.
</p>
</li>
<li>
<p>
<b>Atmel SAMA5D3 Xplained development board</b>
This is the port of NuttX to the Atmel SAMA5D3 Xplained development board.
The board features the Atmel SAMA5D36 microprocessors.
See the <a href="http://www.atmel.com/devices/sama5d36.aspx">Atmel Website</a> for additional information about this board.
</p>
<p>
<b>STATUS</b>.
This port is underway as of this writing and not ready for general use.
The basic port is expected to be simple because of the similarity to the SAMAD3<i>x</i>-EK boards and should be available in the NuttX 7.2 release.
</p>
<p>
Refer to the NuttX board <a href="http://sourceforge.net/p/nuttx/git/ci/master/tree/nuttx/configs/sama5d3-xplained/README.txt">README</a> file for further information.
</p>
</ul>
</li>
</ul>
<p>
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.
</p>
<ul>
<p>
<b>STATUS</b>.
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:
</p>
<ul>
<li>
A barebones NuttShell (<a href="NuttShell.html">NSH</a>) configuration that can be used as the basis for further application development.
</li>
<li>
A full-loaded NuttShell (<a href="NuttShell.html">NSH</a>) configuration that demonstrates all of the SAMA5D3x features.
</li>
</ul>
<p>
The following support was added in Nuttx 6.30:
</p>
<ul>
<li>
DMA support, and
</li>
<li>
PIO interrupts,
</li>
</ul>
<p>
And drivers for
</p>
<ul>
<li>
SPI (with DMA support),
</li>
<li>
AT25 Serial Flash,
</li>
<li>
Two Wire Interface (TWI), and
</li>
<li>
HSMCI memory cards.
</li>
</ul>
<p>
NuttX-6.30 also introduces full USB support:
</p>
<ul>
<li>
High speed device controller driver,
</li>
<li>
OHCI (low- and full-speed) and
</li>
<li>
EHCI (high-speed) host controller driver support.
</li>
</ul>
<p>
With NuttX-6.31, these additional drivers were added:
</p>
<ul>
<li>
A 10/100Base-T Ethernet (EMAC) driver,
</li>
<li>
A 1000Base-T Ethernet (GMAC) driver,
</li>
<li>
A Real Time Clock (RTC) driver and integrated with the NuttX system time logic
</li>
<li>
<code>/dev/random</code> using the SAMA5D3x True Random Number Generator (TRNG),
</li>
<li>
A Watchdog Timer (WDT) driver,
</li>
<li>
A Timer/Counter (TC) library with interface that make be used by other drivers that need timer support,
</li>
<li>
An ADC driver that can collect multiple samples using the sequencer, can be trigger by a timer/counter, and supports DMA data transfers,
</li>
<li>
A touchscreen driver based on the special features of the SAMA5D3 ADC peripheral,
An LCD controller (LCDC) frame buffer driver, and
</li>
<li>
A CAN driver (Testing of the CAN has been delayed because of cabling issues).
</li>
</ul>
<p>
Additional board configurations were added to test and demonstrate these new drivers including new graphics and NxWM configurations.
</p>
<p>
These drivers were added in NuttX-6.32:
</p>
<ul>
<li>
A PWM driver with DMA support
</li>
<li>
An SSC-based I2S driver
</li>
<li>
Support for Programmable clock outputs
</li>
<li>
NAND support including support for the PMECC hardware ECC and for DMA transfers.
</li>
</ul>
<p>
Develop continues.
Work is underway to provide a Image Sensor Interface (ISI) camera interface.
</p>
<p>
Refer to the NuttX board <a href="http://sourceforge.net/p/nuttx/git/ci/master/tree/nuttx/configs/sama5d3x-ek/README.txt">README</a> file for further information.
</p>
<p>
<b>Development Environments:</b>
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 perfomed with the CodeSourcery toolchain (GCC version 4.7.3) in the Cygwin environment under Windows.
<b>Development Environments:</b>
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 perfomed with the CodeSourcery toolchain (GCC version 4.7.3) in the Cygwin environment under Windows.
</p>
</td>
</tr>

View File

@ -8,7 +8,7 @@
<tr align="center" bgcolor="#e4e4e4">
<td>
<h1><big><font color="#3c34ec"><i>NuttX README Files</i></font></big></h1>
<p>Last Updated: March 10, 2014</p>
<p>Last Updated: March 28, 2014</p>
</td>
</tr>
</table>
@ -163,6 +163,8 @@
| | | `- <a href="http://sourceforge.net/p/nuttx/git/ci/master/tree/nuttx/configs/rgmp/README.txt"><b><i>README.txt</i></b></a>
| | |- sama5d3x-ek/
| | | `- <a href="http://sourceforge.net/p/nuttx/git/ci/master/tree/nuttx/configs/sama5d3x-ek/README.txt"><b><i>README.txt</i></b></a>
| | |- sama5d3-xplained/
| | | `- <a href="http://sourceforge.net/p/nuttx/git/ci/master/tree/nuttx/configs/sama5d3-xplained/README.txt"><b><i>README.txt</i></b></a>
| | |- samd20-xplained/
| | | `- <a href="http://sourceforge.net/p/nuttx/git/ci/master/tree/nuttx/configs/samd20-xplained/README.txt"><b><i>README.txt</i></b></a>
| | |- sam3u-ek/