Prep for 6.5 release
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3730 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
parent
d90cb60c0c
commit
83c452fa5d
10
ChangeLog
10
ChangeLog
@ -1808,13 +1808,13 @@
|
||||
some networks: CONFIG_NET_BUFSIZE should be set to at least 576 in
|
||||
all defconfig files. This has only been fixed in this defconfig file.
|
||||
|
||||
6.5 2011-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
|
||||
6.5 2011-06-21 Gregory Nutt <spudmonkey@racsa.co.cr>
|
||||
|
||||
* arch/avr/src/avr and arch/avr/include/avr: Adds general support for
|
||||
the Atmel 8-bit AVR family.
|
||||
* arch/avr/src/atmega and arch/avr/include/atmega: Addes support for the
|
||||
* arch/avr/src/atmega and arch/avr/include/atmega: Adds support for the
|
||||
Atmel AVR ATMega family.
|
||||
* arch/avr/src/at90usb and arch/avr/include/at90usb: Addes support for the
|
||||
* arch/avr/src/at90usb and arch/avr/include/at90usb: Adds support for the
|
||||
Atmel AVR AT90USB family.
|
||||
* configs/micropendous3: Adds a board configuration for the Opendous
|
||||
Micropendous 3 board. This board may be populated with several different
|
||||
@ -1822,9 +1822,11 @@
|
||||
* configs/amber: This is a placehold for the Atmel ATMega128 Amber Web
|
||||
Server from SoC Robotics. Not much present in this directory on initial
|
||||
check-in.
|
||||
* configs/teensy: Adds a board configuration for the PJRC Teensy++ 2.0 boar
|
||||
* configs/teensy: Adds a board configuration for the PJRC Teensy++ 2.0 board
|
||||
that features an Atmel AT90USB1286 MCU.
|
||||
* fs/fat: Offsets, sector numbers, etc. need to be off_t, not size_t. size_t
|
||||
is intended to be the maximum size of a memory object, not a file offset. This
|
||||
does not make any difference except on systems (like the AVR) where size_t
|
||||
is only 16-bits.
|
||||
|
||||
6.6 2011-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
|
||||
|
@ -8,7 +8,7 @@
|
||||
<tr align="center" bgcolor="#e4e4e4">
|
||||
<td>
|
||||
<h1><big><font color="#3c34ec"><i>NuttX RTOS</i></font></big></h1>
|
||||
<p>Last Updated: June 20, 2011</p>
|
||||
<p>Last Updated: June 21, 2011</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@ -829,59 +829,97 @@
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<p><b>nuttx-6.4 Release Notes</b>:
|
||||
<p><b>nuttx-6.5 Release Notes</b>:
|
||||
<p>
|
||||
The 71<sup>st</sup> release of NuttX, Version 6.4, was made on June 6, 2011 and is available for download from the
|
||||
The 72<sup>nd</sup> release of NuttX, Version 6.5, was made on June 21, 2011 and is available for download from the
|
||||
<a href="http://sourceforge.net/projects/nuttx/files/">SourceForge</a> website.
|
||||
The change log associated with the release is available <a href="#currentrelease">here</a>.
|
||||
Unreleased changes after this release are available in SVN.
|
||||
These unreleased changes are also listed <a href="#pendingchanges">here</a>.
|
||||
</p>
|
||||
<p>
|
||||
The 6.4 release includes several new features:
|
||||
The 6.5 release is all about support for the Atmel 8-bit AVR family.
|
||||
I have been interested in the AVR family for some time but because of the
|
||||
severe SRAM constraints and because of the availability of many tiny schedulers
|
||||
for the AVR, it has not been "on the radar screen."
|
||||
However, I have recently become interested because of interest expressed by
|
||||
members of the Nuttx forum and because of the availability of newer, larger
|
||||
capacity AVR parts (that I don't have yet).
|
||||
</p>
|
||||
<p>
|
||||
This release includes support for the following AVR boards.
|
||||
As with any initial support for new architectures, there are some incomplete areas and a few caveats that need to be stated.
|
||||
Here they are, ordered from the least to the most complete:
|
||||
</p>
|
||||
<ul>
|
||||
<li><i>FTP Client</i>.
|
||||
A new, full-featured FTP client is included in this release.
|
||||
This client may be used as a library for automated FTP or via an FTP client shell.
|
||||
The FTP shell supports the following commands: <code>cd</code>, <code>chmod</code>, <code>get</code>, <code>help</code>, <code>idle</code>, <code>login</code>, <code>ls</code>, <code>quit</code>, <code>mkdir</code>, <code>noop</code>, <code>put</code> <code>pwd</code>, <code>rename</code>, <code>rhelp</code>, <code>rm</code>, <code>rmdir</code>, <code>size</code>, <code>time</code>, and <code>up</code>.
|
||||
A configuration is available for the NXP LPC17xx to demonstrate this functionality.
|
||||
<li>
|
||||
<p><b>SoC Robotics Amber Web Server (ATMega128)</b>.
|
||||
This port of NuttX to the Amber Web Server from
|
||||
<a href="http://www.soc-robotics.com/index.htm">SoC Robotics</a>.
|
||||
The Amber Web Server is based on an Atmel ATMega128 (128Kb FLASH but
|
||||
only 4Kb of SRAM).
|
||||
</p>
|
||||
<p><b>STATUS</b>:
|
||||
Work on this port has stalled due to toolchain issues.
|
||||
It is complete, but untested.
|
||||
</p>
|
||||
<li>
|
||||
<p><b>Micropendous 3 (AT9USB647)</b>.
|
||||
This port of NuttX to the <a href="http://code.google.com/p/opendous/">Opendous</a>
|
||||
Micropendous 3 board.
|
||||
Micropendous3 may be populated with an AT90USB646, 647, 1286, or 1287.
|
||||
I have only the AT90USB647 version for testing.
|
||||
This version has very limited memory resources: 64Kb of FLASH and 4Kb of SRAM.
|
||||
</p>
|
||||
<p>
|
||||
<p><b>STATUS</b>:
|
||||
The basic port was released in NuttX-6.5.
|
||||
This basic port consists only of a "Hello, World!!&qquo; example
|
||||
that demonstrates initialization of the OS, creation of a simple task,
|
||||
and serial console output.
|
||||
The tiny SRAM limits what you can do with the AT90USB647 (see issues below).
|
||||
</p>
|
||||
</li>
|
||||
<li><i>C1101 Wireless Driver</i>.
|
||||
A functional C1101 wireless driver (contributed by Uros Platise)
|
||||
</li>
|
||||
<li><i>E1000 Ethernet Driver</i>.
|
||||
A PCI-based E1000 Ethernet driver (contributed by Yu Qiang)
|
||||
</li>
|
||||
<li><i>C-Library Functions</i>.
|
||||
New C library functions: <code>inet_addr()</code> (contributed by Yu Qiang), <code>strndup()</code>, and <code>asprintf()</code>.
|
||||
</li>
|
||||
<li><i>Smaller Memory Allocation Overhead</i>.
|
||||
Reduced memory allocation overhead for MCUs with small heaps (<64Kb).
|
||||
</li>
|
||||
<li><i>C Buffered I/O Integrated with Networking.</i>
|
||||
<code>fdopen()</code> now works with socket descriptors allowing standard bufferedC functions to be used for network communications.
|
||||
</li>
|
||||
<li><i><code>iconfig</code> Extensions</i>.
|
||||
The NSH <code>ifconfig</code> command can now be used to set or change the IP address (contributed by Yu Qiang)
|
||||
<li>
|
||||
<p><b>PJRC Teensy++ 2.0 (AT90USB1286)</b>.
|
||||
This is a port of NuttX to the PJRC Teensy++ 2.0 board.
|
||||
This board was developed by <a href="http://pjrc.com/teensy/">PJRC</a>.
|
||||
The Teensy++ 2.0 is based on an Atmel AT90USB1286 MCU with 128Kb of FLASH and 8Kb of SRAM;
|
||||
a little more room to move than the AT90USB647.
|
||||
</p>
|
||||
<p><b>STATUS</b>:
|
||||
The basic port was released in NuttX-6.5.
|
||||
This basic port consists of a "Hello, World!!" example and
|
||||
also slightly simplified NuttShell (NSH) configuration (see the
|
||||
<a href="http://www.nuttx.org/NuttShell.html">NSH User Guide</a>).
|
||||
</p>
|
||||
<p><b>Unfinished Stuff</b>.
|
||||
An SPI driver and a USB device driver exist for the AT90USB as well as a USB mass storage configuration.
|
||||
However, this configuration is not fully debugged as of the NuttX-6.5 release.
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<p>
|
||||
This release also includes some completed but untested functionality:
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<li><i>MicroChip PIC32MX Support</i>.
|
||||
The MicroChip PIC32MX port is now code complete and ready to begin testing.
|
||||
Unfortunately, testing will be delayed due to tool issues.
|
||||
</li>
|
||||
<li><i>NXP LPC315x Support</i>.
|
||||
Support for the NXP LPC315x MCUs.
|
||||
</li>
|
||||
</ul>
|
||||
<p>
|
||||
Additional miscellaneous enhancements and bug fixes to <code>task_delete()</code>, <code>recvfrom()</code>, and other changes as noted in the ChangeLog.
|
||||
<p><b>AVR-Specific Issues</b>.
|
||||
The basic AVR port is solid and 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.
|
||||
</p>
|
||||
<p>
|
||||
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-8Kb memory.
|
||||
So, in order for the AVR port to be useful, one of two things would need to be done:
|
||||
</p>
|
||||
<ol>
|
||||
<li>
|
||||
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,
|
||||
</li>
|
||||
<li>
|
||||
Create a special version of printf that knows how to access strings that reside in FLASH (or EEPROM).
|
||||
</li>
|
||||
</ol>
|
||||
|
||||
<table width ="100%">
|
||||
<tr bgcolor="#e4e4e4">
|
||||
@ -1548,8 +1586,8 @@
|
||||
<ul>
|
||||
<p>
|
||||
<b>STATUS:</b>
|
||||
The basic port was release in NuttX-6.5. This basic port consists only of
|
||||
a "Hello, World!!" example that demonstrates initialization of the OS,
|
||||
The basic port was released in NuttX-6.5. This basic port consists only of
|
||||
a "Hello, World!!" example that demonstrates initialization of the OS,
|
||||
creation of a simple task, and serial console output.
|
||||
</p>
|
||||
</ul>
|
||||
@ -1565,26 +1603,42 @@
|
||||
<p>
|
||||
<b>PJRC Teensy++ 2.0 AT9USB1286</b>.
|
||||
This is a port of NuttX to the PJRC Teensy++ 2.0 board.
|
||||
This board is developed by <a href="http://pjrc.com/teensy/">PJRC</a>.
|
||||
This board was developed by <a href="http://pjrc.com/teensy/">PJRC</a>.
|
||||
The Teensy++ 2.0 is based on an Atmel AT90USB1286 MCU.
|
||||
</p>
|
||||
<ul>
|
||||
<p>
|
||||
<b>STATUS:</b>
|
||||
The basic port was release in NuttX-6.5. This basic port consists of
|
||||
a "Hello, World!!" example that demonstrates initialization of the OS,
|
||||
creation of a simple task, and serial console output as well as a
|
||||
The basic port was released in NuttX-6.5. This basic port consists of
|
||||
a "Hello, World!!" example that demonstrates initialization of the OS,
|
||||
creation of a simple task, and serial console output as well as a somewhat
|
||||
simplified NuttShell (NSH) configuration (see the
|
||||
<a href="http://www.nuttx.org/NuttShell.html">NSH User Guide</a>).
|
||||
</p>
|
||||
<p>
|
||||
An SPI driver and a USB device driver exist for the AT90USB (as well
|
||||
as a USB mass storage example). However, this configuration is not
|
||||
An SPI driver and a USB device driver exist for the AT90USB as well
|
||||
as a USB mass storage configureation. However, this configuration is not
|
||||
fully debugged as of the NuttX-6.5 release.
|
||||
</p>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><br></td>
|
||||
<td><hr></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><br></td>
|
||||
<td>
|
||||
<p>
|
||||
<b>Development Environments:</b>
|
||||
1) Linux with native Linux GNU toolchain, 2) Cygwin with Cygwin GNU toolchain, or 3) Cygwin with Windows native toolchain.
|
||||
All testing, however, has been performed using the Nuttx DIY toolchain for Linux or Cygwin is provided by the NuttX
|
||||
<a href="http://sourceforge.net/projects/nuttx/files/buildroot/">buildroot</a> package.
|
||||
As a result, that toolchain is recommended.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td valign="top"><img height="20" width="20" src="favicon.ico"></td>
|
||||
@ -2290,62 +2344,30 @@ Other memory:
|
||||
</table>
|
||||
|
||||
<ul><pre>
|
||||
nuttx-6.4 2011-06-06 Gregory Nutt <spudmonkey@racsa.co.cr>
|
||||
nuttx-6.5 2011-06-21 Gregory Nutt <spudmonkey@racsa.co.cr>
|
||||
|
||||
* lib/drivers/cc1101: Add initial, functional CC1101 wireless driver
|
||||
(contributed by Uros Platise)
|
||||
* arch/mips and configs/pcblogic-pic32mx: The MicroChip PIC32MX port is now
|
||||
code complete and ready to begin testing. Unfortunately, it looks like
|
||||
testing will be delayed due to tool issues (My PICkit 2 will not work the
|
||||
the MPLAB debugger on PIC32; I will need to get a PICkit 3).
|
||||
* drivers/net/e1000.c/h: A PCI-based E1000 ethernet driver submitted
|
||||
by Yu Qiang.
|
||||
* lib/net/lib_inetaddr.c: An implementation of the inet_addr() function
|
||||
submitted by Yu Qiang.
|
||||
* arch/arm/src/lpc31xx and arch/arm/include/lpc31xx: Renamed from lpc313x
|
||||
to make name space for other famiy members.
|
||||
* arch/arm/*/lpc31xx: Added support for the LPC315x family (untested).
|
||||
* sched/task_exithook.c: Functionality performed when a task exits or is
|
||||
deleted has been moved to a common file task_exithook.c. Now exit()
|
||||
functionality (like flushing I/O and calling registered atexit()
|
||||
functions, etc.) will be performed when a task is deleted as well.
|
||||
* mm/: Added support for CONFIG_MM_SMALL. Each memory allocation has a
|
||||
small allocation overhead. The size of that overhead is normally
|
||||
determined by the "width" of the address support by the MCU. MCUs
|
||||
that support 16-bit addressability have smaller overhead than devices
|
||||
that support 32-bit addressability. However, there are many MCUs
|
||||
that support 32-bit addressability *but* have internal SRAM of size
|
||||
less than or equal to 64Kb. In this case, CONFIG_MM_SMALL can be
|
||||
defined so that those MCUs will also benefit from the smaller, 16-
|
||||
bit-based allocation overhead.
|
||||
* lib/string/lib_strndup.c: Add standard strndup() library function.
|
||||
* net/getsockname.c: Added standard getsockname() to return the local
|
||||
address associated with a socket.
|
||||
* lib/stdio/lib_asprintf.c: Add asprintf()
|
||||
* configs/olimex-lpc1766stk/ftpc: Add a configuration to support
|
||||
testing of the FTP client shell.
|
||||
* fd/fs_fdopen.c and net/net_checksd.c: Add support so that fdopen may
|
||||
be used with socket descriptors.
|
||||
* net/recvfrom.c: Fix an error found in receiving small files via FTP:
|
||||
The small file is received a buffered in the readahead buffer, then the
|
||||
socket is disconnected. When the app calls recvfrom, the socket is
|
||||
already disconnected and the buffered data is stranded. Now, recvfrom
|
||||
will continue to return success after the socket is disconnected until
|
||||
the readahead buffer is drained.
|
||||
* olimex-lp1766stk/ftpc/defconfig: Many configurations have the MTU
|
||||
(CONFIG_NET_BUFSIZE) set to very small numbers, less then the minimum
|
||||
MTU size that must be supported -- 576. This can cause problems in
|
||||
some networks: CONFIG_NET_BUFSIZE should be set to at least 576 in
|
||||
all defconfig files. This has only been fixed in this defconfig file.
|
||||
* arch/avr/src/avr and arch/avr/include/avr: Adds general support for
|
||||
the Atmel 8-bit AVR family.
|
||||
* arch/avr/src/atmega and arch/avr/include/atmega: Adds support for the
|
||||
Atmel AVR ATMega family.
|
||||
* arch/avr/src/at90usb and arch/avr/include/at90usb: Adds support for the
|
||||
Atmel AVR AT90USB family.
|
||||
* configs/micropendous3: Adds a board configuration for the Opendous
|
||||
Micropendous 3 board. This board may be populated with several different
|
||||
members of the Atmel AVR AT90USB family.
|
||||
* configs/amber: This is a placehold for the Atmel ATMega128 Amber Web
|
||||
Server from SoC Robotics. Not much present in this directory on initial
|
||||
check-in.
|
||||
* configs/teensy: Adds a board configuration for the PJRC Teensy++ 2.0 board
|
||||
that features an Atmel AT90USB1286 MCU.
|
||||
* fs/fat: Offsets, sector numbers, etc. need to be off_t, not size_t. size_t
|
||||
is intended to be the maximum size of a memory object, not a file offset. This
|
||||
does not make any difference except on systems (like the AVR) where size_t
|
||||
is only 16-bits.
|
||||
|
||||
apps-6.4 2011-06-06 Gregory Nutt <spudmonkey@racsa.co.cr>
|
||||
apps-6.5 2011-06-06 Gregory Nutt <spudmonkey@racsa.co.cr>
|
||||
|
||||
* nshlib/nsh_netcmds.c: If a network device name and IP address are provided
|
||||
with the ifconfig command, then this command will now set the network address.
|
||||
(Contributed by Yu Qiang).
|
||||
* netutils/ftpc: A library to support client-side FTP.
|
||||
* examples/ftpc: A simple add-on to the NSH. From NSH, you can start
|
||||
this simple FTP shell to transfer files to/from a remote FTP server.
|
||||
* netutils/ftpc: Simpflication and size reduction.
|
||||
|
||||
pascal-1.0 2011-05-15 Gregory Nutt <spudmonkey@racsa.co.cr>
|
||||
|
||||
@ -2388,26 +2410,9 @@ buildroot-1.10 2011-05-06 <spudmonkey@racsa.co.cr>
|
||||
</table>
|
||||
|
||||
<ul><pre>
|
||||
nuttx-6.5 2011-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
|
||||
nuttx-6.6 2011-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
|
||||
|
||||
* arch/avr/src/avr and arch/avr/include/avr: Adds general support for
|
||||
the Atmel 8-bit AVR family.
|
||||
* arch/avr/src/atmega and arch/avr/include/atmega: Addes support for the
|
||||
Atmel AVR ATMega family.
|
||||
* arch/avr/src/at90usb and arch/avr/include/at90usb: Addes support for the
|
||||
Atmel AVR AT90USB family.
|
||||
* configs/micropendous3: Adds a board configuration for the Opendous
|
||||
Micropendous 3 board. This board may be populated with several different
|
||||
members of the Atmel AVR AT90USB family.
|
||||
* configs/amber: This is a placehold for the Atmel ATMega128 Amber Web
|
||||
Server from SoC Robotics. Not much present in this directory on initial
|
||||
check-in.
|
||||
* configs/teensy: Adds a board configuration for the PJRC Teensy++ 2.0 boar
|
||||
that features an Atmel AT90USB1286 MCU.
|
||||
|
||||
apps-6.5 2011-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
|
||||
|
||||
* netutils/ftpc: Simpflication and size reduction.
|
||||
apps-6.6 2011-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
|
||||
|
||||
pascal-3.1 2011-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
|
||||
|
||||
|
81
ReleaseNotes
81
ReleaseNotes
@ -1901,4 +1901,83 @@ This release also includes some completed but untest functionality.
|
||||
testing. Unfortunately, testing will be delayed due to tool issues.
|
||||
* Support for the NXP LPC315x MCUs.
|
||||
|
||||
Additional miscellaneous enhancements and bug fixes to task_delete(), recvfrom(), and other changes as noted in the ChangeLog.
|
||||
Additional miscellaneous enhancements and bug fixes to task_delete(), recvfrom(),
|
||||
and other changes as noted in the ChangeLog.
|
||||
|
||||
nuttx-6.5
|
||||
^^^^^^^^^
|
||||
|
||||
The 72nd release of NuttX, Version 6.5, was made on June 21, 2011 and is
|
||||
available for download from the SourceForge website. The 6.5 release
|
||||
is all about support for the Atmel 8-bit AVR family. I have been
|
||||
interested in the AVR family for some time but because of the severe
|
||||
SRAM constraints and because of the availability of many tiny schedulers
|
||||
for the AVR, it has not been "on the radar screen." However, I have
|
||||
recently become interested because of interest expressed by members of
|
||||
the forum and because of the availability of newer, larger capacity AVR
|
||||
parts (that I don't have yet).
|
||||
|
||||
This release includes support for the following AVR boards. As with any
|
||||
initial support for new architectures, there are some incomplete areas
|
||||
and a few caveats that need to be stated. Here they are, ordered from
|
||||
the least to the most complete:
|
||||
|
||||
* SoC Robotics Amber Web Server (ATMega128).
|
||||
|
||||
This port of NuttX to the Amber Web Server from SoC Robotics
|
||||
(http://www.soc-robotics.com/index.htm). Is only partially in place.
|
||||
The Amber Web Server is based on an Atmel ATMega128 (128Kb FLASH
|
||||
but only 4Kb of SRAM).
|
||||
|
||||
STATUS: Work on this port has stalled due to toolchain issues. It
|
||||
is complete, but untested.
|
||||
|
||||
* Micropendous 3 AT9USB647
|
||||
|
||||
This port of NuttX to the Opendous Micropendous 3 board. The
|
||||
Micropendous3 may be populated with an AT90USB646, 647, 1286, or
|
||||
1287. See http://code.google.com/p/opendous/. I have only the
|
||||
AT90USB647 version for testing. This version has very limited
|
||||
memory resources: 64Kb of FLASH and 4Kb of SRAM.
|
||||
|
||||
STATUS: The basic port was released in NuttX-6.5. This basic port
|
||||
consists only of a "Hello, World!!" example that demonstrates
|
||||
initialization of the OS, creation of a simple task, and serial
|
||||
console output. The tiny SRAM limits what you can do with the
|
||||
AT90USB647 (see issues below).
|
||||
|
||||
* PJRC Teensy++ 2.0 AT9USB1286
|
||||
|
||||
This is a port of NuttX to the PJRC Teensy++ 2.0 board. This board
|
||||
was developed by PJRC (http://pjrc.com/teensy/). The Teensy++ 2.0 is
|
||||
based on an Atmel AT90USB1286 MCU with 128Kb of FLASH and 8Kb of SRAM;
|
||||
a little more room to move than the AT90USB647.
|
||||
|
||||
STATUS: The basic port was released in NuttX-6.5. This basic port
|
||||
consists of a "Hello, World!!" example and also slightly simplified
|
||||
NuttShell (NSH) configuration (see the NSH User Guide at
|
||||
http://www.nuttx.org/NuttShell.html).
|
||||
|
||||
An SPI driver and a USB device driver exist for the AT90USB as well
|
||||
as a USB mass storage configuration. However, this configuration is not
|
||||
fully debugged as of the NuttX-6.5 release.
|
||||
|
||||
AVR-specific issues. The basic AVR port is solid and 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-8Kb memory. So, in order for the AVR port to be useful,
|
||||
one of two things would need to be done:
|
||||
|
||||
1. 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.
|
||||
|
||||
2. Create a special version of printf that knows how to access strings that
|
||||
reside in FLASH (or EEPROM).
|
||||
|
@ -196,6 +196,10 @@ Serial Console
|
||||
Toolchains
|
||||
^^^^^^^^^^
|
||||
|
||||
There are several toolchain options. However, testing has been performed
|
||||
using *only* the NuttX buildroot toolchain described below. Therefore,
|
||||
the NuttX buildroot toolchain is the recommended choice:
|
||||
|
||||
Buildroot:
|
||||
|
||||
There is a DIY buildroot version for the AVR boards here:
|
||||
|
@ -199,6 +199,10 @@ Teensy SPI Connection
|
||||
Toolchains
|
||||
^^^^^^^^^^
|
||||
|
||||
There are several toolchain options. However, testing has been performed
|
||||
using *only* the NuttX buildroot toolchain described below. Therefore,
|
||||
the NuttX buildroot toolchain is the recommended choice:
|
||||
|
||||
Buildroot:
|
||||
|
||||
There is a DIY buildroot version for the AVR boards here:
|
||||
|
Loading…
Reference in New Issue
Block a user