Newer
Older
This release also includes support for STM32 FLASH, build improvements,
and initial, incomplete support for the MicroChip PIC32MX MCU. Bug
fixes are included for some build problems, USB host class driver
error handling, NX graphics color mapping, and problems with C
standard I/O buffer flushing. See the ChangeLog for further details.
NuttX-6.4
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
The 71st release of NuttX, Version 6.4, was made on June 6, 2011
and is available for download from the SourceForge website. The
6.4 release includes several new features:
* A new, full-featured FTP client. This client may be used as a library
for automated FTP or via an FTP client shell. The FTP shell
supports the following commands: cd, chmod, get, help, idle,
login, ls, quit, mkdir, noop, put, pwd, rename, rhelp, rm,
rmdir, size, time, and up. A configuration is available for
the NXP LPC17xx to demonstrate this functionality.
* A functional C1101 wireless driver (contributed by Uros Platise)
* A PCI-based E1000 Ethernet driver (contributed by Yu Qiang)
* New C library functions: inet_addr() (contributed by Yu Qiang),
strndup(), asprintf()
* Reduced memory allocation overhead for MCUs with small heaps (<64Kb).
* fdopen() now works with socket descriptors allowing standard
buffered C functions to be used for network communications.
* The NSH ifconfig command can now be used to set or change the
IP address (contributed by Yu Qiang)
This release also includes some completed but untested functionality.
* The MicroChip PIC32MX port is now code complete and ready to
begin 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.
NuttX-6.5
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
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).
NuttX-6.6
The 73rd release of NuttX, Version 6.6, was made on July 11, 2011
and is available for download from the SourceForge website. The
6.6 release adds several smaller features but is mostly a bugfix
release.
* Fixed several NX Graphics bugs: Rendering fonts at >8 bits-per-pixel,
graphics move logic, and display artifacts that appear when a
window is closed.
* Corrections to the USB host mass storage class driver
* STM32 bugfixes: serial driver, GPIO interrupt handling
* LPC17xx: Changes for a success compilation with no console.
* Corrections to the Teensy AT90USB SD driver
* Changes for a clean compilation under the ZDS-II toolchain.
* Add logic to extract printf strings from FLASH (but there are
still printf issues for that target)
* Added a configuration for the Sure Electronics PIC32MX board.
However, higher priority tasks have stopped work on that
configuration.
* Added several new configurations for the STMicro STM3210E-EVAL
board.
* Added support for the STM3210E-EVAL board: (1) LCD in either
landscape or portrait mode, and (2) interrupting buttons.
* Added a configuration option to use different serial ports for
debug and for the NSH serial console (there are some issues
with CR-LF expansion and character echo if NSH is not run on
the console).
* Standardized the button press and button interrupt interfaces
so that they are common across all boards.
* Added a new graphics example that focuses on placing text on
the background while pop-up windows occur. Text should continue
to update normally with or without the popup windows present.
* Added ARM stack checking logic.
See the ChangeLog for a detailed description of these changes.
NuttX-6.7
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
The 74th release of NuttX, Version 6.7, was made on August 2, 2011
and is available for download from the SourceForge website. Note
that release consists of two tarballs: nuttx-6.7.tar.gz and
apps-6.7.tar.gz. Both may be needed (see the top-level nuttx/README.txt
file for build information). Changes in this release are summarized
below:
* New OS APIs: Add the standard sem_timedwait() interface.
* FAT File System: Adds (optional) support for VFAT long file
names.
* USB: Now the mass storage device can be connected when needed
and disconnected when not needed (or re-connected as a different
kind of device).
* Touchscreen Support: Defined a new NuttX touchscreen interface.
Added a driver for the TI TSC2007 touchscreen controller chip.
* NX Fonts: Add support for multiple fonts; developed a tool to
convert open source fonts into NuttX format; Converted and
installed nine new, high quality fontsets.
* NX Graphics: Add new NX APIs to support drawing of wide lines
in any orientation. Added new low level routines to set
individual pixel more efficiently.
* Build system: Added a export target that will bundle up all
of the NuttX libraries, header files, and the startup object
into an exportable tarball.
* LPC17xx: A CAN driver was contributed by Li Zhuoyi (Lzyy).
* STM32: New NX-related configurations to exercise text and
graphic image displays.
* C Library: Added a fixed precision atan2() math function.
* Bugfixes: Serial RX overrun error, FAT upper/lower NT 8.3 name
handling fixed. FAT directory allocation and initialization
bug. STM32 SDIO DMA race condition bug. eZ80 UART1 serial
driver errors (Paul Osmialowski)
NuttX-6.8
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
The 75th release of NuttX, Version 6.8, was made on August 19, 2011
and is available for download from the SourceForge website. Note
that release consists of two tarballs: nuttx-6.8.tar.gz and
apps-6.8.tar.gz. Both may be needed (see the top-level nuttx/README.txt
file for build information). Changes in this release are summarized
below:
* NuttX has been ported to run on the Freescale Cortex-M4 "Kinetis"
boards. Two board ports are available for (1) the Kinetis
KwikStik-K40 and (2) the Kinetis TWR-K60N512 tower.
* Support for RGMP 0.3. This version of RGMP now runs on the
OMAP4430 (arm) pandaboard
* LPC17xx CAN driver extended to support both CAN1 and CAN2
(submitted by Li Zhuoy (Lzzy))
* Fixed several critical bugs related to signal handling
initialization and for signals the wake up tasks that are waiting
to send or receive message queues.Both are important. (submitted
by hkwilton).
* drivers/can.c: Fixed a semaphore overflow problem in the CAN
driver (reported by Li Zhouy (Lzzy)).
* Added a new ADC driver infrastructure and TI ADS1255 driver
both developed and submitted by Li Zhouy (Lzzy)).
See the Changelog for additional changes included in this release.
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
NuttX-6.9
^^^^^^^^^
The 76th release of NuttX, Version 6.8, was made on September 11, 2011
and is available for download from the SourceForge website. Note
that release consists of two tarballs: nuttx-6.9.tar.gz and
apps-6.9.tar.gz. Both may be needed (see the top-level nuttx/README.txt
file for build information).
This release includes a few new features and several important bug fixes.
The new features (some still incomplete) include:
* Analog Support/ NXP LPC17xx: New DAC sub-system including ADC and DAC
drivers for the LPC17xx. Extensions to the ADS1255 driver.
(Contributed by Li Zhuoyi (Lzyy))
* Power Management: Added a new NuttX power management sub-system for
controlling and coordinating reduced power states. At present, only
verified in a simulation environment.
* I2C Test Tool: A new application was added that can be used to
verify and debug I2C interfaces from the NuttShell (NSH) command
line.
* NuttShell (NSH): In addition to the I2C test tool, a date command
is now supported (if CONFIG_RTC is defined) that can be used to
read and set the RTC.
* NXP LPC17xx: I2C and DAC driver for the NXP LPC17xx family submitted by Li Zhuoyi
(Lzyy)
* Kinetis Cortex-M4: Added a SDHC driver for the Kinetis parts.
Complete debug of the Kinetis SDHC driver was not completed, however,
do to some higher priority tasks that forced me to stop work.
* Other new drivers: Driver for I2C-based at24cxx EEPROM submitted by
Li Zhuoyi (Lzyy); Driver for the LM-75 temperature sensor. Support
for the LM-75 temperature sensor integrated into the SM3210E-EVAL
development board.
* NuttX Graphics (NX): Added new NX interfaces for drawing circles,
both circle outlines and filled circles.
* FLASH: Added a function that accepts the path to a block driver and
then erases the underlying FLASH memory
* Build System: The Make export logic now also tries to track down all
architecture-specific header files and include these in the NuttX
export bundle as well. Various changes and modifications so that
NuttX wil build on FreeBSD using the ASH shell (submitted by Kurt Lidl).
Bugfixes, order roughly on decreasing criticality include:
* STM32 I2C Driver: Add resets, timeout, and other fixes to work
reliably with the I2C tool. Corrected a major error introduced in
NuttX 6.8.
* BCH Driver. Several important bugs (noted by Li Zhuoyi (Lzyy))
were fixed.
* C Library: Fixed errors in gmtime() and gmtime_r() that could lead to
errors in date calculations.
* Timing: Correct an error in the tv_nsec calculation that happens
only config CONFIG_RTC is enabled
* Build System: Use of -print-libgcc-file-name to get path to
libgcc.a might select the wrong libgcc.a if a multilib toolchain
is used