Prep for the NuttX-7.10 Release

This commit is contained in:
Gregory Nutt 2015-06-09 11:33:50 -06:00
parent 8967e9715f
commit 8be0822b98
4 changed files with 551 additions and 55 deletions

View File

@ -5119,7 +5119,7 @@
to the endpoint allocation logic. Apparently the same endpoint can
be allocated as both an IN or an OUT endpoint. The existing
implementation only supported one allocation, either IN or OUT. This
resulted in failures to allocate enpoints when used with the CDC/ACM +
resulted in failures to allocate endpoints when used with the CDC/ACM +
MSC composite driver (From Chia Cheng Tsao, 2013-7-8).
* arch/arm/src/stm32/stm32_sdio.c: SourceForge bug #17: Add
support for the data block end (DBCKEND) interrupt to terminate
@ -10167,7 +10167,7 @@
* atexit(): Fix reference to undefined variable in certain
configurations. From Juha Niskanen (2015-04-14).
7.10 2015-xx-xx Gregory Nutt <gnutt@nuttx.org>
7.10 2015-06-09 Gregory Nutt <gnutt@nuttx.org>
* configs/sim/src/sim.h, sim_zoneinfo.c, Makefile, and sim_boot.c: Add
logic to test localtime and TZ database. See apps/system/README.txt
@ -10282,7 +10282,7 @@
GPIO is configured in order to avoid transient bad values from being
output. From Hal Glenn (2015-05-02).
* arch/arm/src/stm32/stm32_otgfsdev.c and stm32_otghsdev.c: Add
protection in the event that out-of-bound enpoint numbers are
protection in the event that out-of-bound endpoint numbers are
received. From David Sidrane (2015-05-02).
* USB host: Merged in the USB hub support that has been happening on
a separate branch up until this point. The interfaces are complete
@ -10292,7 +10292,7 @@
chip.h: Fix cache related problem in LPC31 and SAMA5Dx EHCI drivers.
All buffers are now aligned with the cache line size in both starting
address and in length. This cause major problems in unlucky builds
where the USB host buffers where unaligned and abbutting other data.
where the USB host buffers where unaligned and abutting other data.
The cache flush and invalidate operations could be subverted by
accesses to adjacent data or could have unexpected side effects. This
bug has been in the ECHI drivers forever, but was only revealed due to
@ -10366,9 +10366,9 @@
the allocated request buffer. Strings such as vendor names or product
names will be truncated to fit in the request buffer (2015-05-12).
* arch/arm/src/samv7/sam_twihs.c: Fix SAMV TWIHS logic that performs
multi-message tranfers with and without repeated starts (2015-05-12).
multi-message transfers with and without repeated starts (2015-05-12).
* maXTouch Xplained Pro: The above TWIHS fix was the last barrier to
getting the touchscreen workingoin the maXTouch Xplained Pro LCD
getting the touchscreen working in the maXTouch Xplained Pro LCD
(2015-05-12).
* net/route/ and net/netdev/netdev_ioctl.c: Complete implementation of
the IPv6 routing logic. From Max Neklyudov (2015-05-13).
@ -10376,9 +10376,9 @@
to avoid compilation errors. From Max Neklyudov (2015-05-13).
* /net/route/netdev_router.c: Fix bug in IPv6 router from Max Neklyudov
(2015-05-13).
* sched/pthread/pthread_kill.c: Re-implemened pthread_kill(). It was
* sched/pthread/pthread_kill.c: Re-implemented pthread_kill(). It was
just a simple wrapper around kill() but since the correct dispatching
of singles for multi-threaded task groups has been implemented,
of signals for multi-threaded task groups has been implemented,
calling kill() does not do what pthread_kill() is supposed to do. The
corrected implementation of pthread_kill() will direct the signal
specifically to the specific pthread and no other (2015-05-13).
@ -10409,13 +10409,13 @@
* nuttx/arch/arm/src/sam34/sam_serial.c: In NONBLOCKING mode serial
does not receive bytes from UART. This happens because RX interrupt
was disabled in the setup routine. To fix this I save interrupt
configuration before uart shutdown and restore it after. From Max
configuration before UART shutdown and restore it after. From Max
Neklyudov (2015-05-21).
* arch/arm/include/lpc11xx and src/lpc11xx: Support for the LPC11xx
family (the LPC1115 MCU in particular). Contribuited by Alan Carvalho
family (the LPC1115 MCU in particular). Contributed by Alan Carvalho
de Assis (2015-05-22).
* configs/lpcxpresso-lpc1115: Support for the LPCXpression LPC1115
board. Contribuited by Alan Carvalho de Assis (2015-05-22).
board. Contributed by Alan Carvalho de Assis (2015-05-22).
* arch/arm/src/sam34/Kconfig, sam_serial.c, and chip/sam_uart.h: Add
support for optical mode for the SAM4CM UART1. From Max Neklyudov
(2015-05-23).
@ -10433,7 +10433,7 @@
geometry structure (again) to support larger FLASH sizes. Needed
by Sébastien Lorquet (2015-05-26).
* SAM4CM and SAMA5D Free-running timer: Logic that samples the free
running counter reads the pending interrupt status regsiter and
running counter reads the pending interrupt status register and
can cause interrupts to be lost. So, if when the status register
is read, the logic must also handle the timer overflow event.
Found and fixed by Max Neklyudov (2015-05-26).
@ -10451,7 +10451,7 @@
status indications (2015-05-27).
* net/socket and net/tcp: net_startmonitor.c always returned OK. In
the case where a socket has already been closed, it correctly handled
the disconnetion event but still returned OK. Returning OK caused
the disconnection event but still returned OK. Returning OK caused
the callers of net_startmonitor to assume that the connection was
okay, undoing the good things that net_startmonitor did and causing
the socket to be marked as connected. This behavior was noted by
@ -10470,7 +10470,7 @@
to values less that an 100 msec. That is because the timeout is
limited to stops of 1 decisecond and because the conversion of
structure timeval was truncating the microsecond remainder. The
utility net_timeval2dsec now accespts and option to determin how it
utility net_timeval2dsec now accepts and option to determine how it
handles the remainder: truncate, discarding the remainder, use the
remainder to round to the closed decisecond value, or use any non-zero
remainder to the next larger whole decisecond value. Bug discovered
@ -10516,7 +10516,7 @@
* configs/: Update all LPC17xx networking configurations so that they
have CONFIG_NET_NOTINTS=y selected (2015-06-01).
* /arch/arm/src/armv7-m, binfmt/libelf, configs/stm32f4discovery/scripts,
/include/nuttx/binfmt, and libxx: Add support uClibc++ excpetions. This
/include/nuttx/binfmt, and libxx: Add support uClibc++ exceptions. This
involves additional handling for relative relation types, additional
support for unwinding, as well as additional changes. The culmination
of a big effort from Leo Aloe3132 (2015-06-01).
@ -10525,15 +10525,15 @@
to build apps/netutils/thttpd using binfs instead NXFLAT+ROMFS
(2015-06-02).
* tools/cfgdefine.c: Extend the mkconfig tool so that it can dequote a
quoted list of quoted strings. THTTPD uses such a configration
quoted list of quoted strings. THTTPD uses such a configuration
setting to provide the list of index files (2015-06-02).
* mq_timedreceive(): move the location where the errno value is set; the
ETIMEDOUT errno setting was being overwritten by subsequent actions
before returning. Noted by Freddie Chopin (2015-06-03).
* Networking: Modify how callback structures are stored to avoid
another potential use of a stal pointer (2015-06-03).
another potential use of a stale pointer (2015-06-03).
* POSIX message queues: Move mq_setattr() and mq_getattr() from
nuttx/libc/mqueue to nuttx/sched/mqueue. Also add sysyscall support
nuttx/libc/mqueue to nuttx/sched/mqueue. Also add syscall support
for mq_setattr() and mq_getattr(). This is necessary in protected and
kernel builds because in those cases the message queue structure is
protected and cannot be accessed directly from user mode code. Noted
@ -10553,12 +10553,10 @@
Pierre-noel Bouteville (2015-06-05).
* configs/sim/unionfs: Add a configuration for testing the Union File
System (2015-06-05).
* apps/examples/thttpd now uses the Union File System if BINFS is
selected for CGI binaries (2015-06-06).
* configs/lincoln60/thttpd-binfs: Add a thttpd-binfs configuration for
the Lincoln60. That configuration still does not work on initial
commit (2015-06-06).
* apps/nshlib/: The NSH mount command now recognizes the Union file
system type when listing mounted file systems (2015-06-07).
* arch/arm/src/sama5/sam_can.c: Fix SAMA5 CAN frame construction. From
Max Holtzberg (2015-06-07).
7.11 2015-xx-xx Gregory Nutt <gnutt@nuttx.org>

View File

@ -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 6, 2015</p>
<p>Last Updated: June 9, 2015</p>
</td>
</tr>
</table>
@ -1279,11 +1279,11 @@
<h2>Released Versions</h2>
<p>
In addition to the ever-changing GIT repository, there are frozen released versions of NuttX available.
The current release is NuttX 7.9.
NuttX 7.9 is the 109<sup>th</sup> release of NuttX.
It was released on April 14, 2015, and is available for download from the
The current release is NuttX 7.10.
NuttX 7.10 is the 110<sup>th</sup> release of NuttX.
It was released on June 9, 2015, and is available for download from the
<a href="http://sourceforge.net/projects/nuttx/files/">SourceForge</a> website.
Note that the release consists of two tarballs: <code>nuttx-7.9.tar.gz</code> and <code>apps-7.9.tar.gz</code>.
Note that the release consists of two tarballs: <code>nuttx-7.10.tar.gz</code> and <code>apps-7.10.tar.gz</code>.
Both may be needed (see the top-level <code>nuttx/README.txt</code> file for build information).
</p>
@ -1292,7 +1292,7 @@
<ul>
<li><b>nuttx</b>.
<ul><p>
Release notes for NuttX 7.9 are available <a href="http://sourceforge.net/projects/nuttx/files/nuttx/nuttx-7.9/">here</a>;
Release notes for NuttX 7.10 are available <a href="http://sourceforge.net/projects/nuttx/files/nuttx/nuttx-7.10/">here</a>;
release notes for all released versions on NuttX are available in the <a href="http://sourceforge.net/p/nuttx/git/ci/master/tree/nuttx/ReleaseNotes" target="_blank">SourceForge GIT</a>.
The ChangeLog for all releases of NuttX is available in the ChangeLog file that can viewed in the <a href="http://sourceforge.net/p/nuttx/git/ci/master/tree/nuttx/ChangeLog" target="_blank">SourceForge GIT</a>.
The ChangeLog for the current release is at the bottom of that file.
@ -1300,7 +1300,7 @@
</li></ul>
<li><b>apps</b>.
<ul><p>
Release notes for NuttX 7.9 are available <a href="http://sourceforge.net/projects/nuttx/files/nuttx/nuttx-7.9/">here</a>;
Release notes for NuttX 7.10 are available <a href="http://sourceforge.net/projects/nuttx/files/nuttx/nuttx-7.10/">here</a>;
release notes for all released versions on NuttX are available in the <a href="http://sourceforge.net/p/nuttx/git/ci/master/tree/nuttx/ReleaseNotes" target="_blank">SourceForge GIT</a>
The ChangeLog for the all releases of apps is available in the ChangeLog file that can viewed in the <a href="http://sourceforge.net/p/nuttx/git/ci/master/tree/apps/ChangeLog.txt" target="_blank">SourceForge GIT</a>.
The ChangeLog for the current release is at the bottom of that file.
@ -1353,9 +1353,9 @@
<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> (6)</li>
<li><a href="#armcortexm3">ARM Cortex-M3</a> (32)</li>
<li><a href="#armcortexm4">ARM Cortex-M4</a> (20)</li>
<li><a href="#armcortexm0">ARM Cortex-M0/M0+</a> (7)</li>
<li><a href="#armcortexm3">ARM Cortex-M3</a> (33)</li>
<li><a href="#armcortexm4">ARM Cortex-M4</a> (22)</li>
<li><a href="#armcortexm7">ARM Cortex-M7</a> (1)</li>
</ul>
<li>Atmel AVR
@ -1443,6 +1443,7 @@
<li><a href="#freescaleimx1">Freescale i.MX1</a> <small>(ARM920-T)</small></li>
<li><a href="#freescalekl25z">FreeScale KL25Z</a> <small>(ARM Cortex-M0+)</small></li>
<li><a href="#freescalekl26z">FreeScale KL26Z</a> <small>(ARM Cortex-M0+)</small></li>
<li><a href="#kinetisk20">FreeScale Kinetis K20</a> <small>(ARM Cortex-M4)</small></li>
<li><a href="#kinetisk40">FreeScale Kinetis K40</a> <small>(ARM Cortex-M4)</small></li>
<li><a href="#kinetisk60">FreeScale Kinetis K60</a> <small>(ARM Cortex-M4)</small></li>
</ul>
@ -1507,12 +1508,14 @@
<li><a href="#stm32f103cx">STMicro STM32F103C4/C8</a> <small>(STM32 F1 &quot;Low- and Medium-Density Line&quot; Family, ARM Cortex-M3)</small></li>
<li><a href="#stm32f103x">STMicro STM32F103x</a> <small>(STM32 F1 Family, ARM Cortex-M3)</small></li>
<li><a href="#stm32f107x">STMicro STM32F107x</a> <small>(STM32 F1 &quot;Connectivity Line&quot; family, ARM Cortex-M3)</small></li>
<li><a href="#stm32f205x">STMicro STM32F205x</a> <small>(STM32 F2 family, ARM Cortex-M3)</small></li>
<li><a href="#stm32f207x">STMicro STM32F207x</a> <small>(STM32 F2 family, ARM Cortex-M3)</small></li>
</ul>
</li>
</td>
<td bgcolor="#e4e4e4" valign="top" width="33%">
<ul>
<li><a href="#stm32302x">STMicro STM32F302x <small>(STM32 F3 family, ARM Cortex-M4)</small></b>.</a></li>
<li><a href="#stm32303x">STMicro STM32F303x <small>(STM32 F3 family, ARM Cortex-M4)</small></b>.</a></li>
<li><a href="#stm32f372x">STMicro STM32 F372/F373</a> <small>(ARM Cortex-M4)</small></li>
<li><a href="#stm32f401x">STMicro STM32F401x</a> <small>(STM32 F4 family, ARM Cortex-M4)</small></li>
@ -2190,21 +2193,40 @@ nsh>
<td><br></td>
<td>
<p>
<a name="freescalekl25z"><b>FreeScale Freedom KL25Z</b>.</a>
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 <a href="http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=FRDM-KL25Z&tid=vanFRDM-KL25Z">Freescale</a> website for further information about this board.
<a name="freescalekl25z"><b>FreeScale KL25Z</b>.</a>
There are two board ports for the KL25Z parts:
</p>
<ul>
<p>
<b>STATUS</b>.
This is the work of Alan Carvalho de Assis.
Verified, initial, minimal support for the Freedom KL25Z is in place in NuttX 6.27 and 6.28:
There is a working NuttShell (<a href="NuttShell.html">NSH</a>) configuration that might be the basis for an application development.
As of NuttX-6.28 more device driver development would be needed to make this a complete port, particularly to support USB OTG.
A TSI and a SPI driver were added in NuttX-6.29.
Alan contributed a PWM driver in NuttX-6.32.
Refer to the Freedom KL25Z board <a href="http://sourceforge.net/p/nuttx/git/ci/master/tree/nuttx/configs/freedom-kl25z/README.txt" target="_blank">README</a> file for further information.
<p><b>Freedom KL25Z</b>.
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 <a href="http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=FRDM-KL25Z&tid=vanFRDM-KL25Z">Freescale</a> website for further information about this board.
</p>
<ul>
<p>
<b>STATUS</b>.
This is the work of Alan Carvalho de Assis.
Verified, initial, minimal support for the Freedom KL25Z is in place in NuttX 6.27 and 6.28:
There is a working NuttShell (<a href="NuttShell.html">NSH</a>) configuration that might be the basis for an application development.
As of NuttX-6.28 more device driver development would be needed to make this a complete port, particularly to support USB OTG.
A TSI and a SPI driver were added in NuttX-6.29.
Alan contributed a PWM driver in NuttX-6.32.
Refer to the Freedom KL25Z board <a href="http://sourceforge.net/p/nuttx/git/ci/master/tree/nuttx/configs/freedom-kl25z/README.txt" target="_blank">README</a> file for further information.
</p>
</ul>
<p>
<b>PJRC Teensy-LC</b>.</a>
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 <a href="http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=FRDM-KL25Z&tid=vanFRDM-KL25Z">Freescale</a> website for further information about this board.
</p>
<ul>
<p>
<b>STATUS</b>.
This is the work of Michael Hope.
Verified, initial support for the Teensy-LC first appeared in NuttX-7.10.
Refer to the Teensy-LC board <a href="http://sourceforge.net/p/nuttx/git/ci/master/tree/nuttx/configs/teensy-lc/README.txt" target="_blank">README</a> file for further information.
</p>
</ul>
</ul>
</td>
</tr>
@ -2270,7 +2292,9 @@ nsh>
<p>
<b>STATUS</b>.
This is a work in progress.
Initial support for the SAML21 Xplained Pro is expected in the NuttX 7.10 timeframe.
Initial support for the SAML21 Xplained Pro was release in the NuttX 7.10.
This initial support included a basic configuration for the NuttShell (NSH)
(see the <a href="http://www.nuttx.org/Documentation/NuttShell.html">NSH User Guide</a>).
Refer to the SAML21 Explained Pro board <a href="http://sourceforge.net/p/nuttx/git/ci/master/tree/nuttx/configs/saml21-xplained/README.txt" target="_blank">README</a> file for further information.
</p>
</ul>
@ -2285,15 +2309,14 @@ nsh>
<td>
<p>
<a name="nxplpc11xx"><b>NXP LPC11xx</b>.</a>
Support is provided for the NXP LPC11xx family of processors. In particular,
support is provided for LPCXpression LPC1115 board.
Support is provided for the NXP LPC11xx family of processors.
In particular, support is provided for LPCXpression LPC1115 board.
This port was contributed by Alan Carvalho de Assis.
</p>
<ul>
<p>
<b>STATUS:</b>
This port is still very much a work in progress.
The first usable version is expected in NuttX 7.10.
The first released version was provided in NuttX 7.10.
Refer to the board <a href="http://sourceforge.net/p/nuttx/git/ci/master/tree/nuttx/configs/lpcxpresso-lpc1115/README.txt" target="_blank">README.txt</a> file for further information.
</p>
</ul>
@ -2958,6 +2981,22 @@ nsh>
<td><br></td>
<td><hr></td>
</tr>
<tr>
<td><br></td>
<td>
<p>
<a name="stm32f205x"><b>STMicro STM32F205 (STM32 F2 family)</b>.</a>
Architecture only support for the STM32F205RG was contributed as an anonymous contribution in NuttX-7.10
</p>
<ul>
<b>STATUS:</b>
There are currently on board configurations for any board using the STM32F205.
</td>
</tr>
<tr>
<td><br></td>
<td><hr></td>
</tr>
<tr>
<td><br></td>
<td>
@ -3229,6 +3268,28 @@ nsh>
<a name="armcortexm4"><b>ARM Cortex-M4</b>.</a>
</td>
</tr>
<tr>
<td><br></td>
<td>
<p>
<a name="kinetisk20"><b>FreeScale Kinetis K20</b>.</a>
Archicture support (only) was added in NuttX-7.10.
This support was taken from PX4 and is the work of Jakob Odersky.
</p>
<ul>
<p>
<b>STATUS:</b>
There are no K20 boards yet supported.
Work is underway on the the PJRC Teensy-3.1 board and that port is expected in NuttX-7.11.
Refer to the Teensy-3.1 board <a href="http://sourceforge.net/p/nuttx/git/ci/master/tree/nuttx/configs/teensy-3.1/README.txt" target="_blank">README</a> file for further information.
</p>
</ul>
</td>
</tr>
<tr>
<td><br></td>
<td><hr></td>
</tr>
<tr>
<td><br></td>
<td>
@ -3291,7 +3352,26 @@ nsh>
<td><br></td>
<td>
<p>
<a name="stm32303x"><b>STMicro STM32F3-Discovery (STM32 F3 family)</b>.</a>
<a name="stm32302x"><b>STMicro STM32 F302 (STM32 F3 family)</b>.</a>
Architecture (only) support for the STM32 F302 was contributed in NuttX-7.10 by Ben Dyer (vi the PX4 team and David Sidrane).
</p>
<ul>
<p>
<b>STATUS:</b>
There are currently no board configurations using the STM32 F302.
</p>
</ul>
</td>
</tr>
<tr>
<td><br></td>
<td><hr></td>
</tr>
<tr>
<td><br></td>
<td>
<p>
<a name="stm32303x"><b>STMicro STM32 F302 / STM32F3-Discovery (STM32 F3 family)</b>.</a>
This port uses the STMicro STM32F3-Discovery board featuring the STM32F303VCT6 MCU (STM32 F3 family).
Refer to the <a href="http://www.st.com/internet/evalboard/product/254044.jsp">STMicro web site</a> for further information about this board.
</p>
@ -3954,7 +4034,8 @@ Mem: 29232 5920 23312 23312
<b>STATUS:</b>
The basic port is complete and there are several different, verified configurations available.
All configurations use the the NuttShell (NSH) and a serial console.
The first release of the SAMV71-XULT port is expected in NuttX-7.9.
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.
</p>
<p>
Additional drivers, with status as of 2015-04-03, include:
@ -4503,7 +4584,7 @@ Mem: 29232 5920 23312 23312
<b>STATUS:</b>
This is a collaborative effort between Kristopher Tate, David Sidrane and myself.
The basic port is functional and a NuttShell (NSH) configurqation is available.
The first official is expected in NuttX-7.9.
The first official release was in NuttX-7.9.
Current efforts are focused on driver development.
Many drivers port simply from the PIC32MX; others require more extensive efforts.
Driver status as of (2015-03-29) is provided below:

View File

@ -8429,7 +8429,7 @@ file for build information).
Additional new features and extended functionality:
* Core OS:
- Assertions: Add support for dumping board-specific information on
assertions. From David Sidrane.
@ -8822,3 +8822,420 @@ detailed bugfix information):
* Applications:
- Modbus: Fix some compile problems when TCP is enabled.
NuttX-7.10
----------
The 110th release of NuttX, Version 7.10, was made on June 9, 2015,
and is available for download from the SourceForge website. Note
that release consists of two tarballs: nuttx-7.10.tar.gz and
apps-7.10.tar.gz. Both may be needed (see the top-level nuttx/README.txt
file for build information).
Additional new features and extended functionality:
* Binary Loader:
- ARMv-7M, binfmt/, STM32: Add support uClibc++ exceptions. This
involved additional handling for relative relation types, additional
support for unwinding, as well as additional changes. The
culmination of a big effort from Leo Aloe3132.
* Graphics/Graphic Drivers:
- RA8875 LCD driver contributed by Marten Svanfeldt.
* File Systems/Block Drivers/MTD:
- Union File System: Add support for a union file system that can be
used to overlay and merge the content of two mounted file systems.
* USB Host:
- USB Hub Support: Bring in USB hub-related files from
https://github.com/kaushalparikh/nuttx. This is the work of Kaushal
Parikh. This is quite a bit more hub logic was needed in before the
USB hub support was fully functional. This involved changing many
USB host controller driver interfaces and modifications to many
drivers.
- USB host CDC/ACM class driver: Added initial implementation of a
host-side CDC/ACM driver. Initial version was a great learning
experience, but probably should be partially redesigned (as
discussed in the top-level TODO file).
- IPv6 Routing: Complete implementation of the IPv6 routing logic.
From Max Neklyudov.
* Networking:
- Local Sockets: Add poll support for Unix stream sockets. From Jussi
Kivilinna.
- net/: ARP, ICMP, ICMPv6, PKT, TCP, and UDP now all receive event
notifications from both network device packet processing, but now
also from Device-specific events such as when the network goes down.
The device notification callback structure is now supports dual
linkages so that the client can receive notifications from both
source; The device structure now includes a list of clients that
want to receive device related notifications. This prevents network
actions from hanging when the device goes down and will be an
essential part of future support for removable network devices.
Some of the core logic was contributed by Max Neklyudov.
- TUN: Misc. improvements to the TUN driver, mostly related to poll().
Also several bugfixes. From Max Neklyudov.
* Simulation Platform:
- Simulator: Add logic to test localtime and TZ database. See
apps/system/README.txt for info.
- Simulation: Add a configuration for testing the Union File System.
* Calypso:
- Calypso Compal-E86: Updates for execution out of FLASH on the C139
phone. From Craig Comstock.
* Atmel SAMD/L:
- SAML21 Support: And chip definitions, configuration framework,
memory map and pin configuration files for SAML21 support.
* Atmel SAMD/L Boards:
- SAML21-Xplained: Add a board support for the SAML21 Xplained Pro.
This is based on the similar SAMD20 Xplained Pro board.
* Freescale/NXP KL:
- KL25Z64: Added support for the KL25Z64. The KL25Z64 is a lower
memory variant of the KL25Z128 and is used on the Teensy LC. From
Michael as SourceForge patch 50.
* Freescale/NXP KL Boards:
- Teensy-LC: Add board support for the Teensy LC board. Support is
based off the Freedom KL25Z board. LED, PWM, and UART0 have been
tested. The SPI pins are mapped correctly but have not yet been
tested. From Michael Hope as SourceForge patch 51.
* NXP LPC111x:
- LPC111x: Support for the LPC11xx family (the LPC1115 MCU in
particular). Contributed by Alan Carvalho de Assis.
* NXP LPC111x Boards:
- LPCXpresso LPC1115: Support for the LPCXpression LPC1115
board. Contributed by Alan Carvalho de Assis.
* NXP LPC17xx Drivers:
- LPC17xx Ethernet: Add support for the Micrel KSZ8041 PHY to the
LPC17xx Ethernet driver.
* NXP LPC17xx Boards:
- Lincoln60: Add a network enabled configuration for the Lincoln60
board.
* Atmel SAM3/4 Drivers:
- SAM4CM: Add support for optical mode for the SAM4CM UART1. From
Max Neklyudov.
* Freescale (NXP) Kinetis:
- Kinetis K20: Basic support for the Kinetis K20 architecture. Taken
from PX4. This is the work of Jakob Odersky.
* Atmel SAMV7 Boards:
- SAMV71-Xplained w/maXTouch Xplained Pro: A TWIHS fix was the last
barrier to getting the touchscreen working in the maXTouch Xplained
Pro LCD. Added the NxWM integrated graphics demonstration
configuration.
* STMicro STM32:
- STM32: Added support for STM32F302K8 and STM32F302K6. From Ben Dyer
via PX4/David Sidrane.
- STM32F205RG: Add basic support for the STM32F205RG. From SourceForge
Ticket 40 (anonymous, 2015-05-31).
- STM32 F3: Add DBGMCU register definitions for the F3 family. From
Greg Meiste.
* STMicro STM32 Drivers:
- STM32 LCDC: Defined a second interface for the dma2d controller.
LTDC only controls the display visibility but the DMA2D controller
changes the content of the frame buffer (buffer of the layer). From
Marco Krahl.
- STM32 PVD: Added support for STM32's Programmable Voltage Detector
(PVD) feature. By Dmitry Nikolaev, submitted by Juha Niskanen.
* STMicro STM32 Boards:
- STM32F429i-Disco: Add support for the new DMA2D features to the LTDC
configuration. From Marco Krahl.
* TI Tiva Boards:
- TM4C1294 Launchpad: Added TM4C1294NCPDT EN0_LED2 (10/100-Base-Tx);
removed all booster pack pin definitions. From Frank Sautter.
* C Library/Header Files:
- libc: Add an option to disable support for long long formats in
lib_vsprintf(). On very tiny platforms, this reduces the footprint
by omitting large libgcc.a libraries to perform the 64-bit
arithmetic operations. From Alan Carvalho de Assis.
* Applications: apps/system:
- apps/system/zoneinfo: Add logic to build a ROMFS file system
containing the timezone data.
* Applications: apps/nshlib:
- Add poll support for Unix stream sockets. From Jussi Kivilinna.
- Enhancements to NSH ifconfig for case of multi-link operation, TUN
device and local connections. From Max Neklyudov.
- Enhanced output to NSH ping command from Max Neklyudov.
- The NSH mount command now recognizes the Union filesystem type when
listing mounted file systems.
* Applications: apps/netutils:
- apps/netutils/thttpd/ and apps/examples/thttpd/: Add support for
using binfs/ with the Union FS instead of NXFLAT. NXFLAT is
probably the better solution but recently compiler changes make it
unusable. binfs or ELF are fallback binary formats. This commit
adds an option to use binfs with the Union FS.
* Applications: apps/examples:
- Modify/simpify apps/examples build files. From Roman Saveljev.
- apps/examples/ltdc: Add testing support for the STM32 LTDC's 2D DMA.
From Marco Krahl.
- apps/examples/ostest: Add a test of nested signals. There are no
failures to handle signals but neither am I getting any nested signal
handling.
- apps/examples/elf: Add configuration options to support building the
hello++4 example that depends upon having uClibc++ available. Also
add hello++5 to the ELF example From Leo aloe3132.
- apps/examples/unionfs: Add a test of the union file system to
apps/examples.
Efforts In Progress. The following are features that are partially
implemented but present in this release. They are not likely to be
completed soon.
* Processes. Much of the work in this release is focused on the
realization of Unix-style user processes in NuttX. There is more to
be done, however. The full roadmap and status is available at:
http://www.nuttx.org/doku.php?id=wiki:nxinternal:memconfigs#the_roadmap_toward_processes
* XMega: There are some fragments in place for an XMega port. That
port has not really started, however.
Bugfixes. Only the most critical bugfixes are listed here (see the
ChangeLog for the complete list of bugfixes and for additional, more
detailed bugfix information):
* Core OS:
- boardctl(): Add missing case causing that caused failures of PWM
test.
- pthread_kill(): Re-implemented pthread_kill(). It was just a simple
wrapper around kill() but since the correct dispatching of signals
for multi-threaded task groups has been implemented, calling kill()
does not do what pthread_kill() is supposed to do. The corrected
implementation of pthread_kill() will direct the signal specifically
to the specific pthread and no other.
- uint32_t callbacks: Update the type passed to watchdog timer
handlers. Using uint32_t is a problem for 64-bit machines because
it it too small to pass a pointer. uintptr_t is a more appropriate
type.
- mq_timedreceive(): move the location where the errno value is set;
the ETIMEDOUT errno setting was being overwritten by subsequent
actions before returning. Noted by Freddie Chopin.
- POSIX message queues: Move mq_setattr() and mq_getattr() from
nuttx/libc/mqueue to nuttx/sched/mqueue. Also add syscall support
for mq_setattr() and mq_getattr(). This is necessary in protected
and kernel builds because in those cases the message queue
structure is protected and cannot be accessed directly from user
mode code. Noted by Jouko Holopainen.
* File Systems/Block Drivers/MTD:
- MTD: Increase the size of the fields in the geometry structure
(again) to support larger FLASH sizes. Needed by Sebastien Lorquet.
* Common Drivers:
- poll(): Fix resource leak and memory corruption on poll failure.
From Jussi Kivilinna.
* USB Host:
- LPC31xx and SAMA5Dx EHCI: Fix cache related problem in LPC31 and
SAMA5Dx EHCI drivers. All buffers are now aligned with the cache
line size in both starting address and in length. This cause major
problems in unlucky builds where the USB host buffers where
unaligned and abutting other data. The cache flush and invalidate
operations could be subverted by accesses to adjacent data or could
have unexpected side effects. This bug has been in the ECHI drivers
forever, but was only revealed due to unlucky memory allocations
during the integration of the hub feature.
* USB Device:
- All USB device class drivers: There needs to be a check to make
sure that the size of a returned string does not exceed the size of
the allocated request buffer. Strings such as vendor names or
product names will be truncated to fit in the request buffer.
* Networking:
- TCP: Correct failures in long Telnet sessions by increasing th
size of the number of bytes sent from uint16_t to uint32_t. This
avoids an integer overflow that causes a long Telnet session to be
closed unexpectedly. From Rony XLN.
- Network locks: Correct some network lock logic: Two error
conditions where the network was not being unlocked and one where it
was getting unlocked twice. From Jussi Kivilinna.
- Local Sockets: Local stream sockets had problem of double releasing
pipes (both server and client attempt release), which causes wrong
pipe pair being closed in multi-client case. Solve by adding per
connection instance ID to pipe names. From Jussi Kivilinna.
- TCP: Fix an important TCP networking bug: 16-bit flags was being
converted to 8-bits in a few locations, causing loss of status
indications.
- TCP: net_startmonitor() always returned OK. In the race case
where a socket has already been closed, it correctly handled the
disconnection event but still returned OK. Returning OK caused the
callers of net_startmonitor() to assume that the connection was
okay, undoing the good things that net_startmonitor() did and
causing the socket to be incorrectly marked as connected. This
behavior was noted by Pelle Windestam.
- setsockopt() failed when setting timeouts to values less tha 100
msec. That is because the timeout is limited to stops of 1
decisecond and because the conversion of structure timeval was
truncating the microsecond remainder. The utility
net_timeval2dsec() now accepts and option to determine how it
handles the remainder: truncate, discarding the remainder, use
the remainder to round to the closed decisecond value, or use any
non-zero remainder to the next larger whole decisecond value. Bug
discovered by Librae.
- TCP: In the TCP connection operation, it was trying to setup the
network monitor BEFORE the socket was successfully connected. This,
of course, has ALWAYS failed because the socket is not yet connected
and the TCP state is not yet correct for a connected socket. However,
because of other changes net_startmonitor() now returns a failure
condition that causes worse problems when trying to connect. The fix
is to move the logic that starts the network monitor to AFTER the
socket has been successfully connected.
* Atmel SAM3/4 Drivers:
- SAM4CM and SAMA5D Free-running timer: Logic that samples the free
running counter reads the pending interrupt status register and can
cause interrupts to be lost. So, if when the status register is
read, the logic must also handle the timer overflow event. Found
and fixed by Max Neklyudov.
* Atmel SAMA5 Drivers:
- SAM3/4 Serial: When reconfigured, serial does not receive bytes
from UART. This happens because RX interrupt was disabled in the
setup routine. Fixed this I save interrupt configuration before
UART shutdown and restore it after. From Max Neklyudov.
* NXP LPC17xx Drivers:
- LPC176x GPIO: Reorder steps when an output GPIO is configured in
order to avoid transient bad values from being output. From Hal
Glenn.
- LPC17 USB OHCI: Correct some initialization of data structures.
When hub support is enabled, it would overwrite the end of an array
and clobber some OS data structures.
- LPC17xx Ethernet: Review, update, and modify the Ethernet driver so
that it works better with CONFIG_NET_NOINTS=y. Also, update all
LPC17xx networking configurations so that they have
CONFIG_NET_NOTINTS=y selected.
* SiLabs EMF32 Drivers:
- EFM32 SPI: Add missing SPI GPIO pin initialization. From Pierre-noel
Bouteville.
* STMicro STM32:
- STM32 F3: Added missing EXTI definitions for the STM32 F3; Correct
an error the port D base address in the STM32 F30x and F37x memory
maps. From Greg Meiste.
* STMicro STM32 Drivers:
- STM23 RTC: Fix an error introduced into stm32_pwr_enablebkp().
That function must preserve the previous state of backup domain
access on return.
- STM32 RTC counter: Now need to enable backup domain write access
when setting the time. From Darcy Gong.
- STM32 OTG FS and HS: Added protection in the event that out-of-bound
endpoint numbers are received. From David Sidrane.
* STMicro STM32 Boards:
- STM32F429i Disco: (1) Fix a bad return value if the LCD driver is
already initialized. (2) The LCD driver initialization is now
performed during the early boot sequence. (3) Increased the size
of the message queue from 32 to 64 in the lcd configuration. From
Marco Krahl.
* TI Tiva
- Fixes for Tiva TM4C1294NCPDT. From Frank Sautter.
* Atmel SAMV71 Drivers:
- SAMV7 TWIHS: Fix SAMV TWIHS logic that performs multi-message
transfers with and without repeated starts.
* Atmel SAMA5D3/4 Dirvers:
- SAMA5 CAN: Fix SAMA5 CAN frame construction. From Max Holtzberg.
* C Library/Header Files:
- stdlib.h: MAX_RAND should be RAND_MAX.
- assert.h: Wrap definitions of assertion macros in do while so that
they are valid C statements. Numerous places throughout the code
where semicolons were missing at the end of an assertion also had to
be fixed. Suggested by orbitalfox.
- inetntoa(): Correct errors in printing IP address when type char is
signed and the value is >= 128. From Max Neklyudov.
* Tools:
- Tools: Fix test for the existence of the apps/ directory in
configure.c. Fix backward interpretation of options, -l was selecting
Windows and -w was selecting Linux. This was SourceForege Ticket #39.
* Applications: apps/nshlib:
- apps/nshlib/nsh_timcmds.c: Check return values from time functions.
- apps/nshlib/: Fix handling of gmtime_r return value in time commands.
gmtime_r returns a pointer, not an int.
* Applications: apps/netutils:
- apps/netutils/ntp: Fix mismatched sched_lock/unlock. Noted by Juha
Niskanen.
* Applications: apps/examples:
- apps/examples/nxlines: Fix missing right bracket that causes
compile error when CONFIG_NX_XYINPUT=y. From Librae.
- apps/examples: When boardctl() fails, need to print errno not the
returned value which will always be -1.
- apps/examples: Correct use of the BOARDIOC_GRAPHICS_SETUP boardctl()
call.

View File

@ -1,9 +1,9 @@
Teensy LC README
================
This is the README file for NuttX on the Teensy LC. The Teensy LC
This is the README file for NuttX on the PJRC Teensy LC. The Teensy LC
is a DIP style breakout board for the MKL25Z64 and comes with a USB
based bootloader.
based bootloader. Contributed by Michael Hope.
Development Environment
=======================