diff options
Diffstat (limited to 'nuttx/Documentation/NuttX.html')
-rw-r--r-- | nuttx/Documentation/NuttX.html | 743 |
1 files changed, 261 insertions, 482 deletions
diff --git a/nuttx/Documentation/NuttX.html b/nuttx/Documentation/NuttX.html index be23be91d..af8133534 100644 --- a/nuttx/Documentation/NuttX.html +++ b/nuttx/Documentation/NuttX.html @@ -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: October 29, 2012</p> + <p>Last Updated: November 5, 2012</p> </td> </tr> </table> @@ -537,14 +537,14 @@ <tr> <td valign="top" width="22"><img height="20" width="20" src="favicon.ico"></td> <td bgcolor="#5eaee1"> - <b>C Library</b> + <b>C/C++ Libraries</b> </td> </tr> <tr> <td><br></td> <td> <p> - <li>Fully integrated into the OS.</li> + <li>Standard C Library Fully integrated into the OS.</li> </p> </td> </tr> @@ -552,7 +552,7 @@ <td><br></td> <td> <p> - <li>Includes floating point math library.</li> + <li>Includes floating point support via a Standard Math Library.</li> </p> </td> </tr> @@ -560,7 +560,7 @@ <td><br></td> <td> <p> - <li>Add-on <a href="http://cxx.uclibc.org/">uClibc++</a> C++ Library is available (LGPL).</li> + <li>Add-on <a href="http://cxx.uclibc.org/">uClibc++</a> module provides Standard C++ Library(LGPL).</li> </p> </td> </tr> @@ -1039,121 +1039,115 @@ </tr> </table> -<h2>NuttX-6.22 Release Notes</h2> +<h2>NuttX-6.23 Release Notes</h2> <p> - The 89<sup>th</sup> release of NuttX, Version 6.22, was made on September 29, 2012, and is available for download from the + The 90<sup>th</sup> release of NuttX, Version 6.23, was made on November 5, 2012, 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-6.22.tar.gz</code> and <code>apps-6.22.tar.gz</code>. + Note that the release consists of two tarballs: <code>nuttx-6.23.tar.gz</code> and <code>apps-6.23.tar.gz</code>. Both may be needed (see the top-level <code>nuttx/README.txt</code> file for build information) The change log associated with the release is available <a href="#currentrelease">here</a>. Unreleased changes after this release are available in SVN. These unreleased changes are also listed <a href="#pendingchanges">here</a>. </p> <p> - This release corresponds with SVN release number: r5206, + This release corresponds with SVN release number: r5313, Note that all SVN information has been stripped from the tarballs. If you need the SVN configuration, you should check out directly from SVN. - Revision r5206 should equivalent to release 6.22 of NuttX 6.22: + Revision r5313 should equivalent to release 6.23 of NuttX: </p> <ul><pre> -svn checkout -r5206 svn://svn.code.sf.net/p/nuttx/code/trunk nuttx-code +svn checkout -r5313 svn://svn.code.sf.net/p/nuttx/code/trunk nuttx-code </pre></ul> <p>Or</p> <ul><pre> -svn checkout -r5206 http://svn.code.sf.net/p/nuttx/code/trunk nuttx-code +svn checkout -r5313 http://svn.code.sf.net/p/nuttx/code/trunk nuttx-code </pre></ul> <p> <b>Additional new features and extended functionality</b> </p> + <ul> <li> <p> <b>RTOS</b>: - Application entry point is no longer user_start, but can be configured using <code>CONFIG_USER_ENTRYPOINT</code>. - NuttX now supports two work queues: A lower priority work queue (for extended processing) and a higher priority work queue (for quick, high priority operations). + If both <code>atexit()</code> and <code>on_exit()</code> are enabled, use <code>on_exit()</code> to implement <code>atexit()</code>. + Updates for RGMP 4.0. </p> </li> <li> <p> - <b>Memory Management</b>: - Added a new granule-based allocated that can be used to manage, aligned and quantized DMA memory. + <b>Binfmt</b>: + Add support for loading and executing ELF binary modules from a file system. </p> </li> <li> <p> - <b>File System</b>: - Add hooks to allocate I/O memory with and external allocated (need if required by DMA). + <b>Drivers</b>: + Maxim MAX11802 touchscreen controller (Petteri Aimonen) </p> </li> <li> <p> - <b>Networking</b>: - ENC28J60 driver is (finally) verified. + <b>STM32 Driver</b>: + Implementation of <code>/dev/random</code> using the STM32 Random Number Generator (RNG). </p> </li> <li> <p> - <b>Drivers</b>: - Add hooks USB device drivers to allocate I/O memory with and external allocated (need if required by DMA). - Driver for the Windbond SPI FLASH family (W25x16, W25x32, W25x64, and others). - ADS7843E driver extended for TSC2046 and XPT2046 and verified. + <b>STM32 Boards</b>: + ADC support for the Shenzhou IV board. + Relay support for the Shenzhou IV board (both by Darcy Gong). </p> </li> <li> <p> - <b>ARMv7-M</b>: - Added logic to reset the MCU using the NVIC. + <b>C++ Standard Library</b>: + Support is now included for the add-on uClibc++ C++ standard library support. + This includes support for iostreams, strings, STL, RTTI, exceptions -- the complete C++ environment. + uClibc++ is provided as a separate add-on package due to licensing issues. + Contributed by Qiang Yu and David of the RGMP team. </p> - </li> - <li> <p> - <b>STM32</b>: - Add support for STM32F103VET6. + Add support for <code>__cxa_atexit()</code>. </p> </li> <li> <p> - <b>STM32 Drivers</b>: - Add logic to re-initialize UARTs a second time to enable DMA (Mike Smith). - I2C driver error recovery (Mike Smith). - </p> - </li> - <li> + <b>C Standard Library</b>: <p> - <b>STM32 boards</b>: - Support for USB host added add to several configurations (or at least explained in README files). - Support for the Shenzhou STM32F107 board (see www.armjishu.com). - Support for M3 Wildfire STM32F103 board (v2 and v3). + Optimized generic and ARM-specific <code>memcpy()</code> function. + Optimized <code>memset()</code> function. </p> - </li> - <li> <p> - <b>Build System:</b>: - Kconfig string de-quoting logic. - Remove comments from <code>defconfig</code> files (Kate). - Add tool to create NuttX-style symbol tables. - Numerous changes to configuration logic as needed for the new <code>mconf</code>-based configuration (much of this from Richard Cochran). - Refactor common <code>Make.defs</code> logic into <code>tools/Config.mk</code> (Richard Cochran). + Add support for <code>ferror())</code>, <code>feof())</code>, and <code>clearerror())</code>. </p> </li> <li> <p> - <b>Library</b>: - Configurable terse output from <code>strerror()</code>. - Added <code>perror()</code> (Kate). - Add <code>%n</code> format to <code>sscanf()</code> (Kate). + <b>Standard Math Library</b>: + <p> + Port of the math library from Rhombus OS by Nick Johnson (Darcy Gong). </p> </li> <li> <p> <b>Applications</b>: - Numerous changes and extensions to the old uIP web server (from Kate and Max Holtzberg, see the ChangeLog for specific extensions). - UDP network discovery utility (Max Holtzberg). - Embeddable Lightweight XML-RPC Server (http://www.drdobbs.com/web-development/an-embeddable-lightweight-xml-rpc-server/184405364, Max Holtzberg). + New NSH commands: <code>ifup</code>, <code>ifdown</code>, <code>urlencode</code>, <code>urldecode</code>, <code>base64enc</code>, <code>bas64dec</code>, and <code>md5</code> (Darcy Gong). + Extensions to the <code>ifconfig</code> command (Darcy Gong), + Add support for NSH telnet login (Darcy Gong). + Enancements to NSH ping command to support pinging hosts with very long round-trip times. + </p> + <p> + Many extensions to the <code>webclient</code>/<code>wget</code> and DNS resolver logic from Darcy Gong. + SON, Base64, URL encoding, and MD5 libraries contributed by Darcy Gong. + </p> + <p> + New examples: ELF loader, JSON, wgetjson, cxxtest, relays. </p> </li> </ul> + <p> <b>Bugfixes</b> (see the change log for details) Some of these are very important (marked <b><i>critical</i></b>): @@ -1161,78 +1155,27 @@ svn checkout -r5206 http://svn.code.sf.net/p/nuttx/code/trunk nuttx-code <ul> <li> <p> - <b>RTOS</b>: - Fixes to priority inheritance logic (<b><i>critical</i></b>). - <code>waitpid()</code> critical section. - Assertion in <code>work_cancel()</code> (Mike Smith). - <code>mmap()</code> (Kate). - </p> - </li> - <li> - <p> - <b>FAT File System</b>: - Improper Boolean expression caused un-necessary writes and performance issues (<b><i>critical</i></b>, Ronen Vainish). - </p> - </li> - <li> - <p> - <b>Networking</b>: - Remove an un-necessary delay from <code>recvfrom()</code>. - This greatly improves network performance (<b><i>critical</i></b>, Max Holtzberg). - </p> - </li> - <li> - <p> - <b>Graphics</b>: - NX parameter checking errors. - </p> - </li> - <li> - <p> <b>Drivers</b>: - Fix double release of memory in SDIO-based, MMC/SD driver (Ronen Vainish). - </p> - </li> - <li> - <p> - <b>LPC17xx</b>: - Ethernet driver fixes needed for certain PHYs (Kate). - </p> - </li> - <li> - <p> - <b>AVR</b>: - Fix build error (Richard Cochran). - </p> - </li> - <li> - <p> - <b>STM32</b>: - USB OTG FS host driver NAKing an retries. - Power management compilation errors (Diego Sanchez). - Missing SPI3 remap logic. + W25 SPI FLASH </p> </li> <li> <p> <b>STM32 Drivers</b>: - Fix for Ethernet errata for STM32F107 (<b><i>critical</i></b>). - Ethernet buffer alignment check. - Add "kludge" to Ethernet driver to handle DM9161 PHY which (at least on the Shenzhou board), sometimes does not come up correctly. + ADC reset </p> </li> <li> <p> - <b>Applications</b>: - THTTPD (Kate). - NSH <code>ping</code> when IP address is on a different network (Darcy Gong). + <b>Fraphics</b>: + Missing implementation of the blocked method (*critical*, Petteri Aimonen). </p> </li> <li> <p> - <b>Library</b>: - <code>fread()</code>, <code>fflush()</code>, <code>fdopen()</code>: Fix error handling logic (Ronen Vainish). - Fix some field-width handling issues in <code>sscanf()</code> + <b>C Library</b>: + Floating point numbers in <code>printf</code> and related formatting functions (Mike Smith), + <code>cf[get|set]speed()</code> (Mike Smith) </p> </li> </ul> @@ -3238,351 +3181,179 @@ Other memory: </table> <ul><pre> -nuttx-6.22 2012-09-29 Gregory Nutt <gnutt@nuttx.org> - - * include/semaphore.h, sched/sem_holders.c, and lib/semaphore/sem_init.c: - Fix some strange (and probably wrong) list handling when - CONFIG_PRIORITY_INHERITANCE and CONFIG_SEM_PREALLOCHOLDERS are defined. - This list handling was probably causing errors reported by Mike Smith - * sched/sched_waitpid.c: Fix a possible issue with logic logic that - should be brought into a critical section (suggested by Mike Smith) - * sched/sched_setuptaskfiles.c: Should be 'struct socket' not - 'struct sockets'. How did this compile before? (found by Kate) - * syscall/syscall.csv: Fix prototype for usleep() and prctl() (also - from Kate). - * arch/arm/src/lpc17xx/lpc17_ethernet.c: Conditionally elide setting PHY - speed/duplex. This does not work for certain PHYs. Still some unresolved - issues (also from Kate). - * tools/Config.mk, Makefile, configs/*/Make.defs: Add a new Makefile - fragment to de-quote certain strings from the Kconfig logic that - need to be used at path segments (Richard Cochran). - * arch/arm/src/stm32/stm32_usbotghost.c: The STM32 USB host driver only - works with debug turned on. The problem appears to be that with debug - OFF, there are more NAKs occuring in more places than before and this - reveals a variety of errors. This check in improves NAK robustness - for control transfers but does not resolve all of the issues. - * configs/stm3220g-eval/*/defconfig: Calibrated delay loop. It had - never been calibrated was way off. - * sched/sem_holder.c: Add logic to handler some priority inheritance - cases when sem_post() is called from an interrupt handler. The - logic is clearly wrong, but it is not known if this is the - cause of any known bugs. - * lib/stdio/lib_perror(): Add perror(). Contributed by Kate. - * lib/string/lib_strerror(): Add option CONFIG_LIBC_STRERROR that - is now required to enabled strerror(). Add an option - CONFIG_LIBC_STRERROR_SHORT that can be used to output shortened - strings by strerror(). - * arch/arm/src/stm32/stm32_usbotghost.c: Finally... the USB OTG FS - appears to handle NAKing correctly. - * configs/stm32f4discovery/*: Added and verifed support for USB OTG FS - host on the STM32F4Discovery board. - * configs/*/defconfig: Remove configuration documentation from config - files. It is redundant, error-prone, and difficult to maintain. - Configuration documentation is available in configs/README.txt for - common configurations and in configs/*/README.txt for board and MCU- - specific configurations. - * configs/stm3240g-eval: Add USB host support. - * sched/os_bring.c, configs/*/defconfig, tools/mkconfig.c, and others: Added - configuration variable CONFIG_USER_ENTRYPOINT that may be used to change - the default entry from user_start to some other symbol. Contributed by - Kate. NOTE: This change does introduce a minor backward incompatibility. - For example, if your application uses NSH as its start-up program, then your - build will now fail because it will be unable to find "user_start". The fix - for this link failure is to add the following to your configuration file: - CONFIG_USER_ENTRYPOINT="nsh_main". - * libs/stdio/lib_libfread.c and lib_*flush*.c: Correct a couple of - error cases where the lib semaphore was not be released on error - exits (thanks Ronen Vainish). Also, improved some error reporting: - the generic ERROR was being used instead of the specific errno - value; the errno variable was not always set correctly. - * tools/mkfsdata.pl: The uIP web server CGI image making perl script was - moved from apps/netutils/webserver/makefsdata to nuttx/tools/mkfsdata.pl - (Part of a larger change submitted by Max Holtzberg). - * configs/stm3240g-eval/script/ld.script: All of the identical ld.script - files for the STM3240G-EVAL were replaced by one version in this directory. - * configs/stm3240g-eval/webserver: Configuration submitted by Max Holtzberg - for testing the changes to the uIP web server (see apps/ChangeLog.txt). - * lib/stdio/lib_perror.c: Remove CONFIG_LIBC_PERROR_DEVNAME. What was I - thinking? Arbitrary streams cannot be shared by different tasks. - * tools/mksyscall.c, csvparser.c, and csvparser.h: Separate CSV parsing - logic from mksyscall.c into files where it can be shared. - * tools/mksymtab.c: Add a tool that can be used to convert a CSV file - into a NuttX-style symbol table. - * sched/work_cancel.c: Fix a bad assertion (reported by Mike Smith) - * configs/stm3210e-eval/src/up_idle.c: Correct some power management - compilation errors (reported by Diego Sanchez). - * include/nuttx/wqueue.h, sched/work*, and others: Added logic to support - a second, lower priority work queue (CONFIG_SCHED_LPWORK). - * arch/arm/src/stm32/stm32_dma.c, chip/stm32*_memorymap.h: FSMC SRAM is - only 16-bits wide and the SDIO DMA must be set up differently. - * arch/arm/src/stm32/stm32_dma.c: Back out the 16-bit DMA change. It - is incorrect. - * configs/: Make use of UART4/5 vs USART4/5 consistent in all places. - * Kconfig: Serial 2STOP setting must be integer 0/1, not a boolean. - * lib/misc/sendfile.c and include/sys/sendfile.h: Add a Linux style - sendfile() (non-standard!) - * Kconfig: Refactor serial settings (moved from chip to drivers/serial). - AVR "teensy" now builds with Kconfig (contributed by Richard Cochran). - * Kconfig: Add configuration settings for the LPC17xx - * Kconfig: Add configuration settings for the LM3S (from Richard Cochran). - * Kconfig: Verify configuration settings for the STM32. This includes - changes in the way that the external SRAM is configured: Define - CONFIG_HEAP2_SIZE (decimal) instead of CONFIG_HEAP2_END (hex). - * tools/configure.sh: Don't append the apps directory path setting - if the correct setting is already in defined in the defconfig file. - * fs/fat/fs_utils.c: Improperly constructed bool expression. This - would cause many unnecessary writes to FLASH (Thanks Ronen Vainish). - * Kconfig: Verify configuration settings for the LPC43xx. This includes - some corrections to configuration variable names and defconfig settings. - * Kconfig: Add and verify configuration settings for the LPC31xx. - * arch/arm/src/stm32/stm32_uart.h and stm32_serial.c: Add logic to - re-initialize the console UART as needed to enable DMA on the - console UART (contributed by Mike Smith). - * net/recvfrom.c, net/Kconfig, include/nuttx/net/uipopt.h: Remove delay - after receiving data. That has historical reasons to be there (it - was needed before read-ahead buffering was added), but kills performance. - (Noted by Max Holtzberg). - * configs/shenzhou: Add beginnings of a board configuration for the - Shenzhou STM32107 board (see www.armjishu.com). Very little is in - place as of this initial check-in. - * QEMU: Fixes from Richard Cochran to build QEMU with Kconfig files. - * arch/*/src/Makefile: Remove some old logic that was kicked off - when CONFIG_BOOT_RUNFROMFLASH=y. The old logic used to use - objcopy to move sections. Newer logic changes the load position - of sections in the the linker script. As far as I can tell, there - is nothing in the source tree now that depends on the old way of - doing things (if I am wrong, they will need a change to the linker - script). - * configs/fire-stm32v2: Configuration for the M3 Wildfire board. I - don't know very much about this board other than is has an - STM32F103VET6 chip, LCD, touchscreen, and ENC28J60 network. Very - little is in place on the initial check-in. - * configs/shenzhou: Coding for the Shenzhou board port is complete, - but tested has been deferred until I get the right tools. - * arch/arc/include/stm32/chip.h and arch/arm/src/stm32/chip.h: - Add support for the STM32F103VET6. - * fs/fs_fdopen.c: Bad check for failure to allocate memory. (Noted - by Ronen Vainish). - * drivers/mmcsd/mmcsd_sdio.c: If the MMC/SD driver were ever - uninitialized then there would be a double release of memory - (Noted by Ronen Vainish). - * fs/mmap/fs_rammap.c: Fix logic error and errno check (contributed - by Kate). - * arch/avr/src: Fixes from AVR32 build errors that have crept in - over the time; incorporated Kconfig for AVR3 (Richard Cochran). - * fs/fat and include/nuttx/fs/fat.h: The FAT file system allocates - memory for sector I/O buffers used to exchange data with the - configured block driver. In some contexts, the block driver may - require DMA-capable memory. If CONFIG_FAT_DMAMEMORY is defined, - then the FAT FS will use platform-provided DMA memory allocators - to allocate the block driver I/O buffers. - * CONFIG_NET_ENC28J60 renamed CONFIG_ENC28J60 to be consistent - in all places. - * drivers/enc28j60.c, include/nuttx/net/enc28j60.h, and - olimex-strp711/src/up_enc28j60.c: No longer passes IRQ number - as a parameter. Instead now passes a call table to manage - ENC28J60 GPIO interrupts. That is because GPIO interrupts are - handled in different ways by different MCUs and some do not - support IRQ numbers for GPIO interrupts. - * mm/mm_gran* and include/nuttx/gran.h: Add a simple granule- - based allocator. The intent of this allocator is to support - simple allocation of DMA I/O buffers. The initial check-in - is code complete but untested (not event built into the - mm/Makefile yet. - * confgs/fire-stm32v2: The board port is basically functional. - Not all features have been verified. The ENC28J60 network - is not yet functional. - * configs/stm3240g-eval/discover: A configuration for testing - the UDP discovery utility. Contributed by Max Holtzberg. - * mm/README.txt: Add a new README file. - * include/nuttx/usb/usb.h, arch/*/src/*usb.c, and arch/*/src/*otg*.c: - Add hooks to to use common, external DMA buffer allocation - implementation. - * net/recvfrom.c: Don't block in recvfrom if (1) read-ahead buffering - is enabled and (2) some data was obtained from read-ahead buffers. - Blocking is a bad idea in that case because there is no timeout! - (submitted by Max Holtzberg). - * configs/stm3240g-eval/xmlrpc: An example configuration for the - Embeddable Lightweight XML-RPC Server at apps/examples/xmlrpc. - See http://www.drdobbs.com/web-development/\ - an-embeddable-lightweight-xml-rpc-server/184405364 for more info. - Contributed by Max Holtzberg. - * configs/*/nxwm/defconfig and sched/task_exithook.c: Fixes for - bugs that crept in during recent changes. (Submitted by Max - Holtzberg). - * arch/arm/include/armv7-m/irq.h: Fix a critical bug in irqsave(). - It looks like sometimes the compile will re-order some instructions - inapproapriately. This end result is that interrupts will get - stuck off. - * drivers/mtd/w25.c: Beginning of a driver for the Windbond SPI - FLASH family (W25x16, W25x32, and W25x64). The initial check-in - is basically just the SST25 driver with some name changes. - * arch/arm/include/armv7-m/irq.h and arch/arm/src/stm32/stm32_spi.c: - Back out the last change in irq.h. It is (most likely) fine the - way it was. The really interrupt related problem was in stm32_spi.c: - When SPI3 is not enabled, then the irqrestore() falls in the - else clause. - * include/nuttx/compiler.h and other files: Moved always_inline - and noinline __attributes__ here. Also replaced all occurrences - of explicit __atributes__ in other files with definitions from - this header file. - * drivers/mtd/w25.c: The Windbond SPI FLASH W25 FLASH driver is - code complete (but still untested). - * arch/arm/src/stm32/stm32_i2c.c: I2C improvements from Mike Smith. - Unified configuration logic; dynamic timeout calculations; - I2C reset logic to recover from locked devices on the bus. - * configs/*/*/Make.defs, tools/Config.mk, Makefile: Refactor all - common make definitions from the various Make.defs files into - the common tools/Config.mk. Add support for a verbosity options: - Specify V=1 on the make command line in order to see the exact - commands used in the build (Contributed by Richard Cochran). - * drivers/net/enc28j60.c: The ENC28J60 Ethernet driver is - now functional. - * configs/fire-stm32v2: Add support or the fire-stm32v3 board as - well (untested because I do not have a v3 board). - * lib/stdio/lib_sscanf.c: Add %n psuedo-format (from Kate). - * lib/stdio/lib_sscanf.c: There is an issue of handling input - when (1) no fieldwidth is provided and (2) there is no space - seperating the input values. No solutions is in place for this - case now (either space or a fieldwidth must be provided). But - at least some of the bad logic that attempted to handle this - case has been removed (noted by Kate). - * arch/arm/src/stm32/stm32_eth.c: DMA buffer sizes must be an - even multiple of 4, 8, or 16 bytes. - * arch/arm/src/stm32/stm32_idle.c: Fixes STM32F107 DMA issues: - We cannot go into sleep mode while Ethernet is actively DMAing. - * configs/shenzhou/src/up_ssd1289.c: Add infrastructure to support - SSD1289 LCD. Initial checkin is just a clone of the - STM32F4Discovery's FSMC-based LCD interface. The Shenzhou - will need a completely need bit-banging interface; this - initial check-in is only for the framework. - * configs/shenzhou/src/up_ssd1289.c: Bit-banging driver is - code complete. - * configs/shenzhou/src/up_lcd.c: Oops. Shenzhou LCD does not - have an SSD1289 controller. Its an ILI93xx. Ported the - STM3240G-EVAL ILI93xx driver to work on the Shenzhou board. - * configs/shenzhou/nxwm: Added an NxWM configuration for the - Shenzhou board. This is untested on initial check-in. It will - be used to verify the Shenzhou LCD driver (and eventually the - touchscreen driver). - * configs/shenzhou/src/up_touchscreen.c: Add ADS7843E touchscreen - support for the Shenzhou board. The initial check-in is untested - and basically a clone of the the touchscreen support for the SAM-3U. - * tools/cfgparser.c: There are some NxWidget configuration - settings that must be de-quoted. - * arch/arm/src/stm32/Kconfig: There is no SPI4. Some platforms - support SPI3 and some do not (still not clear). - * nuttx/configs/shenzhou: Various fixes to build new NxWM - configuration. - * configs/shenzhou: Oops. The Shenzhou LCD is and SSD1289, - not an ILI93xx. - * configs/shenzhou/src/up_ssd1289.c: The LCD is basically functional - on the Shenzhou board. - * graphics/nxmu: Correct some bad parameter checking that caused - failures when DEBUG was enabled. - * arch/arm/src/armv7-m/nvic.h: Add bit definitions for the AIRCR - register. - * drivers/input/ads7843.c: Need semaphore protection in logic - that samples the position. - * drivers/lcd/ssd1289.c: On some platforms we are unable to - read the device ID -- reason unknown; workaround in place. - * drivers/input/ads7843.c: Add thresholding options and an - option to swap X and Y positions. Fix some logic errors in - the SPI locking/selecting logic. - * arch/arm/src/armv7-m/up_systemreset.c: Add logic to reset - the Cortex-Mx using the AIRCR register. Contributed by Darcy - Gong. - * arch/arm/src/stm32/up_eth.c: Add logic specifically for the - DM9161 PHY. If the DM9161 failed to initialize, then use the - up_sysemreset() logic to reset the MCU. Contributed by Darcy - Gong. - * arch/arm/src/stm32/stm32_gpio.c: Add missing logic to set bit - for SPI3 remap. This fixes the XPT2046 touchscreen driver using - drivers/input/ads7843.c - * configs/shenzhou/src/up_ssd1289.c: Fix naming error in - conditional compilation. - * configs/shenzhou/nxwm/defconfig: Disable reading from the LCD. - This does not work. The hardware and the driver support the - capability, but there is some bug that causes memory corruption. - The work around for now: Just disable reading from the LCD. - * drivers/lcd/ssd1289.c: Add some logic to reduce the amount of - output when CONFIG_DEBUG_LCD is enabled. - * configs/shenzhou/nxwm/defconfig: Bug found and fixed... The - original configuration had too much stuff turned on. Reducing - stack sizes, some features, and buffer sizes made the - configuration reliable (Reading from the LCD is still disabled). - * net/uip/uip_icmpping.c: Fix problem that prevented ping from - going outside of local network. Submitted by Darcy Gong - -apps-6.22 2012-09-29 Gregory Nutt <gnutt@nuttx.org> - - * apps/netutils/thttpd/thttpd_cgi.c: Missing NULL in argv[] - list (contributed by Kate). - * apps/nshlib/nsh_parse.c: CONFIG_NSH_DISABLE_WGET not CONFIG_NSH_DISABLE_GET - in one location (found by Kate). - * apps/examples/ostest/prioinherit.c: Limit the number of test - threads to no more than 3 of each priority. Bad things happen - when the existing logic tried to created several hundred test - treads! - * apps/nshlib/nsh.h: Both CONFIG_LIBC_STRERROR and CONFIG_NSH_STRERROR - must be defined to use strerror() with NSH. - * apps/examples/*/*_main.c, system/i2c/i2c_main.c, and others: Added - configuration variable CONFIG_USER_ENTRYPOINT that may be used to change - the default entry from user_start to some other symbol. Contributed by - Kate. - * apps/netutils/webserver/httpd/c: Fix a typo that as introduced in - version r4402: 'lese' instead of 'else' (Noted by Max Holtzberg). - * tools/mkfsdata.pl: The uIP web server CGI image making perl script was - moved from apps/netutils/webserver/makefsdata to nuttx/tools/mkfsdata.pl - (Part of a larger change submitted by Max Holtzberg). - * apps/netutils/webserver, apps/examples/uip, and apps/include/netutils/httpd.h: - The "canned" version of the uIP web servers content that was at - netutils/webserver/httpd_fsdata.c has been replaced with a dynamically - built configuration located at apps/examples/uip (Contributed by - Max Holtzberg). - * apps/netutils/webserver: Several inenhancements from Kate including the - ability to elide scripting and SERVER headers and the ability to map - files into memory before transferring them. - * apps/netutils/webserver: Add ability to map a URL to CGI function. - Contributed by Kate. - * apps/nshlib/nsh_mntcmds.c: The changes of 6.21 introduced holes in the - error handling: Now the number of arguments to mount can be 0 or 4. - Additional parameter checking is required to prevent mysterious errors - (submiteed by Kate). - * apps/netutils/webserver/httpd_mmap.c: Fix errors when the mmap() - length is zero (submitted by Kate). - * apps/netutils/webserver/httpd_sendfile.c: Add and option, - CONFIG_NETUTILS_HTTPD_SENDFILE to transfer files using the NuttX - sendfile() interface. - * apps/netutils/discover: A UDP network discovery utility contributed - by Max Holtzberg. - * apps/examples/discover: A test example for the UDP network discovery - utility (also contribed by Max Holtzberg). - * apps/examples/*/main.c: Too many files called main.c. Each renamed - to something unique so that they will not collide in the archive. - * apps/netutils/xmlrpc: The Embeddable Lightweight XML-RPC Server - discussed at http://www.drdobbs.com/web-development/\ - an-embeddable-lightweight-xml-rpc-server/184405364. Contributed by - Max Holtzberg. - * apps/netutils/uip_listenon.c: Logic in uip_server.c that creates - the listening socket was moved to this new file to support re-use. - Contributed by Kate. - * apps/netutils/webserver/httpd.c: The option CONFIG_NETUTILS_HTTPD_SINGLECONNECT - can now be used to limit the server to a single thread. Option - CONFIG_NETUTILS_HTTPD_TIMEOUT can be used to generate HTTP 408 errors. - Both from Kate. - * apps/netutils/webserver/httpd.c: Improvements to HTTP parser from - Kate. - * apps/netutils/webserver/httpd.c: Add support for Keep-alive connections - (from Kate). - * apps/NxWidget/Kconfig: This is a kludge. I created this NxWidgets - directory that ONLY contains Kconfig. NxWidgets does not live in - either the nuttx/ or the apps/ source trees. This kludge makes it - possible to configure NxWidgets/NxWM without too much trouble (with - the tradeoff being a kind ugly structure and some maintenance issues). - * apps/examples/Make.defs: Missing support for apps/examples/watchdog. - * apps/NxWidgets/Kconfig: Add option to turn on the memory monitor - feature of the NxWidgets/NxWM unit tests. +nuttx-6.23 2012-11-05 Gregory Nutt <gnutt@nuttx.org> + + * arch/arm/src/stm32/stm32_rng.c, chip/stm32_rng.h, and other files: + Implementation of /dev/random using the STM32 Random Number + Generator (RNG). + * board.h file for shenzhou, fire-stm32v2, and olimex-stm32-p107: + Add frequencies for HSE, HSI, LSE, and LSI. These are needed + by the STM32 watchdog driver. + * CONFIG_EXAMPLES_*: To make things consistent, changed all occurrences + of CONFIG_EXAMPLE_* to CONFIG_EXAMPLES_*. + * drivers/mtd/w25.c and configs/*/src/up_w25.c: Several fixes for the + W25 SPI FLASH. + * configs/*/Make.defs: All buildroot tools now use the extension + xxx-nuttx-elf- vs. xxx-elf- + * configs/shenzhou/*/Make.defs: Now uses the new buildroot 4.6.3 + EABI toolchain. + * lib/stdio/lib_libdtoa.c: Another dtoa() fix from Mike Smith. + * configs/shenzhou/src/up_adc.c: Add ADC support for the Shenzhou + board (Darcy Gong). + * configs/shenzhou/thttpd: Add a THTTPD configuration for the + Shenzhou board (Darcy Gong). + * include/termios.h and lib/termios/libcf*speed.c: The non-standard, + "hidden" c_speed cannot be type const or else static instantiations + of termios will be required to initialize it (Mike Smith). + * drivers/input/max11802.c/h, and include/nuttx/input max11802.h: Adds + support for the Maxim MAX11802 touchscreen controller (contributed by + Petteri Aimonen). + * graphics/nxtk/nxtk_events.c: Missing implementatin of the blocked + method. This is a critical bugfix for graphics support (contributed + by Petteri Aimonen). + * drivers/usbdev/pl2303.c, drivers/usbdev/usbmsc.h, and + include/nuttx/usb/cdcacm.h: USB_CONFIG_ATTR_SELFPOWER vs. + USB_CONFIG_ATT_SELFPOWER (contributed by Petteri Aimonen). + * arch/arm/src/armv7-m/up_memcpy.S: An optimized memcpy() function for + the ARMv7-M family contributed by Mike Smith. + * lib/strings/lib_vikmemcpy.c: As an option, the larger but faster + implemementation of memcpy from Daniel Vik is now available (this is + from http://www.danielvik.com/2010/02/fast-memcpy-in-c.html). + * lib/strings/lib_memset.c: CONFIG_MEMSET_OPTSPEED will select a + version of memset() optimized for speed. By default, memset() is + optimized for size. + * lib/strings/lib_memset.c: CONFIG_MEMSET_64BIT will perform 64-bit + aligned memset() operations. + * arch/arm/src/stm32/stm32_adc.c: Need to put the ADC back into the + initial reset in the open/setup logic. Opening the ADC driver works + the first time, but not the second because the device is left in a + powered down state on the last close. + * configs/olimex-lpc1766stck/scripts: Replace all of the identical + ld.script files with the common one in this directory. + * configs/stm3220g-eval/scripts: Replace all of the identical + ld.script files with the common one in this directory. + * configs/hymini-stm32v/scripts: Replace all of the identical + ld.script files with the common one in this directory. + * configs/lpcxpresso-lpc1768/scripts: Replace all of the identical + ld.script files with the common one in this directory. + * binfmt/elf.c, binfmt/libelf, include/elf.h, include/nuttx/elf.h: Add + basic framework for loadable ELF module support. The initial check- + in is non-functional and is simply the framework for ELF support. + * include/nuttx/binfmt.h, nxflat.h, elf.h, and symtab.h: Moved to + include/nuttx/binfmt/. + * arch/sim/src/up_elf.c and arch/x86/src/common/up_elf.c: Add + for ELF modules. + * arch/arm/include/elf.h: Added ARM ELF header file. + * include/elf32.h: Renamed elf.h to elf32.h. + * configs/stm32f4discovery/ostest: Converted to use the new + Kconfig-based configuration system. + * configs/stm32f4discovery/elf and configs/stm32f4discovery/scripts/gnu-elf.ld + Add a configuration for testing the ARM ELF loader. + * binfmt/libelf: Can't use fstat(). NuttX does not yet support it. Damn! + * binfmt/libelf: The basic ELF module execution appears fully functional. + * configs/shenzhou/src/up_relays.c: Add support for relays from the + Shenzhou board. Contributed by Darcy Gong. + * lib/fixedmath: Moved the old lib/math to lib/fixedmath to make room for + the math library from the Rhombus OS + * lib/math: Now contains the math library from the Rhombus OS by Nick Johnson + (submitted by Darcy Gong). + * include/float.h: Add a first cut at the float.h header file. This + really should be an architecture/toolchain-specific header file. It + is only used if CONFIG_ARCH_FLOAT_H is defined. + * lib/math: Files now conform to coding standards. Separated float, + double, and long double versions of code into separate files so that + they don't draw in so much un-necessary code when doing a dumb link. + * binfmt/libelf: The ELF loader is working correctly with C++ static + constructors and destructors and all. + * Documentation/NuttXBinfmt.html: Add documentionof the binary loader. + * configs/sim/ostest: Converted to use the mconfig configuration tool. + * configs/sim/cxxtest: New test that will be used to verify the uClibc++ + port (eventually). + * include/nuttx/fs/fs.h, lib/stdio/lib_libfread.c, lib_ferror.c, + lib_feof.c, and lib_clearerr.c: Add support for ferror(), feof(), + and clearerror(). ferror() support is bogus at the moment (it + is equivalent to !feof()); the others should be good. + * configs/stm32f4discovery/include/board.h: Correct timer 2-7 + base frequency (provided by Freddie Chopin). + * include/nuttx/sched.h, sched/atexit.c, and sched/task_deletehook.c: + If both atexit() and on_exit() are enabled, then implement atexit() + as just a special caseof on_exit(). This assumes that the ABI can + handle receipt of more call parameters than the receiving function + expects. That is usually the case if parameters are passed in + registers. + * libxx/libxx_cxa_atexit(): Implements __cxa_atexit() + * configs/stm32f4discovery/cxxtest: New test that will be used to + verify the uClibc++ port (eventually). The sim platform turned not + to be a good platform for testing uClibc++. The sim example will not + run because the simulator will attempt to execute the static + constructors before main() starts. BUT... NuttX is not initialized + and this results in a crash. On the STM324Discovery, I will have + better control over when the static constructors run. + * RGMP 4.0 updated from Qiany Yu. + * configs/*/Make.defs and configs/*/ld.script: Massive clean-up + and standardization of linker scripts from Freddie Chopin. + * net/netdev_ioctl.c: Add interface state flags and ioctl calls + to bring network interfaces up and down (from Darcy Gong). + * config/stm32f4discovery: Enable C++ exceptions. Now the entire + apps/examples/cxxtest works -- meaning the the uClibc++ is + complete and verified for the STM32 platform. + +apps-6.23 2012-11-05 Gregory Nutt <gnutt@nuttx.org> + + * vsn: Moved all NSH commands from vsn/ to system/. Deleted the vsn/ + directory. + * Makefile: Change order of includes when CONFIG_NEWCONFIG=y. In + that case, namedapp must be included first so that the namedapp + context is established first. If the namedapp context is established + later, it will overwrite any existing namedapp_list.h and nameapp_proto.h + files. + * CONFIG_EXAMPLES_*: To make things consistent, changed all occurrences + of CONFIG_EXAMPLE_* to CONFIG_EXAMPLES_*. + * Kconfig: Fleshed out apps/examples/adc/Kconfig and apps/examples/wget/Kconfig. + There are still a LOT of empty, stub Kconfig files. + * Kconfig: Fleshed out apps/examples/buttons/Kconfig. There are still a LOT + of empty, stub Kconfig files. + * apps/netutils/webserver/httpd.c: Fix a bug that I introduced in + recent check-ins (Darcy Gong). + * apps/netutils/webclient/webclient.c: Fix another but that I introduced + when I was trying to add correct handling for loss of connection (Darcy Gong) + * apps/nshlib/nsh_telnetd.c: Add support for login to Telnet session via + username and password (Darcy Gong). + * apps/netutils/resolv/resolv.c (and files using the DNS resolver): Various + DNS address resolution improvements from Darcy Gong. + * apps/nshlib/nsh_netcmds.c: The ping command now passes a maximum round + trip time to uip_icmpping(). This allows pinging of hosts on complex + networks where the ICMP ECHO round trip time may exceed the ping interval. + * apps/examples/nxtext/nxtext_main.c: Fix bad conditional compilation + when CONFIG_NX_KBD is not defined. Submitted by Petteri Aimonen. + * apps/examples/nximage/nximage_main.c: Add a 5 second delay after the + NX logo is presented so that there is time for the image to be verified. + Suggested by Petteri Aimonen. + * apps/Makefile: Small change that reduces the number of shell invocations + by one (Mike Smith). + * apps/examples/elf: Test example for the ELF loader. + * apps/examples/elf: The ELF module test example appears fully functional. + * apps/netutils/json: Add a snapshot of the cJSON project. Contributed by + Darcy Gong. + * apps/examples/json: Test example for cJSON from Darcy Gong + * apps/nshlib/nsh_netinit.c: Fix static IP DNS problem (Darcy Gong) + * apps/netutils/resolv/resolv.c: DNS fixes from Darcy Gong. + * COPYING: Licensing information added. + * apps/netutils/codec and include/netutils/urldecode.h, base64.h, and md5.h: + A port of the BASE46, MD5 and URL CODEC library from Darcy Gong. + * nsnlib/nsh_codeccmd.c: NSH commands to use the CODEC library. + Contributed by Darcy Gong. + * apps/examples/wgetjson: Test example contributed by Darcy Gong + * apps/examples/cxxtest: A test for the uClibc++ library provided by + Qiang Yu and the RGMP team. + * apps/netutils/webclient, apps/netutils.codes, and apps/examples/wgetjson: + Add support for wget POST interface. Contributed by Darcy Gong. + * apps/examples/relays: A relay example contributed by Darcy Gong. + * apps/nshlib/nsh_netcmds: Add ifup and ifdown commands (from Darcy + Gong). + * apps/nshlib/nsh_netcmds: Extend the ifconfig command so that it + supports setting IP addresses, network masks, name server addresses, + and hardware address (from Darcy Gong). NxWidgets-1.3 2012-09-29 Gregory Nutt <gnutt@nuttx.org> @@ -3597,36 +3368,44 @@ NxWidgets-1.3 2012-09-29 Gregory Nutt <gnutt@nuttx.org> * Kconfig: Add option to turn on the memory monitor feature of the NxWidgets/NxWM unit tests. +uClibc++-1.0 2011-11-05 <gnutt@nuttx.org> + + * The initial release of the uClibc++ implementation of the standard + C++ library for NuttX. This package was contributed ay Qiang Yu and + David for the RGMP team. + +buildroot-1.11 2011-11-05 <gnutt@nuttx.org> + + * configs/avr-defconfig-4.3.3 - Added --enable-long-long as a GCC + option. + * configs/avr-defconfig-4.5.2 - New configuration. + * Config.in and almost all configurations in configs/ - Changed the + default nuttx path to $(TOPDIR)/../../nuttx + * Misc files. Patch provided by Gerd v. Egidy that solves the following + problems + - binutils 2.21 is not available on the gnu servers anymore, they replaced + it with 2.21.1 + - there is some assembler error when compiling gcc for arm, gcc bugzilla + 43999 + - you can't build nuttx for cortex m3/m4 because of a missing instruction + in the assembler, binutils bugzilla 12296 + * Add support for binutils 2.22 and GCC 4.6.3. + * Change name of all tools from xxx-elf to xxx-nuttx-elf + * Added an ARM EABI GCC 4.6.3 configuration (tool name is arm-nuttx-eabi-). + * ldnxflat: Add support for the R_ARM_REL32 relocation. This relocation + type was not generated by GCC/LD prior to gcc-4.6.3 + * R_ARM_REL32 logic is conditionally disabled because it has not been + tested. + * ldnxflat: Correct a memory allocation error that could cause written + past the end of allocated memory. Partial restoration of R_ARM_REL32 + logic. There are lots of issues that I still do not understand here. + pascal-3.0 2011-05-15 Gregory Nutt <gnutt@nuttx.org> * nuttx/: The Pascal add-on module now installs and builds under the apps/interpreters directory. This means that the pascal-2.1 module is incompatible with will all releases of NuttX prior to nuttx-6.0 where the apps/ module was introduced. - -buildroot-1.10 2011-05-06 <gnutt@nuttx.org> - - * Add patch submitted by Dimiter Georgiev to work around problems in building - GDB 6.8 with versions of Cygwin > 1.7. - * configs/i486-defconfig-4.3.3 - Builds an i486 cross development toolchain - using gcc 4.3.3. Why wouldyou want such a thing? On Linux, of course, - such a thing is not needed because you can use the installed GCC to build - i486 ELF binaries. But that will not work under Cygwin! The Cygwin - toolchain (and probably MinGW), build DOS MZ format executables (i.e., - .exe files). That is probably not usable for most NuttX targets. - Instead, you should use this i486-nuttx-elf-gcc to generate true ELF binaries - under Cygwin. - * Makefile - Alter copy arguments to avoid permissions problems when - copying NuttX header files. - * toolchain/nxflat/nxflat.mk and Makefile - Fix include paths. - * toolchain/gcc/3.3.6 - Added a patch to fixed compilation error on Ubuntu - 9.10. - * toolchain/nxflat/Makefile - Correct static library link order. - * configs/arm920t-defconfig-4.3.3 - Enable support for NXFLAT tools. - * toolchain/binutils/2.21 and toolchain/gcc/4.5.2 - Add support for GCC - 4.5.2 with binutils 2.21. - * configs/arm920t-eabi-defconfig-4.5.2 - Add a configuration to build a - GCC 4.5.2 EABI ARM toolchain for the ARM920t. </pre></ul> <table width ="100%"> |