Newer
Older
GPIO interrupts, LPC17xx UART2/3, the FAT file system, build issues,
and strrch(). See the ChangeLog for more details.
NuttX-6.3
Gregory Nutt
committed
---------
The 70th release of NuttX follows only a nines days after the release
of version 6.2. It was released on May 15, 2011. This special
back-to-back release was made so that the current released version
of NuttX will correspond to the initial release from the RGMP
project.
This release adds architecture support and build configuration for
RGMP. RGMP is a project for running GPOS and RTOS simultaneously
on multi-processor platforms. See
http://rgmp.sourceforge.net/wiki/index.php/Main_Page for further
information about RGMP.
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
Gregory Nutt
committed
---------
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 (<64K).
* 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
Gregory Nutt
committed
---------
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 corresponds with SVN release number: r3730
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
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: 64K of FLASH and 4K 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 128K
of FLASH and 8K of SRAM; a little more room to move than the
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
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-8K
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
Gregory Nutt
committed
---------
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
Gregory Nutt
committed
---------
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
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
Gregory Nutt
committed
---------
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
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.
Gregory Nutt
committed
---------
The 76th release of NuttX, Version 6.9, was made on September 11, 2011
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
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
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
Gregory Nutt
committed
----------
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 corresponds with SVN release number: r4028
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
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
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.
Gregory Nutt
committed
----------
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 corresponds with SVN release number: r4090
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.
See the change log for more detailed information.
NuttX-6.12
Gregory Nutt
committed
----------
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).
This release corresponds with SVN release number: r4141
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++
Gregory Nutt
committed
----------
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).
This release corresponds with SVN release number: r4231
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
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.
Gregory Nutt
committed
----------
The 81st release of NuttX, Version 6.14, was made on January 15, 2012,
and is available for download from the SourceForge website. Note
that release consists of two tarballs: nuttx-6.14.tar.gz and
apps-6.14.tar.gz. Both may be needed (see the top-level nuttx/README.txt
file for build information).
This release corresponds with SVN release number: r4301
New features in this release include:
* Drivers. The upper-half PWM driver will now support a pulse count (as
would be needed to control a stepper motor).
* STM32. The CAN driver has been verified in loopback mode. ADC driver
support for the STM32 F4. Add support for UART4-5 and USART6
(Contributed by Mike Smith). The PWM driver now supports a pulse
count for TIM1 and TIM8. Timer driver now supports the F4's 32-bit
timers (Contributed by Mikhail Bychek)
* STM32F4Discovery. Support for the STM32F4-Discovery board contributed
by Mike Smith.
* STM3240G-EVAL. Add support for user control of LEDs.
Gregory Nutt
committed
* LPC17xx. Add support for loopback mode to CAN driver. CAN TX done
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
perations are now interrupt driver. Now supports configurable CAN bit
rate.
* LPC1766-STK. Add support for on-board buttons. Add support for user
control of LEDs.
* LM3S. Add support for the LM3S6432S2E on the TI RDK-S2E (Contributed
by Mike Smith)
* PIC32MX. USB device-side driver (needs further testing). A partial
Ethernet driver is also in place.
* Library. Support added for fixed floating point fieldwidths in output
formatting (Contributed by Mikhail Bychek)
* Build. New targets apps_clean and apps_distclean to simplify working
with application diretories.
Bugfixes include:
* Drivers. Fixed a buffer-full test in the upper-half CAN driver.
* STM32. GPIO initialize logic (submitted by Mike Smith). Fix the
debug logic that dumps the GPIO configuration.
* LPC17xxx. Correct an integeter overlow in GPIO interrupt setup
(prevented pins > 15 from being used as interrupt sources). Correct
a value used in GPIO interrupt number range test.
* FAT. Now returns the correct error value when it is unable to
recognize the file system.
* Build. MAC OS build fixes (submitted by Mike Smith)
And several others. See the ChangeLog for more details.
Gregory Nutt
committed
----------
The 82nd release of NuttX, Version 6.15, was made on February 12, 2012,
and is available for download from the SourceForge website. Note
that release consists of two tarballs: nuttx-6.15.tar.gz and
apps-6.15.tar.gz. Both may be needed (see the top-level nuttx/README.txt
file for build information).
This release corresponds with SVN release number: r4387
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
New features and extended functionality:
* General Drivers: Add support for (29-bit) extended CAN IDs. Add an
infrastructure to support battery drivers. Add a driver for MAX17040x
battery "fuel gauge". Add support for Composite USB drivers (in
particular for a CDC/ACM with MSC USB composite driver).
Added a new RAM logging driver. This will allow debug output into
a RAM buffer associated with a character driver at /dev/syslog.
Added the new command 'dmesg' to NSH that can be used to dump the
current contents of the log. This is useful for systems that do not
have the usual serial console (for example, if you only have a
Telnet console with NSH).
* Networking: Add a lower level, primitive socket interface. Telnet
driver:
A New Telnet daemon was created. It wraps a Telnet session within a
character driver that can serve as a "controlling terminal." The
Telnet session will then be inherited by tasks created from the
Telnet session and the stdin/stdout from the created task will
still go through the same Telnet connection.
* STM32 Drivers. PWM driver pulse count was limited to 128; now is
(essentially) unlimited. Add support for (29-bit) extended CAN IDs.
Add support for I2C3. The SDIO driver is (mostly) verified on the
STM32 F4 platforms.
* LPC17xx Drivers. Extended the CAN driver so that the TSEG1 and TSEG2
bit times can be set via the NuttX configuration. Add support for
(29-bit) extended CAN IDs.
* PIC32 Drivers. The PIC32 Ethernet driver is code complete (but still
untested).
Gregory Nutt
committed
* FTPD. Add a new FTP server daemon. This is based loosely on
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
the hwport_ftpd library provided by Jaehyuk Cho.
* Library: Add support for on_exit(). Implemented tcsetattr() and
tcgetattr(). Moved the old, too-smart fgets() to a new application
library function called readline(). Dumbed down the original fgets().
Add strcasestr(), avsprintf(), inet_ntop(), and inet_pton().
Add support to enable or disable debug output.
* Build system: Support for building a 32-bit simulation executable on
a 64-bit Linux machine. Correct a dependency issue in the arch/*/src/board
directory.
Bugfixes:
* System: Correct PTHREAD_MUTEX_INITIALIZER
* FAT: Fix an error in the FAT statfs() reported by David Sidrane.
* STM32: Fix clock frequencies for APB2 timers. Correct AFIO register
offset.
* PIC32. Correct GPIOs used for LEDs on the Sure PIC32MX board.
* NSH. Wait for a USB connection if a USB serial class is used to
interface with the host.
Additional bugfixes, name changes, and other differences as detailed in the
ChangeLog.
Gregory Nutt
committed
----------
The 83rd release of NuttX, Version 6.16, was made on March 10, 2012,
and is available for download from the SourceForge website. Note
that release consists of two tarballs: nuttx-6.16.tar.gz and
apps-6.16.tar.gz. Both may be needed (see the top-level nuttx/README.txt
file for build information).
This release corresponds with SVN release number: r4475
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
New features and extended functionality:
* ARMv7M Support: Includes new, streamlined Cortex-M exception
handling provided by Mike Smith. Context switching support for the
Cortex-M4 FPU registers is now provided (in both "lazy" and "non-lazy"
modes)
* General Drivers: Added a generic "upper half" Quadrature Encoder driver.
The USB CDC/ACM serial driver can now be dynamically connnected or
disconnected from the host (programmatically or using NSH commands).
* STM32 Drivers: Added a "lower half" Quadrature Encoder driver.
Verified the STM32 F4 DMA driver; Added F4 DMA support to the existing
STM32 SDIO driver.
* STM32 Board Support. Added support for the STM32 F2 family and
for the STM3220G-EVAL board (contributed by Gary Teravskis).
Support is now included for C++ static constructors (verified using
the Atollic toolchain). Added support for the SRAM available on the
STM3240G-EVAL board.
* PIC32 Drivers. PIC32MX USB (device) driver is now functional.
The PIC32MX Ethernet driver not yet fully verified (and an
unverified SPI driver is also available).
* Networking. Added a lower-level, thread-independent socket layer.
Parts of this layer were created in 6.15 to support the FTPD
controlling terminal; this support has been extended in order
to support an NFS file system (not yet released).
* NuttShell (NSH). NSH will now support a USB serial connection for
the console (such as CDC/ACM). This is useful in environments
where there is no physical serial port on the board.
* Build System. Reorgnaization of networking header files.
Critical Bugfixes. The following bug fixes are considered critical:
* Networking: Fixed a "leak" in the TCP/IP read-ahead buffering logic.
Corrected an error in TCP/IP sequence numbering/ACK logic which
occurred when read-ahead buffering memory is exhausted.
* STM32 Drivers: Fixed an buffer sizing error in the STM32 Ethernet
driver.
Additional Bugfixes: Other important bug fixes are listed below. See
the ChangeLog of a complete, detailed list of bug fixes.
* Networking: Corrected recv()/recvfrom() return value. Added logic to
monitor for loss of connection after a new connection has been
established via accept() (Contributed by Max Nekludov). Add
logic to select() to correctly handle POLLHUP (Contributed by Max
Nekludov)
Additional bugfixes, name changes, and other differences as detailed in the
ChangeLog.
Gregory Nutt
committed
----------
The 84th release of NuttX, Version 6.17, was made on April 14, 2012,
and is available for download from the SourceForge website. Note
that release consists of two tarballs: nuttx-6.17.tar.gz and
apps-6.17.tar.gz. Both may be needed (see the top-level nuttx/README.txt
file for build information).
This release corresponds with SVN release number: r4607
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
New features and extended functionality:
* Networking: Additional low-level, thread-independent socket
interfaces (for NFS client support).
* RTC: Added a new interface call clock_synchronize(). This function
will reload the system time from an RTC and is required when the
system re-awakens from certain deep-sleep modes.
* Graphics: Add NxConsole. This is a character device driver that
wraps an NX window and can be re-directed for stdout. This allows,
for example, a pop-up graphics window that contains a NuttShell (NSH)
session. A test of NxConsole is available at apps/examples/nxconsole.
* Watchdog Drivers: Added an interface definition an "upper half"
driver to support watchdog timers.
* Calypso: Support for TI Calypso-based cellphones (as supported by
the Osmocom-BB project) was contributed by members of the Osmocom-BB
team. This includes configurations for the Compal e88 and e99 phones.
* USB Device Interface: Needed to extend the USB device interface
because there was no mechanism for passing endpoint OUT data that
may need to accompany a setup request.
* STM32 drivers: Added some power management controls for entering
reduced power consumption states. An OTG FS driver was completed
and partially verified (this driver seems to be functional but since
it has been test so lightly, it might better be listed in the
next section "Work in progress").
* PIC32 drivers: The PIC32 Ethernet driver is now stable. The PIC32
USB device controller driver is now functional (but not yet stable).
* PIC32 boards: Added support for the Sure DB-DP11212 PIC32 General
Purpose Demo Board. There is now a PIC32 Starter Kit that
provides NSH only through a Telnet connection.
* Build System: Some header files were moved into include/nuttx.
The goal is to move any non-standard header files to include/nuttx
or include/arch. Moved include/math.h to include/nuttx/math.h;
this file is now only instantiated as the 'system' math.h if
CONFIG_ARCH_MATH_H=y is defined.
* Tools: Added tools/cmpconfig.c, a tool for comparing two
configuration files.
Work in progress. This release includes some partially completed
work that is still not ready for prime time.
* NFS Client: Work is progressing on support for an NFS client
file system. This is a port of the BSD NFS client file system
that is being done by Jose Pablo Rojas V.
* Automated Configuration: Automated configuration based on the
kconfig-frontends tool is being incorporated into the build
system. The configuration is still not complete enough for
general use in this release.
* STM32 Drivers: Added files that will (eventually) hold an STM32
OTG FS host driver. This is still a work in progress.
Bugfixes:
* Networking: Corrected a deadlock that only occurred when
executing the NSH 'ifconfig' command over Telnet.
* File system: Fix incorrect return errno value from read() when
the file is opened write-only.
* Graphics: Fix several compilation errors that have crept into the
multi-user NX server because of lack of use.
* STM32: In order to use CAN2, both CAN1 and CAN2 clocking must be
enabled. Fixed a troublesome bug in the STM32 F4 I2C driver that
resulting in timeouts.
* LPC17xx: Fixes for errors the crept in the LPC17xx DAC logic
Contributed by Lzyy).
* Build System: Reordered the link command line to account for new
versions of libgcc.a that require symbols from the application
(abort()).
Gregory Nutt
committed
----------
The 85th release of NuttX, Version 6.18, was made on May 19, 2012,
and is available for download from the SourceForge website. Note
that release consists of two tarballs: nuttx-6.18.tar.gz and
apps-6.18.tar.gz. Both may be needed (see the top-level nuttx/README.txt
file for build information).
The majority of changes in this release are focused on supporting the
synchronized release of NxWM, the NuttX tiny window manager. That
window manager is released as part of the NxWidgets package, but depends
upon many of the changes in this NuttX release.
This release corresponds with SVN release number: r4751
New features and extended functionality:
* Drivers. Added a watchdog timer driver infrastructure. Add general
support for STMicro STMPE811 I/O Expander/touchscreen device.
* STM32. Add support for the STM32 IWDG and WWDG watchodog timers. DMA
now supports cicular buffer mode; serial driver now uses circular
DMA to improve Rx performance (Contributed by Mike Smith).
* STM3240G-EVAL Board. Add support for the LCD and for the STMPE811
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
I/O Expander as a touchscreen controller.
* PIC32 Boards. Board support for the Mikroelektronika PIC32MX7
Multimedia Board (MMB) and for the Sparkfun UBW32 PIC32 board.
* NX. Framed windows are now draw in three colors instead of just two.
Numerous other extensions needed to support NxWM (see the ChangeLog
for details).
* Library. Add prctl() command that can be used to setting and getting
the names of threads. This (plus several other improvements and bug
fixes) are part of a larger effort to improve task monitoring
capabilities.
Work in progress. This release includes some partially completed
work that is still not ready for prime time.
* NFS Client. Work is progressing on support for an NFS client
file system. This is a port of the BSD NFS client file system
that is being done by Jose Pablo Rojas V.
* Automated Configuration. Automated configuration based on the
kconfig-frontends tool is being incorporated into the build
system. The configuration is still not complete enough for
general use in this release.
* STM32 Drivers. Added files that will (eventually) hold an STM32
OTG FS host driver. This is still a work in progress.
Bugfixes (see the change log for details) :
* sched_setscheduler() return value (Contributed by Richard Cochran).
* stdio. Ignore CONFIG_STDIO_LINEBUFFER if the file was opened in binary mode.
* fopen(). Correct an error in parsing open mode string.
* serial driver. Improved performance be reducing the amount of time
that Rx interrupts are disabled.
* recvfrom(). Fix a compilation problem.
* CDC/ACM device driver. Fix an infinite loop that occurs when the serial
device is unregistered.
* STM32 OTG FS device driver. Numerous fixes and the driver is partially
functional but there are still some issues that become apparent when
debug output is disabled.
* fcntl(). Always returned zero on success; however, some fcntl commands
need to return non-zero values on success.
* graphics: Many multi-use mode fixes added to support NxWM (see the
ChangeLog for details). Auto-raise is temporarily disabled in multi-
user mode because it causes some problems with NxWM.
* on_exit(): Fix compilation errors if CONFIG_SCHED_ONEXIT is enabled.
Gregory Nutt
committed
----------
The 86th release of NuttX, Version 6.19, was made on June 15, 2012,
and is available for download from the SourceForge website. Note
that release consists of two tarballs: nuttx-6.19.tar.gz and
apps-6.19.tar.gz. Both may be needed (see the top-level nuttx/README.txt
file for build information).
This release corresponds with SVN release number: r4847
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
This release features new support for a Network File System (NFS) client.
This feature allows a tiny, embedded MCU to mount a remote file system
exported by an NFS server and then to access the file system as it would
any local file system. Then the tiny MCU can effectively have terabytes
of storage!
This might be useful for data collection, for MCU configuration information,
for software updates, for providing modular, loadable code modes, controlling
a "farm" of MCUs, ... there are many possibilities and opportunities for
innovation!
The NuttShell (NSH) now supports the following command:
nfsmount <server-address> <mount-point> <remote-path>
That command will mount the remote NFS server directory <remote-path> at
<mount-point> on the target machine. <server-address> is the IP address of
the remote server.
The NFS development was the graduation project of Jose Pablo Rojas V. who
is a student at the Instituto Tecnológico de Costa Rica (ITCR, or TEC).
A lot of effort went into understanding what a tiny, embedded NFS client should
do and getting the target resource usage to a bare minimum. Only around a
kilobyte or so of memory is required to run the NFS client (and most of that
for I/O buffers). Jose Pablo has spent several months living with NFS and
should be congratulated.
Additional new features and extended functionality:
* Drivers: SSD1289 LCD driver, MIO283QT2 LCD driver
* LM3S: Additional register definition header files (contributed by Max
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
Neklyudov).
* STM32 Boards: The STM32F4Discovery will now support an SSD1289 LCD,
The STM3220G-EVAL board support is now equivalent to the STM3240G-EVAL
board support.
* PIC32 Boards: The Mikroelektronika PIC32MX7 MMB board port is now
functional, very complete, and stable.
* Graphics: The NxConsole will now take keyboard input from the NX graphics
subsystem. This means that if there are multiple NxConsole windows, only
the top instance that has focus will receive the keyboard input.
* apps/: Add the capability to use an arbitrary USB device as the console
(not necessarily /dev/console). Additional enhancements for USB consoles.
Added the 'mv' command.
Work in progress. This release includes some partially completed
work that is still not ready for prime time.
* Automated Configuration. Automated configuration based on the
kconfig-frontends tool is being incorporated into the build
system. The configuration is still not complete enough for
general use in this release.
* STM32 Drivers. Added files that will (eventually) hold an STM32
OTG FS host driver. This is still a work in progress.
Bugfixes (see the change log for details) :
* General: sleep() and usleep() return values, sig_timedwait() errno setting
on timeout.
* Drivers: STMPE811 touchscreen driver, USB PLC2303, USB CDC/ACM
* STM32: Several USB device controller driver fixes, F4 interrupt priorities
(contributed by Mike Smith).
* Graphics: Keyboard input, fill trapezoid bug
As well as other, less critical bugs (see the ChangeLog for details)
Gregory Nutt
committed
----------
The 87th release of NuttX, Version 6.20, was made on July 12, 2012,
and is available for download from the SourceForge website. Note
that release consists of two tarballs: nuttx-6.20.tar.gz and
apps-6.20.tar.gz. Both may be needed (see the top-level nuttx/README.txt
file for build information).
This release corresponds with SVN release number: r4937
Additional new features and extended functionality:
* Power Management: An evolving power management example is being
Gregory Nutt
committed
created by Diego Sanchez. This effort currently involves on the
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
STM32 F1 but clearly demonstrates the NuttX power management
system which will automatically drive the system to lower power
usage states due to lack of use.
* Drivers: Added a driver for the SST 25 SPI-based FLASH parts.
* PIC32: Added support for the PIC32MX1 and PIC32MX2 families.
Added support for the microchipOpen and Pinguino toolchains.
* NXP LPC43XX: Added support for the entire LPC43xx family
* PIC32 boards: Added support for the DTX1-4000L "Mirtoo" module
from http://www.dimitech.com/ (PIC32MX2).
* NXP LPC43XX Boards: Added support for NGX LPC4330-Xplorer board.
* NXP LPC17XX Boards: Added support for Micromint Lincoln60 board
(LPC1769).
* LM3S Boards: Add a configuration to support the TI/Stellaris
EKK-LM3S3B96 development board. Contributed by Jose Pablo Rojas V.
* Library: NuttX now supports platform-specific stdarg.h header
files.
Work in progress. This release includes some partially completed
work that is still not ready for prime time.