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.
The 76th release of NuttX, Version 6.9, was made on September 11, 2011
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
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
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
NuttX-6.10
^^^^^^^^^^
The 77th release of NuttX, Version 6.10, was made on October 6, 2011
and is available for download from the SourceForge website. Note
that release consists of two tarballs: nuttx-6.10.tar.gz and
apps-6.10.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:
* CDC ACM serial class device-side driver
* RTC: Now supports hi-res and lo-res hardware RTC. The lo-res RTC
runs at 1Hz.
* STM32 I2C driver. Now supports faster, polled mode of operation.
Added an I2C trace capability.
* ADS7843E touchscreen driver. As used on the SAM3U-EK development
board.
* AT91SAM3U SPI driver. To support the ADS7843E toucscreen
* X11 Support on simulation target. Build errors in the X11 windows
for the simulated target have been correct. Added support for a
simulated touchscreen on the X11 window (based on mouse inputs).
* System Timer. Added support for a 64-bit system timer.
* TIFF Support. Added a TIFF library (currently used for storing
LCD screen shots).
* LCD Support. Added a test to verify that we read and write correct
to LCD GRAM memory.
* I2C tool. Extended to support to include a verify command and
repititions and auto-address increment for most commands.
* USB terminal example. Line oriented serial bridge connects a host
USB serial terminal to a host UART serial terminal.
* Build System. apps/ Makefile will now include external directories
in the application build.
Bugfixes, order roughly on decreasing criticality include:
* Message Queues. Correct errors in mq_timedsend() and
mq_timedrecieve().
* FAT. Writes that cross sector boundaries, stray write into the FAT,
and a FAT long file name issue
* NXFFS. Added a missed error check. Files cannot be opened for
writing if they are already opened for reading.
* Library: fopen() for append modse was not appending.
* STM32 I2C driver. Correct another conflict between concurrent FSMC
and I2C1 accesses. Fixed some bad error detection logic.
* STM32 SDHC driver. Interrupts were being left disabled.
The 78th release of NuttX, Version 6.11, was made on November 12, 2011
and is available for download from the SourceForge website. Note
that release consists of two tarballs: nuttx-6.11.tar.gz and
apps-6.11.tar.gz. Both may be needed (see the top-level nuttx/README.txt
file for build information).
This release is a maintenance release that includes a few new features
and some important bugfixes. New features include:
* NX Graphics: New interfaces to read from graphics memory
* Drivers: AT24 FLASH driver will now supports clustering of blocks
to achieve a larger, more usable block size for NXFFS.
* STM32: LCD color corrections
* PIC32: Board configuration for the Microchip PIC32 Ethernet Starter kit
(not yet verified), new GPIO support library, button and LED support
for the Sure Electronics PIC32MX board. A lot of progress has been
made on the PIC32 NuttX port, but it is still not ready for prime time.
* NXP LPC3152: Board configuration for the Embedded Artists EA3152.
Bugfixes, order roughly on decreasing criticality include:
* NXFFS: Corrected critical bugs in initialization, some full FLASH handling,
and errors in certain cases where the FLASH is repacked.
* ARM EABI: Fix stack aligment required for passing floating point values.
* Build system: Fix build issues when g++ is used as the compiler.
* NX Graphics: Bitmap error handling, correct RGB color conversion macros,
Error when the background window is released.
* STM32: RTC build fixes, LCD color corrections
* Simulation target: build fixes
* C Library: fclose() return value.
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
See the change log for more detailed information.
NuttX-6.12
^^^^^^^^^^
The 79th release of NuttX, Version 6.12, was made on December 6, 2011
and is available for download from the SourceForge website. Note
that release consists of two tarballs: nuttx-6.12.tar.gz and
apps-6.12.tar.gz. Both may be needed (see the top-level nuttx/README.txt
file for build information).
New features in this release include:
* STM32. Basic support added for the STM32 F4 family. Board support
verified for the STMicro STM3250G-EVAL board.
* FAT. Enhanced partition handling.
* SDIO-Based SD Card support. Add support for large (>4Gb) devices
* Graphics. Added four new small sans serif fonts.
* Drivers. Fix a banding problem with the R61580 LCD.
Bugfixes, order roughly on decreasing criticality include:
* FAT. Fix errors in how the first entries in the root directory are
added. Fix errors in FAT date/time handling.
* Signals. Fix bug in certain sig_timedwait() error handling.
* Drivers. Fix cloned errors in poll() handling in several drivers.
* Message Queues. errno was not being set correctly by mq_notify().
* C Library. wchar_t is a built-in type for C++
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
NuttX-6.13
^^^^^^^^^^
The 80th release of NuttX, Version 6.13, was made on December 26, 2011
and is available for download from the SourceForge website. Note
that release consists of two tarballs: nuttx-6.13.tar.gz and
apps-6.13.tar.gz. Both may be needed (see the top-level nuttx/README.txt
file for build information).
New features in this release include:
* Drivers. New standard interface for PWM drivers and common
"upper half" PWM driver. Updated the MP25x driver to support
the Macronix MX25 chips (submitted by Mohammad Elwakeel).
* STM32 F1/F4. Added an Ethernet driver, ADC drivers, DAC driver,
PWM driver, CAN driver, F4 RTC driver, F4 DMA support,
logic for saving/restoring F4 FPU registers in context switches.
* STM32 Boards. Added STM3240G-EVAL DHPCD and nettest configuration.
Support for a new STM32 board, the HY-Mini STM32v board, was
contributed by Laurent Latil
* PIC32. The port to the Microchip PIC32MX is finally functional and
reliable. The NuttX PIC32 port has verified configurations for
the OS test and the NuttShell (NSH) both exist.
* Tests: New re-usable tests (in apps/examples) for PWM, ADC, and
CAN loopback. Several existing tests can now be built as NSH built-in
applicaitons (dhcpd, nettest, and all of the new tests).
Bugfixes, order roughly on decreasing criticality include:
* STM32: Correct handling of data overrun conditions. Existing logic
would hang with infinite interrupts when a data overrun occurred.
* DHCPD. Fix several problems using host order address where network
addresses expected (and vice versa).
And several others. See the ChangeLog for more details.