Skip to content
ChangeLog 439 KiB
Newer Older
	  stdint.h.  Use type bool and {true, false} from stdbool.  This effected
	  most of the files in the system!  Almost all configurations have been
	  re-built and many have been re-verified in order to get confidence in
	  these changes.
patacongo's avatar
patacongo committed
	* graphics/ and examples/nx: Fix numerous build errors that have been
	  introduced lately.  NXGL has suffered some bit-rot from not being used
	  in some of the most recent ports.
patacongo's avatar
patacongo committed
	* The misc/pascal NuttX add-on package has been updated to use the new
	  standard types from stdint.h and stdbool.h and re-integrated with NuttX.
	  The released pascal-2.0 will be the first version that contains the
	  compatible changes.
patacongo's avatar
patacongo committed
	* arch/arm/src/lm3s/lm3s_ethernet.c: Fixed an important bug in the LM3S
patacongo's avatar
patacongo committed
	  Ethernet driver:  If full packet is received, the packet-too-big check
patacongo's avatar
patacongo committed
	  will fail because it needs to subtract 6 from the packet size (to
	  account for the 2-byte packet length and the 4-byte packet FCS in the
	  FIFO).
patacongo's avatar
patacongo committed
	* net/accept.c: Fixed a bad assertion (only happens when debug is enabled).
	* net/send.c net/uip/uip_tcpseqno.c: Fixed a critical error in the TCP/IP
	  logic.  The NuttX port of uIP imcludes logic to send data ahead without
	  waiting for ACKs from the recipient; this greatly improves throughput.
	  However, the packet sequence number was not being updated correctly and,
	  as a result, packets were not be ACKed by the recipient and transfers
	  would sometimes stall.  This is a very important bug fix (in fact, I
	  don't understand how TCP/IP worked at all without this fix???)
patacongo's avatar
patacongo committed
	* include/nuttx/arch.h and arch/*/common/up_udelay.c: Change argument
patacongo's avatar
patacongo committed
	  of up_udelay() to type useconds_t to avoid warnings when sizeof(int)
	  is 16-bits.
patacongo's avatar
patacongo committed
	* drivers/mmcsd/*: Add casts in constant expressions to avoid warnings
patacongo's avatar
patacongo committed
	  when sizeof(int) is 16-bits.

patacongo's avatar
patacongo committed
5.1 2010-01-30 Gregory Nutt <gnutt@nuttx.org>
patacongo's avatar
patacongo committed

	* arch/arm/src/lpc313x and arch/arm/include/lpc313x: Added framework
patacongo's avatar
patacongo committed
	  to support the NXP LPC3131.
	* Add configs/ea3131.  The LPC3131 port for the Embedded Artist EA3131
	  (LPC3131) is code complete and waiting for me to get hardware in
	  hand.
patacongo's avatar
patacongo committed
	* arch/arm/src/sam3u, arch/arm/include/sam3u, and configs/sam3u-ek -
	  Added the basic framework needed to begin a port for the SAM3U-EK
	  development board.
	* lib/lib_crc32.c: Add CRC32 logic by Gary S. Brown to lib/.  This is
	  the larger (but faster) table look-up version of the CRC32 algorithm.
	* confgs/ea3131/tools: Added a tool to create a image suitable for
	  use with the LPC313x bootloader.
patacongo's avatar
patacongo committed
	* configs/sam3u-3k/ostest: Completed verification of the basic NuttX
patacongo's avatar
patacongo committed
	  OS test for the SAM3U.
patacongo's avatar
patacongo committed
	* arch/arm/src/common/up_createstack: stack was always been cleared
	  when it was allocated.  This is a good feature for monitoring the
patacongo's avatar
patacongo committed
	  stack during debug, but really hurts thread start-up performance.
	  Clearing is now done if CONFIG_DEBUG=y only.  Changes was only made
	  for arm, but really should be made for all architectures.
patacongo's avatar
patacongo committed
	* configs/sam3u/nsh: Added NSH configuration for SAM3U
patacongo's avatar
patacongo committed

patacongo's avatar
patacongo committed
5.2 2010-03-18 Gregory Nutt <gnutt@nuttx.org>
patacongo's avatar
patacongo committed

patacongo's avatar
patacongo committed
	* arch/arm/src/sam3u/sam3u_pio.c: Fix an address calculation error
	  that caused ports B & C to get mapped to the PIOA base address.
	  This is an important bugfix! (a patch is available)
patacongo's avatar
patacongo committed
	* arch/arm/src/lpc313x/lpc313x_boot.c: Fix an error in the vector
patacongo's avatar
patacongo committed
	  initialization was causing a memory fault.
patacongo's avatar
patacongo committed
	* lib/lib_strtod.c: Add strtod()
	* lpc3131/ea3131: Several bring fixes submitted by David Hewson.  The
patacongo's avatar
patacongo committed
	  lpc3131 is almost there!  Thanks David!
patacongo's avatar
patacongo committed
	* arch/arm/src/arm/up_head.S: Corrected backward conditional compilation
	  that selects if vectors are located at 0x0000:0000 or 0xffff:f000.
	  This fixes the last show stopper bug in the lpc313x bring-up.
patacongo's avatar
patacongo committed
	* configs/ea3131/nsh: Added a NuttShell (NSH) configuration for the
patacongo's avatar
patacongo committed

patacongo's avatar
patacongo committed
5.3 2010-04-11 Gregory Nutt <gnutt@nuttx.org>
patacongo's avatar
patacongo committed

patacongo's avatar
patacongo committed
	* arch/arm/src/lpc313x/lpc313x_usbdev.c: USB driver for the LPC313x
patacongo's avatar
patacongo committed
	  contributed by David Hewson.
	* configs/ea3131/src/up_ubstrgc.c, configs/ea3131/usbserial,
patacongo's avatar
patacongo committed
	  configs/ea3131/usbstorage: USB storage and USB serial example support
patacongo's avatar
patacongo committed
	  contributed by David Hewson.
	* Several important compilation error fixes in lpc313x and (dualspeed) USB
	  code also contributed by David Hewson.
patacongo's avatar
patacongo committed
	* arch/arm/src/sam3u/sam3u_dmac.c: DMA support for the AT90SAM3U.
	* arch/arm/src/sam3u/sam3u_hsmci.c: SD memory card support for AT90SAM3U
patacongo's avatar
patacongo committed
	  (Neither the DMA nor the HSMCI driver are functional on the initial checkin).
patacongo's avatar
patacongo committed
	* drivers/usbdev: Several important fixes to the USB mass storage driver
	  submitted by David Hewson.
	* configs/olimex-lpc2378, arch/arm/include/lpc2378, and arch/arm/src/lpc2378 -
	  Basic port of the NXP 2378 on the Olimex board contributed by
	  Rommel Marcelo.
patacongo's avatar
patacongo committed
	* arch/arm/src/sam3u/sam3u_internal.h: Fixed a critical bug in the AT91SAM3U
patacongo's avatar
patacongo committed
	  PIO decoding.  No PIOs greater than 15 could be used on any port!  Obviously,
	  no one has been using this port.
patacongo's avatar
patacongo committed

patacongo's avatar
patacongo committed
5.4 2010-04-23 Gregory Nutt <gnutt@nuttx.org>
patacongo's avatar
patacongo committed
	* include/nuttx/lcd.h: Defines an LCD interface.
	* graphics/nxglib/fb and lcd: Support LCD and framebuffer rasterizers for NX.
	* configs/sam3u-ek/src/up_lcd.c: LCD driver for LCD on SAM3U-EK development
patacongo's avatar
patacongo committed
	  board.
patacongo's avatar
patacongo committed
	* configs/sam3u-ek/nx: NX graphics configuration for the SAM3U-EK
patacongo's avatar
patacongo committed

patacongo's avatar
patacongo committed
5.5 2010-05-09 Gregory Nutt <gnutt@nuttx.org>
patacongo's avatar
patacongo committed
	* drivers/net/enc28j60.c: Microchip ENC28J60 SPI Ethernet chip driver.
	  (untested on original check-in).
patacongo's avatar
patacongo committed
	* configs/olimex-str7p11/nettest: examples/nettest configuration using
	  the ENC28J60 driver on the Olimex STMicro STR-P711.
	  (unverified on original check-in)
patacongo's avatar
patacongo committed
	* configs/olimex-str7p11/src/up_enc28j60.c: Add ENC28J60 initialization
patacongo's avatar
patacongo committed
	  logic.
patacongo's avatar
patacongo committed
	* configs/olimex-str7p11/src/up_spi.c: Fixed some bugs; added support
patacongo's avatar
patacongo committed
	  for ENC28J60.
patacongo's avatar
patacongo committed
	* arch/arm/src/str7x/str7x_xti.c: Add basic XTI support (external
patacongo's avatar
patacongo committed
	  interrupts).
patacongo's avatar
patacongo committed
	* arch/arm/src/lm3s and arch/arm/include/lm3s: Add definitions for
patacongo's avatar
patacongo committed
	  LM3S6965
patacongo's avatar
patacongo committed
	* configs/lm3s6965-ek: Add configuration for Stellaris LM3S6965
	  Evaluation Kit (including basic examples/ostest configuration)
patacongo's avatar
patacongo committed
	* lib/lib_dtoa.c and lib/lib_dtoa.c: printf will not print floating
	  point values if you select CONFIG_LIBC_FLOATINGPOINT in your
	  configuration file.  Contributed by Yolande Cates.  NOTE:  these
	  floating point operations have not been well tested and may not
	  be portable to all floating point implementations.
patacongo's avatar
patacongo committed
	* configs/lm3s6965-ek/nsh: Added NuttShell (NSH) configuration for
	  the LM3S6965 Evaluation Kit.  Includes both serial and telnet
	  interfaces.
patacongo's avatar
patacongo committed
	* net/net_close.c: Correct a UDP reference counting error
patacongo's avatar
patacongo committed
5.6 2010-06-05 Gregory Nutt <gnutt@nuttx.org>
patacongo's avatar
patacongo committed
	* drivers/lcd/p14201.c: Driver for RiT P14201 series 128x96 4-bit OLED.
	* configs/lm3s6965-ek/nx: NX graphics configuration for the LM3S6965
	  Ethernet Evaluation Kit.
patacongo's avatar
patacongo committed
	* graphics/: Numerous fixes to get the P14201 4-bpp grayscale display
	  working (there may still be some minor issues .. see the TODO list).
patacongo's avatar
patacongo committed
	* arch/arm/include/lpc17xx and arch/arm/src/lpc17xxx: Began port for
patacongo's avatar
patacongo committed
	  NXP LPC1768.  As of the 5.6 release, there is a complete set of
	  LPC17xx header files defining all bits in all LPC17xx registers,
	  but little else (I still do not have hardware in hand).
patacongo's avatar
patacongo committed
	* drivers/mtd/m25px.c: Add support for M25P1 flash part (See NOTE)
	* include/nuttx/i2c.h: Extended I2C interface definition to handle
	  multiple transfers (See NOTE).
patacongo's avatar
patacongo committed
	* include/nuttx/usbdev.h: Corrected an important macro definition
	  needed to correctly handle USB null packet transfers (See NOTE).
patacongo's avatar
patacongo committed
	* arch/arm/src/lpc313x: New drivers: I2C and SPI.  Plus several
	  important LPC313x USB bug fixes (See NOTE).

	NOTE: Contributed by David Hewson.
patacongo's avatar
patacongo committed

patacongo's avatar
patacongo committed
5.7 2010-06-22 Gregory Nutt <gnutt@nuttx.org>
patacongo's avatar
patacongo committed
	* configs/nucleus2g: Add ostest configuration for the Nucleus 2G
patacongo's avatar
patacongo committed
	  LPC1768 board from 2G Engineering (http://www.2g-eng.com/)
patacongo's avatar
patacongo committed
	* arch/arm/src/lpc17xx: Added basic LPC17xx boot-up logic,
patacongo's avatar
patacongo committed
	  interrupt handling, and GPIO configuration.
patacongo's avatar
patacongo committed
	* configs/nucleus2g/ostest: Completed bring-up of LPC1768 on
patacongo's avatar
patacongo committed
	  the Nucleus2G board using the examples/ostest
patacongo's avatar
patacongo committed
	* configs/nucleus2g/nsh: Added and verified a NuttShell (NSH)
patacongo's avatar
patacongo committed
	  configuration for the LPC1768 on the Nucleus2G board.

patacongo's avatar
patacongo committed
5.8 2010-07-18 Gregory Nutt <gnutt@nuttx.org>
patacongo's avatar
patacongo committed

patacongo's avatar
patacongo committed
	* configs/nucleus2g/src/up_nsh.c and up_ssp.c: Add support
patacongo's avatar
patacongo committed
	  for SPI-based MMC/SD cards and integrate into the NSH example.
patacongo's avatar
patacongo committed
	* arch/arm/src/lm3s/lm3s_vectors.S: Correct vectors for GPIOC & D
patacongo's avatar
patacongo committed
	  interrupts.
	* arch/arm/src/lpc17xx/lpc17_clockconfig.c: Power was not being
	  provided to GPIO module.  This is a critical bugfix!
patacongo's avatar
patacongo committed
	* arch/arm/src/lpc17xx/lpc17_serial.c: Improved logic to handle
patacongo's avatar
patacongo committed
	  missed TX interrupts.
patacongo's avatar
patacongo committed
	* arch/arm/src/lpc17xx/lpc17_ssp.c: Fix a hard fault during SSP
patacongo's avatar
patacongo committed
	  initialization.
patacongo's avatar
patacongo committed
	* configs/nucleus2g/src/up_led.c: Change how LEDs are controlled
patacongo's avatar
patacongo committed
	  so that they can be used both for NuttX instrumentation and
	  by application software.
patacongo's avatar
patacongo committed
	* include/net/uip/igmp.h and uip-igmp.h: Add header files ini
patacongo's avatar
patacongo committed
	  preparation for NuttX IGMP support
patacongo's avatar
patacongo committed
	* net/uip/uip_igmp*.c: Add IGMP support (untested on initial
patacongo's avatar
patacongo committed
	  checkin).
patacongo's avatar
patacongo committed
	* examples/igmp: Add a trivial test for IGMP (much more is needed)
	* configs/nucleus2g/usbserial and usbstorage: Add USB configurations
patacongo's avatar
patacongo committed
	  for testing purposes.
	* arch/arm/src/common/up_internal.h, cortexm3/up_assert.c,
patacongo's avatar
patacongo committed
	  */*_vectors.S: Correct compilations errors when CONFIG_ARCH_INTERRUPTSTACK
patacongo's avatar
patacongo committed
	  is enabled (feature still not tested)
patacongo's avatar
patacongo committed
5.9 2010-08-25 Gregory Nutt <gnutt@nuttx.org>
patacongo's avatar
patacongo committed
	* examples/nsh/nsh_telnetd.c: Fix compilation errors that happen
patacongo's avatar
patacongo committed
	  when both DHCPC and TELNETD are enabled in the Nuttshell.
patacongo's avatar
patacongo committed
	* graphics/nxglib/fb/nxglib_moverectangle.c: Fix a logic error
	  that caused an uninitialized variable warning.  I still don't
patacongo's avatar
patacongo committed
	  have a test to prove that the changes are correct.
patacongo's avatar
patacongo committed
	* configs/olimex-lpc2378: Add support for the CodeSourcery toolchain
patacongo's avatar
patacongo committed
	  under Linux (contributed by Alan Carvalho de Assis).
patacongo's avatar
patacongo committed
	* arch/arm/src/lpc17xx/lpc17_gpio.c: Fix an important GPIO configuration
patacongo's avatar
patacongo committed
	  bug:  When attempting to set no pull-up or pull-down (floating),
	  it would, instead, select pull-down.
patacongo's avatar
patacongo committed
	* arch/arm/src/lm3s/lm3s_gpioirq.c: Fix warning for returning a value
patacongo's avatar
patacongo committed
	  from functions returning void (contributed by Tiago Maluta).
patacongo's avatar
patacongo committed
	* netutils/dhcpc/dhcpc.c: lease_time was not in host order
	* examples/uip/main.c: if DHCPC is selected, this example now shows
patacongo's avatar
patacongo committed
	  the assigned IP address.
patacongo's avatar
patacongo committed
	* arch/arm/src/lm3s and arch/arm/include/lm3s: Definitions for the
	  TI LM3S9B96 contributed by Tiago Maluta.
patacongo's avatar
patacongo committed
	* arch/arm/src/lm3s/lm3s_gioirq.c: Fix a logic error in the address
patacongo's avatar
patacongo committed
	  table lookup.
patacongo's avatar
patacongo committed
	* arch/arm/src/lm3s/lm3s_gioirq.c: Also needs to enable the global
	  GPIO interrupts.
patacongo's avatar
patacongo committed
	* arch/arm/src/lm3s/lm3s_internal.h and lm3s_gpio.c: Fixed the encoding
patacongo's avatar
patacongo committed
	  of GPIO port number that limited support for GPIO ports to 8
patacongo's avatar
patacongo committed
	* sched/pg_*.c and *.c and include/nuttx/page.h: Implemented the
patacongo's avatar
patacongo committed
	  common, core logic for on-demand paging. See
	  http://www.nuttx.org/NuttXDemandPaging.html for details.
patacongo's avatar
patacongo committed
	* drivers/usbdev/usbdev_serial.c: Correct compilation errors that
	  occur if CONFIG_USBDEV_DUALSPEED is selected.
patacongo's avatar
patacongo committed
	* configs/ea3131/pgnsh: Add an NSH configuration with on-demand paging
	  enabled.  This is not expected to be a functionality configuration (at
	  least not yet); it was created in order to debug the on-demand paging
	  feature.
patacongo's avatar
patacongo committed
	* configs/ntosd-dm320/*/Make.defs: Codesourcery and devkitARM toolchains
	  now supported for the Neuros OSD.
patacongo's avatar
patacongo committed
	* configs/ntosd-dm320 and arch/arm/src/dm320: Add support for the
	  Neuros production OSD (changes contributed by bf.nuttx).
patacongo's avatar
patacongo committed

patacongo's avatar
patacongo committed
5.10 2010-09-07 Gregory Nutt <gnutt@nuttx.org>
patacongo's avatar
patacongo committed

patacongo's avatar
patacongo committed
	* configs/ea3131/locked: Create logic to support a two pass build
patacongo's avatar
patacongo committed
	  process:  The first pass forces critical logic into the locked text
	  region, the second pass builds the NuttX executable more-or-less as
	  normal.
patacongo's avatar
patacongo committed
	* Makefile, arch/arm/src/Makefile, configs/ea3131: Add logic to
patacongo's avatar
patacongo committed
	  support a two-pass final link.  This logic is only in place in
	  the arch/arm/src/Makefile for now.
patacongo's avatar
patacongo committed
	* arch/arm/src/lpc17xx/lpc17_internal.h: Add missing parentheses in
patacongo's avatar
patacongo committed
	  macros definitions (patch submitted by Tiago Maluta).
	* Documents/NuttxPortingGuide.html, configs/README.txt, etc. -
	  Replaced CONFIG_EXAMPLE with CONFIG_APP_DIR (see documents for
	  desciption).  This allows NuttX application code to be built
	  outside of the examples/ directory.

	  For people who have their own configurations and/or Makefiles,
	  you will need to make a couple of changes:

patacongo's avatar
patacongo committed
	  - Replace all occurrences of CONFIG_EXAMPLE=foobar with
	    CONFIG_APP_DIR=examples/foobar in all of the configuration
	    files.
	  - Replace any occurrences of examples/$(CONFIG_EXAMPLE) with
	    $(CONFIG_APP_DIR)
	  - Replace any occurrences of lib$(CONFIG_EXAMPLE)$(LIBEXT)
	    with libapp$(LIBEXT) in your Makefiles.
	  - Check any other occurrences of CONFIG_EXAMPLE.
patacongo's avatar
patacongo committed
	* arch/arm/src/lpc313x/lpc313x_spi.c: Fix compilation error when
	  when CONFIG_DEBUG is enabled.
patacongo's avatar
patacongo committed
	* arch/arm/src/lm3s and arch/arm/include/lm3s: Support for the
patacongo's avatar
patacongo committed
	  lm3s8962 contributed by Larry Arnold.
patacongo's avatar
patacongo committed
	* configs/lm328962-ek: Support for the TI/Stellaris EKC-LM3S8962
patacongo's avatar
patacongo committed
	  board (also contributed by Larry Arnold).
patacongo's avatar
patacongo committed
	* arch/arm/src/lpc313x/lpc313x_boot.c: The call to lpc313x_boardinitialized()
patacongo's avatar
patacongo committed
	  should not be conditioned on CONFIG_ARCH_LEDs being defined!
patacongo's avatar
patacongo committed
	* arch/arm/src/lpc313x/: APB0 and APB1 cannot lie in different
patacongo's avatar
patacongo committed
	  sections; they are too close together.
patacongo's avatar
patacongo committed
	* arch/arm/src/lpc313x/lpc13x_boot.c: Resetting all of the clocking
patacongo's avatar
patacongo committed
	  had a side effect of wiping out the first 6 words of memory where the
	  interrupt vectors are located (and also not resetting the fractional
	  dividers).  This is not usually noticeable because the IRQ vectors
	  are after this point, but really causes problems if you want to handle
	  data and prefectch aborts which are within this zeroed region.

patacongo's avatar
patacongo committed
5.11 2010-10-01 Gregory Nutt <gnutt@nuttx.org>
patacongo's avatar
patacongo committed
	* configs/ea3131/src/up_fillpage.c: Added new configuration item
	  CONFIG_PAGING_BINPATH.  If CONFIG_PAGING_BINPATH is defined, then it
	  is the full path to a file on a mounted file system that contains
	  a binary image of the NuttX executable.  Pages will be filled by
	  reading from offsets into this file that correspond to virtual
	  fault addresses.  up_fillpage.c implements logic to perform page
	  files using the CONFIG_PAGING_BINPATH file.
patacongo's avatar
patacongo committed
	* configs/mbed: Add configuration to support the mbed.org LPC1768
	  board (Contributed by Dave Marples).
patacongo's avatar
patacongo committed
	* sched/sem_wait.c and sem_waitirq.c: Eliminate a race condition
	  that can occur when a semaphore wait is interrupt by a signal.
	  (see email thread: http://tech.groups.yahoo.com/group/nuttx/message/530)
patacongo's avatar
patacongo committed
	* drivers/mtd/at45db.c: Add a driver for the Atmel AT45DB161D 4Mbit
	  SPI FLASH part (untested on initial check-in).
patacongo's avatar
patacongo committed
	* arch/arm/src/lm3s and arch/arm/include/lm3s: Corrections for the
	  lm3s8962 port contributed by Larry Arnold.  That port is purported
	  to work correctly with these changes in place.
patacongo's avatar
patacongo committed
	* examples/ostest/prioinherit.c: Need to reinitialize globals if
	  test is ran repeatedly in a loop.
patacongo's avatar
patacongo committed
	* configs/ez80f910200zco: Updated to used ZDS-II 4.11.1
patacongo's avatar
patacongo committed

patacongo's avatar
patacongo committed
5.12 2010-10-26 Gregory Nutt <gnutt@nuttx.org>
patacongo's avatar
patacongo committed
	* arch/avr: Add a place to support AVR family processors.
	* arch/avr/include/avr32 and arch/avr/src/avr32: Add support for AVR32
	  (all of the AVR32 is a work in progress).
patacongo's avatar
patacongo committed
	* arch/avr/include/at32uc3 and arch/avr/src/at32uc3: Add support
	  for the AVR32 UC3A/B family of AVR32 MCUs.
patacongo's avatar
patacongo committed
	* confgs/avr32dev1: Add support for the Atmel AVR32DEV1 board featuring
	  the AT32UC3B0256 MCU.  This board is produced by www.mcuzone.com.
	* include/stdlib.h, lib/Makefile, lib/lib_abs.c, lib/lib_labs.c,
patacongo's avatar
patacongo committed
	  lib_labs.c, lib_llabs.c, lib_imaxabs.c: Add abs(), labs(), llabs(), and
	  imaxabs().
patacongo's avatar
patacongo committed
	* Add include/inttypes.h
patacongo's avatar
patacongo committed
	* arch/hc/src/mc9s12ne64: This hcs12 port grew a few more files.  But it
patacongo's avatar
patacongo committed
	  is still a long way from complete.
patacongo's avatar
patacongo committed
	* arch/*/src/*/*_sigdeliver.c: Fixed a serious error in the signal
patacongo's avatar
patacongo committed
	  trampoline logic.  Essentially, interrupts are re-enabled while the
	  signal handler executes, but the logic to re-disable the interrupts
	  before returning from the signal handler trampoline was missing.  Under
	  certain circumstances, this can cause stack corruption.  This was
	  discovered by David Hewson on an ARM9 platform, but since the code
	  has been leveraged, the bug has been propogated from ARM to Cortex-M3,
	  AVR32, M16C, SH1, ZNEO, eZ80, Z8, and Z80 -- almost every architecture.
	  The correction has been incorporated for all architectures but only
	  verified on a few.

patacongo's avatar
patacongo committed
5.13 2010-11-09 Gregory Nutt <gnutt@nuttx.org>
patacongo's avatar
patacongo committed
	* lib/lib_strnlen.c: Added POSIX 2008 strnlen() function.  Contributed
patacongo's avatar
patacongo committed
	  by Michael Hrabanek.
	* Fix wild, consistent naming error.  For some reason, I called the at32uc3*
	  parts at91uc* everywhere.  Fixed by changing lots of files and directories.
patacongo's avatar
patacongo committed
	* configs/avr32dev1/ostest: The AVR32 port now successfully passes the
	  examples/ostest.  We have a good AVR32 port!
patacongo's avatar
patacongo committed
	* configs/avr32dev1/nsh: Added a configuration to support the NuttShell
	  (NSH). As of this writing, here is a problem receiving serial data (this
	  is, very likely, my hardware setup).
patacongo's avatar
patacongo committed
	* lib/lib_open.c: Fix an error in fdopen when a valid file desciptor does
	  not refer to an open file.
patacongo's avatar
patacongo committed
	* configs/olimex-lpc1766stk: Add support for the Olimex LPC1766-STK
patacongo's avatar
patacongo committed
	  development board.  The OS test and NSH configurations (only) have been
patacongo's avatar
patacongo committed
	  verified.
patacongo's avatar
patacongo committed
5.14 2010-11-27 Gregory Nutt <gnutt@nuttx.org>
patacongo's avatar
patacongo committed
	* configs/olimex-lpc1766stk/nettest: Add examples/nettest configuration to
patacongo's avatar
patacongo committed
	  verify the LPC17xx Ethernet driver currently under development.
patacongo's avatar
patacongo committed
	* arch/arm/src/lpc17xx/lpc17xx_ethernet.c/.h: Began development of
patacongo's avatar
patacongo committed
	  the LPC17xx Ethernet driver.  Driver in CVS functional after 2010-11-23.
patacongo's avatar
patacongo committed
	* sched/timer_settime.c: Fix an error in set-up of a one-shot POSIX timer.  It
patacongo's avatar
patacongo committed
	  was using the repititive timer value (which is zero in the one-shot case),
patacongo's avatar
patacongo committed
	  always resulting in a 10Ms timer!  Found and fixed by Wilton Tong.
	* arch/arm/src/lpc17xx/lpc17_vector.S, stm32/stm32_vector.S, lm3s/lm3s_vector.S,
patacongo's avatar
patacongo committed
	  sam3u/sam3u_vector.S: Fixed a hard fault problem that can occur if certain
	  types of interrupts are pending at the time another interrupt returns
patacongo's avatar
patacongo committed
	  (SYSTICK).  This has not been verified on all plaforms, but is a critical
	  fixed that is needed by all Cortex-M3 NuttX users.
patacongo's avatar
patacongo committed
	* configs/olimex-lpc1766stk/thttpd: Add a THTTPD configuration for the
patacongo's avatar
patacongo committed
	  Olimex LPC2766-STK board. Verified successfully.
patacongo's avatar
patacongo committed
	* net/uip/uip_tcpappsend.c: Correct an important logic bug in some uIP state
	  data the is used to manage retransmissions.  The uIP logic was incompatible
	  with the retransmission logic of net/send.c in one place.  The final error
	  was that the final packet in a sequence of packets was too large!  In the
	  THTTPD example, this would leave some garbage at the bottom of the display
	  (or worse).  I don't know why I haven't see this bug before???
patacongo's avatar
patacongo committed
	* net/uip/uip_tcpinput.c: The change to uip_tcpappsend.c unmasked an
patacongo's avatar
patacongo committed
	  additional error in the TCP sequence number handling.  This sympom was that
	  the send() function would hang with outstanding, unacknowledged data (with
	  no re-transmit requests).  The was due to differences in sequence number
	  handling in send() and in uip_tcpinput.c; uip_tcpinput.c thought (incorrectly)
	  that all of the bytes were acknowledged; send.c knew that they were not.

patacongo's avatar
patacongo committed
5.15 2010-12-12 Gregory Nutt <gnutt@nuttx.org>
patacongo's avatar
patacongo committed

patacongo's avatar
patacongo committed
	* net/uip/uip_tcpaddsend.c and net/send.c: Another place where the TCP sequence
patacongo's avatar
patacongo committed
	  number problem "fixed" in 5.14 might occur.
patacongo's avatar
patacongo committed
	* net/send.c: Check if the destination IP address is in the ARP table.  If
patacongo's avatar
patacongo committed
	  not, then don't consider the packet sent.  It won't be, an ARP packet will go
patacongo's avatar
patacongo committed
	  out instead.  This improves behavior, for example, on the first GET request
	  from a browser.
patacongo's avatar
patacongo committed
	* arch/arm/src/lpc17xx/lpc17_emacram.h and lpc17_allocateheap.c: The Ethernet
	  logic was using all of AHB SRAM Bank0 for Ethernet packet buffers (16K).  An
	  option was added to limit the amount of SRAM used for packet buffering and to
	  re-use any extra Bank0 memory for heap.  configs/olimex-lpc1766stk/nettest
	  now uses only 8K at the beginning of Bank0; the 8K at the end of Bank0 is
	  included in the heap
patacongo's avatar
patacongo committed
	* arch/arm/src/lpc17xx/lpc17_ssp.c: Fix compilation errors when SSP1 is
patacongo's avatar
patacongo committed
	* configs/olimex-lpc1766stk/nsh: Enable network and SD/MMC card support in
patacongo's avatar
patacongo committed
	  NSH.  Networking and telnetd interface as well as SPI-based microSD are
	  now functional.
patacongo's avatar
patacongo committed
	* examples/nsh/nsh_netinit.c: Fix NSH bug.  If CONFIG_NET is selected, but
	  CONFIG_EXAMPLES_NSH_TELNETD is not selected, then the network is never
patacongo's avatar
patacongo committed
	  initialized and bad things happen if you try to ping.
patacongo's avatar
patacongo committed
	* drivers/lcd: Add header files for the Phillips PCF8833 LCD controller and
	  for the Epson S1D15G10 LCD controller.  A driver for the Nokia 6100 LCD is
	  coming.
patacongo's avatar
patacongo committed
	* include/nuttx/spi.h and almost all other SPI files: Added an optional
patacongo's avatar
patacongo committed
	  cmddata() method to the SPI interface.  Some devices require an additional
	  out-of-band bit to specify if the next word sent to the device is a command
	  or data. This is typical, for example, in "9-bit" displays where the 9th bit
	  is the CMD/DATA bit. The cmddata method provides selection of command or data.
patacongo's avatar
patacongo committed
	* drivers/lcd/p14201.c: Now uses the cmddata() method of the SPI interface.
	* arch/arm/src/lpc17xx/lpc17_usbdev.c: LPC17xx USB driver now appears to
patacongo's avatar
patacongo committed
	  to be fully functional.  examples/usbstorage configuration verified (the
	  examples/usbserial configuration is untested).
patacongo's avatar
patacongo committed
	* drivers/usbdev/usbserial.c and usbstorage.c: All USB class drivers need
	  to call DEV_CONNECT() when they are ready to be enumerated.  That is,
	  (1) initially when bound to the USB driver, and (2) after a USB reset.
patacongo's avatar
patacongo committed
	* drivers/lcd/nokia6100.c: A driver for the Nokia 6100 LCD.  This driver
patacongo's avatar
patacongo committed
	  has not be verified as of the initial check-in.
patacongo's avatar
patacongo committed
	* configs/olimex-lpc1766stk/nx: A NX graphics configuration for the Olimex
patacongo's avatar
patacongo committed
	  LPC1766-STK board using the Nokia 6100 LCD driver.  This configuration has
	  not been verified as of the initial check-in.
patacongo's avatar
patacongo committed
	* include/nuttx/spi.h: the SPI_SETBITS macro was calling the setmode method.
patacongo's avatar
patacongo committed
	  This is a very important bug-fix in some usages.
patacongo's avatar
patacongo committed

patacongo's avatar
patacongo committed
5.16 2011-01-10 Gregory Nutt <gnutt@nuttx.org>
patacongo's avatar
patacongo committed
	* include/nuttx/usb: Created new directory.  Moved all usb-related header
	  files to this new directory.  Created a skeleton for a new USB host header
	  file
patacongo's avatar
patacongo committed
	* drivers/usbhost: Add USB host "registry" where connect devices can be
patacongo's avatar
patacongo committed
	  matched with the correct USB class driver.
patacongo's avatar
patacongo committed
	* arc/arc/src/lpc17xx/lpc17_usbhost.c: Add a simple USB host driver for
patacongo's avatar
patacongo committed
	  the NXP lpc17xx.
patacongo's avatar
patacongo committed
	* drivers/usbhost: Add generic USB device enumeration logic.
	* drivers/usbhost: Add a USB host class driver for the (Bulk-Only) USB
patacongo's avatar
patacongo committed
	  Mass Storage Class.
patacongo's avatar
patacongo committed
5.17 2011-01-19 Gregory Nutt <gnutt@nuttx.org>
patacongo's avatar
patacongo committed
	* include/nuttx/usb: rename usb_storage.h to storage.h.
	* arch/arm/src/lpc17xx/lpc17_usbhost.c: Add support for low-speed devices.
	* drivers/usbhost/usbhost_skeleton.c: Template for new class drivers
	* include/nuttx/usb/hid.h and drivers/usbhost/usbhost_hidkbd.c: New
	  files for HID keyboard support.
patacongo's avatar
patacongo committed
	* arch/arm/src/lpc17xx/lpc17_usbhost.c: Will now handle multiple
	  concurrent transfers on different endpoints (still only one TD per
	  endpoint).  All methods are protected from re-entrancy; lots of re-
	  structuring in preparation for interrupt endpoint support.
patacongo's avatar
patacongo committed
	* arch/arm/src/lpc17xx/lpc17_usbhost.c: Add support for periodic
patacongo's avatar
patacongo committed
	* examples/hidkbd: Added a simple test for the USB host HID keyboard
patacongo's avatar
patacongo committed
	* configs/olimex-lpc1766stk/hidkbd: Added a configuration to build the
	  USB host HID keyboard class driver test for the LPC17xx.
	* Ran the tool CppCheck (http://sourceforge.net/apps/mediawiki/cppcheck) and
patacongo's avatar
patacongo committed
	  fixed several errors in the code identified by the tool.

patacongo's avatar
patacongo committed
5.18 2011-02-27 Gregory Nutt <gnutt@nuttx.org>
patacongo's avatar
patacongo committed

	* Incorporate several uIP patches from http://gitweb.aeruder.net/?p=uip.git;a=summary.
	  - Lost SYNACK causes connection reset
	  - Fix missing UDP stats for sent/received packets
	  - Added support for Cygwin as development/test platform.
patacongo's avatar
patacongo committed
	* configs/demo9s12ne64: Integrate new buildroot-1.9 m8s12x toolchain.
	* 'uname -o' is used throughout the build logic in bash scripts and also in
	  Make.defs files in order to distinguish between Cygwin and Linux.  However,
	  the -o option is not standard and is not supported under, for example, OS-X or
	  Solaris.  This was solved by changing all 'uname -o' references to the more
	  complex:  'uname -o 2>/dev/null || echo "Other"'
patacongo's avatar
patacongo committed
	* drivers/usbhost/usbhost_enumerate.c: Add logic to get the VID and PID.  This
	  is necessary in order to support vendor-specific USB devices.
	* examples/wlan, configs/olimex-lpc1766stk/wlan, drivers/usbhost/usbhost_rtl8187.c,
patacongo's avatar
patacongo committed
	  Add infrastructure to support RTL18187 wireless USB.
patacongo's avatar
patacongo committed
	* configs/nucleus2g: backed out USB host changes... wrong board.
	* Renamed arc/hc/include/mc9s12ne64 and src/mc9s12ne64 to m9s12.  That name is
	  shorter and more general.
	* The NuttX repository has been converted to SVN and can now be found here
	  http://svn.code.sf.net/p/nuttx/code/trunk/
patacongo's avatar
patacongo committed
	* configs/mbed/hidkbd: Added USB host support for the mbed LPC1768 board; add
patacongo's avatar
patacongo committed
	  a USB host HID keyboard configuraion.
patacongo's avatar
patacongo committed
	* drivers/usbhost/hid_parser.c: Leverages the LUFA HID parser written by
patacongo's avatar
patacongo committed
	  Dean Camera.
patacongo's avatar
patacongo committed
	* examples/nsh: Correct an usage of getopt(): If you stop calling getopt()
patacongo's avatar
patacongo committed
	  before all parameters are parsed, you can leave getopt() in a strange state.
	* include/nuttx/video/fb.h: Restore missing RGB type that was accidentally removed
	  when Nokia 6100 support was added.
	* Rename arch/pjrc-8051 to arch/8051
patacongo's avatar
patacongo committed
	* configs/ne64badge: Add a configuration for the Future Electronics Group
	  NE64 Badge development board (Freescale MC9S12NE64)
	* Changes contributed by Uros Platise:
	  - Add support for the STM32F103RET6
patacongo's avatar
patacongo committed
	  - configs/vsn: Support for the ISOTEL NetClamps VSN V1.2 ready2go sensor
	    network platform
patacongo's avatar
patacongo committed
	* arch/hc, configs/ne64badge: Development is complete for the Freescale
	  mc9s12ne64 on the Future Electronics Group NE64 /PoE Badge board.  Howeve,
	  this port remains untested until I figure out this BDM / Code Warrior
	  and paged build thing
	* Added a new 'kill' command to NSH that will support sending signals to
	  running NuttX tasks.

patacongo's avatar
patacongo committed
5.19 2011-03-12 Gregory Nutt <gnutt@nuttx.org>
patacongo's avatar
patacongo committed
	* arch/arm/stm32/stm32_idle.c: During idle times, the STM32 now uses the
	  WFI instruction to sleep in a reduced power mode until the next interrupt
patacongo's avatar
patacongo committed
	  occurs (Contributed by Uros Platise).
	* NSH: 'mem' command renamed to 'free'.  Output is now more similar to the
	  Linux 'free' command.
patacongo's avatar
patacongo committed
	* NSH: Correct a redirection bug in NSH.  The following would not work; it
	  resulted in a hang after the 'cat /dev/fifo':

	    nsh> mkfile /dev/fifo
	    nsh> cd /tmp             # /tmp is a mounted RAM disk
	    nsh> cat /dev/fifo > test.txt &
	    nsh> echo "This is a test" > /dev/fifo

	  The error was caused because (1) there was a path that resulted in stdout
	  being closed (the "hang") and also (2) the 'cat' command was always outputting
	  to stdout, not to the redirected file descriptor.  Now:

	    nsh> cat test.txt
	    This is a test
patacongo's avatar
patacongo committed
	* drivers/pipes/pipe_common.c:  Driver open method was not returning an EINTR
	  error when it received a signal.  Instead, it just re-started the wait.  This
	  makes it impossible to kill a background pipe operation from NSH.
patacongo's avatar
patacongo committed
	* include/stdint.h: Correct some errors in conditional compilation (submitted
	  by Johannes Hampel).
	* arch/arm/lpc17xx/lpc17_idle.c: Uses the same logic as the STM32: uses the
	  WFI instruction to sleep in a reduced power mode until the next interrupt
	  occurs.
patacongo's avatar
patacongo committed
	* configs/olimex-lpc1766stk: Added an LED encoded to indicate if the LPC1766
	  is in sleeping.
patacongo's avatar
patacongo committed
	* examples/mm: This is a simplified version of the "built-in" memory manager
	  test of mm/mm_test.c.  It is simplified because it does not have access to
	  the internals of the memory manager as does mm/mm_test.c, but it has the
	  advantage that it runs in the actual NuttX tasking environment (the
	  mm/mm_test.c only runs in a PC simulation environment).
patacongo's avatar
patacongo committed
	* drivers/mmcsd_sdio.c/h: Several corrections submitted by Uros Platise.
	* arch/x86: Provide support for x86 architectures.  Support for the i486
	  architecture under QEMU is provided under arch/x86/include/i486,
	  arch/x86/include/qemu, arch/x86/src/i486, and arch/x86/src/qemu.
patacongo's avatar
patacongo committed
	* configs/qemu-i486: "Board" support configurations for verifying the QEME
	  i486 port.
patacongo's avatar
patacongo committed
	* arch/arm/src/stm32/stm32_spi.c: Correct base address of SPI3 (reported by
	  Uros Platise).
patacongo's avatar
patacongo committed
	* drivers/mmcsd/mmcsd_sdio.c: Correct a loop termination condition (also
patacongo's avatar
patacongo committed
	  reported by Uros Platise).
patacongo's avatar
patacongo committed
	* drivers/mtd/ramtron.c: Driver for SPI-based RAMTRON NVRAM devices FM25V10
	  (and others).  Contributed by Uros Platise.
patacongo's avatar
patacongo committed
	* examples/nsh and tools/mkromfsimg.sh: Add support for platform-specific
patacongo's avatar
patacongo committed
	  ROMFS-based NSH start-up scripts.
	* drivers/serial/uart_16550.c and include/nuttx/serial/uart_16550.h: Support
	  for a generic 16550 UART.
patacongo's avatar
patacongo committed
	* configure/qemu-i486/nsh: QEMU NSH example.
	* ../apps: The apps directory add-on was created by Uros Platise.  It
patacongo's avatar
patacongo committed
	  supports a set of end-user applications than can be executed on top of
	  NSH.  Think of it this way:  In a buckled-up embedded application, your
	  end-user programs will probably have their own dedicated start-up logic.
	  But, during development, you might want to have you applications
	  available and executable from the NSH command line.  This apps/ addon
	  (and NSH hooks) was contributed by Uros to accomplish just that.
patacongo's avatar
patacongo committed
	* sched/sched_waitpid() and include/sys/wait.h: Provides a simple and
patacongo's avatar
patacongo committed
	  very incomplete implementation of waitpid().  waitpid() is only available
	  if CONFIG_SCHED_WAITPID is defined in your configuration file.
patacongo's avatar
patacongo committed
	* sched/atexit.c and sched/exit.c: The atexit function is not frequently
patacongo's avatar
patacongo committed
	  used.  In order to save a few bytes, it is now conditioned on
	  CONFIG_SCHED_ATEXIT.  It your application is currently using atexit(),
	  you will need to add CONFIG_SCHED_ATEXIT to your configuration file.
patacongo's avatar
patacongo committed
	* drivers/net/slip.c: Add a SLIP driver (untested on initial check-in).
	* configs/olimex-lpc1766stk/slip-httpd: An example that uses SLIP to
patacongo's avatar
patacongo committed
	  provide a serial-port based THTTPD web server.

patacongo's avatar
patacongo committed
6.0 2011-03-21 Gregory Nutt <gnutt@nuttx.org>
patacongo's avatar
patacongo committed

patacongo's avatar
patacongo committed
	* lib/lib_fopen(): fopen() was not returning the correct errno value
patacongo's avatar
patacongo committed
	  when the underlying open() failed.
patacongo's avatar
patacongo committed
	* include/net/uip/uip-arch.h: The uIP interface has been extended
patacongo's avatar
patacongo committed
	  slightly so that drivers can be concurrenly filling and sending
	  packet buffers.  This capability was needed by the SLIP driver.
patacongo's avatar
patacongo committed
	* drivers/net/slip.c: Several corrections and some re-design of
patacongo's avatar
patacongo committed
	  of the driver.
patacongo's avatar
patacongo committed
	* apps/ChangeLog.txt: the apps/ directory now has its own ChangeLog.
	* configs/vsn:
	  - IDLE LED blinking fix
	  - Added board power off function
patacongo's avatar
patacongo committed
	* arch/arm/src/stm32/stm32_gpio.c and stm32_internal.h: Fixed
	  PullUp/Down Input Configuration.
patacongo's avatar
patacongo committed
	* arch/arm/src/lpc17xx/lpc17_serial.h: Now supports Auto-RTS and
	  Auto-CTS modes.  This is needed to support SLIP.
patacongo's avatar
patacongo committed
	* drivers/net/slip.c: SLIP is now basically functional on the
	  LPC17xx with some caveats as described in the TODO list under
	  LPC17xx.
patacongo's avatar
patacongo committed
	* arch/x86/include/i486/irq.h: Fix irqrestore() macro... it was not
	  correctly re-enabling interrupts.
patacongo's avatar
patacongo committed
	* arch/x86/src: Fix numerous problems with i486/QEMU context
	  switching.  Basically, the logic was missing the cases to handle
	  the differing stack frames when a priority change occurs and when
	  no priority change occurs.
patacongo's avatar
patacongo committed
	* configs/qemu-i486/ostest and nsh: The QEMU i486 port is complete.
patacongo's avatar
patacongo committed
	  it now passes the OS test and supports the NuttShell (NSH).
patacongo's avatar
patacongo committed
	* misc/drivers: Created a new directory to hold non-BSD licensed
patacongo's avatar
patacongo committed
	  drivers that may be added into NuttX via an installation script.
patacongo's avatar
patacongo committed
	* drivers/usbhost/usbhost_rtl8187.c: A decision was made to
patacongo's avatar
patacongo committed
	  incorporate code taken from the Linux kernel.  That changes the
	  licensing on this module to GPL.  To avoid licensing contamination,
	  this driver was moved to misc/drivers/rtl8187x *prior* to adding
patacongo's avatar
patacongo committed
	  any of the GPL logic.  There is an INSTALL.sh script at the location
patacongo's avatar
patacongo committed
	  where the GPL driver(s) can be re-installed into the NuttX source
	  tree.  By re-installing the driver, you agree to the GPL licsensing
	  and all of its implications.
patacongo's avatar
patacongo committed
	* Makefile, apps/Makefile, tools/configure.sh: add logic to copy
patacongo's avatar
patacongo committed
	  configs/<board>/<config>/appdir to apps/.config and to simply the
	  application configuration logic.
patacongo's avatar
patacongo committed
	* examples/nsh and apps/nshlib: Move the core NuttShell (NSH) logic
patacongo's avatar
patacongo committed
	  out of the exemples directory and into the apps/ directory where
patacongo's avatar
patacongo committed
	  it belongs.
patacongo's avatar
patacongo committed
	* apps/Makefile and configs/*/appconfig: Use '=' as the delimiter
patacongo's avatar
patacongo committed
	  instead of '/' so that sub-directories in apps/ can be used.
patacongo's avatar
patacongo committed
	* apps/vsn: Move all VSN apps to apps/vsn.
	* nuttx/examples moved to apps/examples
patacongo's avatar
patacongo committed
6.1 2011-04-11 Gregory Nutt <gnutt@nuttx.org>
patacongo's avatar
patacongo committed

patacongo's avatar
patacongo committed
	* arch/arm/include/lpc17xx/irq.h and arch/arm/src/lpc17xx/lpc17_gpio*.c:
	  Fix several bugs in the GPIO interrupt logic.  Submited by
	  Decio Renno.
	* Initialization for the CONFIG_APPS_DIR is now supported during the
	  earlier, 'context' build phase.
patacongo's avatar
patacongo committed
	* arch/arm/src/lpc17_gpioint.c: Finish coding of the LPC17xx GPIO
patacongo's avatar
patacongo committed
	* net/netdev_unregister.c: Add capability to un-register a network
patacongo's avatar
patacongo committed
	  device.
	* drivers/mmcsd/mmcsd_sdio.c: extra effort to correctly handle cases
	  without the SDcard (but one issue still exists in STM32)
patacongo's avatar
patacongo committed
	* arch/arm/src/stm32/stm32_tim.*: Added basic timer support TIM1..TIM8
	  with output PWMs and interrupt logic
	* config/vsn/src: added basic support for Sensor Interface (GPIO and
patacongo's avatar
patacongo committed
	  PWM Power Output, and the sif utility program)
	* fs/: Reorgnize header so that file systems can be built outside
patacongo's avatar
patacongo committed
	* apps/namedapp/binfs.c: Create a tiny filesystem that can be used
	  to show the internal named apps under /bin.
	* fs/fs_opendir.c: Correct an error that occurs when a file system is
	  mounted in the root directory.  This was discovered while mounting
	  the named app's /bin directory.
	* lib/: Move all source files into a subdirectory of lib/ named after
	  the header file in which the library function is prototyped.
	* sched/ and lib/pthread/:  Move pthread attribute-related interfaces
	  from sched/ to lib/pthread where they more appropriately belong.
	* sched/ and lib/semaphore/:  Move some semaphore-related interfaces
	  from sched/ to lib/pthread where they more appropriately belong.
	* syscall/: The beginnings of an optional syscall Kernel interface.
patacongo's avatar
patacongo committed
	* tools/mksyscall.c:  Add a tool that will auto-generate syscall proxies
	  and stubs from a comma-separated-value (CSV) data file.
patacongo's avatar
patacongo committed
	* arch/arm/src/cortexm3/mpu.h: Add a header file describing the Cortex-M3
	  MPU registers.
	* Numerous modifications to the build system.  Various people have reported
	  build problems since the re-organization and release of NuttX-6.0.  I am
	  unable to replicate the build problems in my environment, but the changes
	  have be incorporated in hope of correcting the build issues in other
	  environments.
	* drivers/i2c/st_lis331dl.c:  I2C-based driver for the LIS331DL MEMS
	  motion sensor.  Contributed by Uros Platise.
	* Makefile: The NuttX build system  will now supported building NuttX as two
	  separately linked images: (1) a kernel-mode RTOS image, and (2) a user-
	  mode application image that communicates to the RTOS kernel via system
	  calls.  A lot more still must be done.
	* user_initialize(): Eliminated the user_initialize() initialization hook.
	  It is difficult to maintain and redundant:  Board level initialization
	  an up_initialize() provide the same kind of capability.
	* arch/*/include/*/type.h: On some compilers, char defaults as unsigned.
	  Explicitly add signed to integer types if signed is what is required.
	* arch/*: For all architectures -- Global register state save structure
	  (usually called current_regs) should be marked volatile; Added general
	  capability to support nested interrupts (not fully realized for all
	  architectures).
	* sched/task_create.c: Add support for starting kernel-mode thread.
	* drivers/usbdev/usbdev_serial.c: Fix reported by Sheref Younan.  USB
	  was being reset after serial driver was closed.  As a result, you could
	  no reopen the serial driver.
	* configs/lpcxpresso-lpc1768: Add a board configuration for the Embedded
	  Artists LPCXpresso LPC1768 board.

patacongo's avatar
patacongo committed
6.2 2011-05-06 Gregory Nutt <gnutt@nuttx.org>
patacongo's avatar
patacongo committed

	* arch/arm/src/lpc17xx/lpc17_gpioint.c: Correct errors in logic that maps
	  and IRQ number into a register bit number.
	* Makefile: Fix an error introduced in the top-level Makefile in NuttX-6.1.
	  This error only shows up if you have a /tftpboot directory.  Then the
	  make will fail with an obscure error about not being able to stat pass2.
	* configs/lpcxpresso-lpc1768/nsh: Add an NSH configuration for the
	  LPCXpresso board.
patacongo's avatar
patacongo committed
	* configs/*/ld.script: Removed 'sh_link not set for section .ARM.edix' for
	  a few of the builds.  In you have this warning, it can be removed with the
	  following change to the ld.script file:
patacongo's avatar
patacongo committed
		+ __exidx_start = ABSOLUTE(.);
		.ARM.exidx : {
		-     __exidx_start = ABSOLUTE(.);
		      *(.ARM.exidx*)
		-     __exidx_end = ABSOLUTE(.);
		} >sram
		+  __exidx_end = ABSOLUTE(.);
patacongo's avatar
patacongo committed
	* arch/arm/src/lpc17xx: Correct some typos/bugs in configuration of LPC17xx
	  UART2 and UART3.
patacongo's avatar
patacongo committed
	* nuttx/clock.h: Replace all references to the global variable g_system_timer
	  with clock_systemtimer() (currently just a macro that that returns g_system_timer).
patacongo's avatar
patacongo committed
	* lib/string/strrch.c: Would fail if the searched-for character were the first
patacongo's avatar
patacongo committed
	  character in the string.
patacongo's avatar
patacongo committed
	* tools/version.sh and mkversion.c: Tools to manage a NuttX version number
	  file
patacongo's avatar
patacongo committed
	* sched/clock_getutc() and lib/time/lib_time.c: Add support for 1 second UTC
patacongo's avatar
patacongo committed
	  interface.
	* net/net_dup2.c and include/nuttx/net.h: The conditional compilation for
	  '#if CONFIG_NFILE_DESCRIPTOR > 0' was wrong in both of these files.  It should
	  be '#if CONFIG_NFILE_DESCRIPTORS > 0'.  This causes a dup2() failure in THTTPD
	  and a failure to get a CGI page.  The consequence can be a very serious bug!
	* configs/lpcxpresso-lpc1768/usbstorage, thttpd, and dhcpd: Add an USB storage,
	  THTTPD web server, and DHCP server configurations for the NXP LPCXpresso board.
	* drivers/lcd/ug-9664hswag01.c and ssd1305.h: Add support for Univision UG-9664HSWAG01
	  OLED with Solomon Systech SD1305 LCD controller.
	* configs/lpcxpresso-lpc1668/nx: Add a NX graphics configuration for the LPCXPRESO
	  board.
	* graphics/nxglib/nxglib_nonintersecting.c: Fix some single bit errors in
	  calculation of non-intersecting regions.  This was causing an anomaly
	  in examples/nx in column 0.
patacongo's avatar
patacongo committed
	* drivers/mtd/rammtd.c: Added a RAM based MTD driver.  This RAM driver simulates
	  FLASH and is useful for testing purposes.
	* arch/arm/src/arm/up_head.S: Fix backward conditional compilation.  This cause
	  the configs/mx1ads configuration to fail to build but does not appear to affect
	  any other ARM9 build.
	* fs/nxffs: Adding a tiny, wear-leveling FLASH file system for NuttX.  This
	  file system is intended to be small and will have some limitations.  The
	  implementation is incomplete on initial checkin.
	* apps/examples/nxffs and configs/sim/nxffs:  Add a test a a configuration that
	  will be used to verify NXFFS.
	* fs/fat/fs_fat32.c and fs_fat32util.c: Incorpated two bugs with fixed provided
	  by Sheref Younan.  Thanks!
patacongo's avatar
patacongo committed
	* fs/nxffs: After a couple of weeks of testing and bug fixes, NXFSS appears
	  stable and functional.

patacongo's avatar
patacongo committed
6.3 2011-05-15 Gregory Nutt <gnutt@nuttx.org>
patacongo's avatar
patacongo committed
	* Remove clock_getutc().  It is replaces with clock_gettime(CLOCK_ACTIVETIME).
	  Add other RTC related changes provided by Uros Platise.
patacongo's avatar
patacongo committed
	* arch/arm/src/stm32/stm32_flash.c: Add support for access to on-chip STM32
patacongo's avatar
patacongo committed
	  FLASH; beginning of integration with NXFFS (Uros Platise).
	* arch/mips: Added directory structure for PIC32 support
	* configs/pcblogic-pic32mx:  Add directory structure for PCB Logic PIC32MX board
	* apps/include:  Move include/apps to apps/include.  A symbolic link is created at
	  build time
	* Makefile: Removed support for Pascal pcode interpreter.  Support for that
	  interpreter has been moved to apps/interpreter/Makefile.
	* tools/mkdep.sh: Should not report an error if there are no files on the command
	  line.  This happens normally in certain configurations.
	* drivers/usbhost: Sheref Younan reported an error in the error handling when
	  connection to a USB device fails.  In certain fail cases, the logic would try
	  to free the device class instance twice, the first was okay, but the second
	  caused a crash.
	* graphics/nxbe/nxbe_colormap.c: Fix error noted by Bassem Fahmy.  The function
	  nxbe_colormap was change to nxbe_configure... apparently "search-and-replace"
	  error. This error was not noticed before because most NX platforms do not use
	  colormapping.
	* arch/rgmp and configs/rgmp.  Add 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.
	* lib/stdio/lib_fclose.c: Must flush all buffered data when the file is closed.
	  Instead, it was discarding the buffered data.
	* lib/stdio: All output stream logic was modified to support CONFIG_STDIO_LINEBUFFER.
	  If standard C buffered I/O is enabled (CONFIG_STDIO_BUFFER_SIZE > 0), then this
	  option may be added to force automatic, line-oriented flushing the output buffer
patacongo's avatar
patacongo committed
	  for putc(), fputc(), putchar(), puts(), fputs(), printf(), fprintf(), and vfprintf().
patacongo's avatar
patacongo committed
	  When a newline is encountered in the output string, the output buffer will be
	  flushed.  This (slightly) increases the NuttX footprint but supports the kind of
	  behavior that people expect for printf.
patacongo's avatar
patacongo committed

patacongo's avatar
patacongo committed
6.4 2011-06-06 Gregory Nutt <gnutt@nuttx.org>

	* lib/drivers/cc1101: Add initial, functional CC1101 wireless driver
	  (contributed by Uros Platise)
	* arch/mips and configs/pcblogic-pic32mx: The MicroChip PIC32MX port is now
patacongo's avatar
patacongo committed
	  code complete and ready to begin testing.  Unfortunately, it looks like
patacongo's avatar
patacongo committed
	  testing will be delayed due to tool issues (My PICkit 2 will not work the
	  the MPLAB debugger on PIC32; I will need to get a PICkit 3).
patacongo's avatar
patacongo committed
	* drivers/net/e1000.c/h: A PCI-based E1000 Ethernet driver submitted
	  by Yu Qiang.
	* lib/net/lib_inetaddr.c: An implementation of the inet_addr() function
	  submitted by Yu Qiang.
patacongo's avatar
patacongo committed
	* arch/arm/src/lpc31xx and arch/arm/include/lpc31xx:  Renamed from lpc313x
	  to make name space for other famiy members.
	* arch/arm/*/lpc31xx: Added support for the LPC315x family (untested).
	* sched/task_exithook.c: Functionality performed when a task exits or is
	  deleted has been moved to a common file task_exithook.c.  Now exit()
	  functionality (like flushing I/O and calling registered atexit()
	  functions, etc.) will be performed when a task is deleted as well.
	* mm/:  Added support for CONFIG_MM_SMALL. Each memory allocation has a
	  small allocation overhead.  The size of that overhead is normally
	  determined by the "width" of the address support by the MCU.  MCUs
	  that support 16-bit addressability have smaller overhead than devices
	  that support 32-bit addressability.  However, there are many MCUs
	  that support 32-bit addressability *but* have internal SRAM of size
	  less than or equal to 64K.  In this case, CONFIG_MM_SMALL can be
	  defined so that those MCUs will also benefit from the smaller, 16-
	  bit-based allocation overhead.
patacongo's avatar
patacongo committed
	* lib/string/lib_strndup.c: Add standard strndup() library function.
patacongo's avatar
patacongo committed
	* net/getsockname.c: Added standard getsockname() to return the local
	  address associated with a socket.
patacongo's avatar
patacongo committed
	* lib/stdio/lib_asprintf.c: Add asprintf()
	* configs/olimex-lpc1766stk/ftpc:  Add a configuration to support
	  testing of the FTP client shell.
patacongo's avatar
patacongo committed
	* fd/fs_fdopen.c and net/net_checksd.c: Add support so that fdopen may
	  be used with socket descriptors.
patacongo's avatar
patacongo committed
	* net/recvfrom.c: Fix an error found in receiving small files via FTP:
	  The small file is received a buffered in the readahead buffer, then the
	  socket is disconnected.  When the app calls recvfrom, the socket is
	  already disconnected and the buffered data is stranded.  Now, recvfrom
	  will continue to return success after the socket is disconnected until
	  the readahead buffer is drained.
	* olimex-lp1766stk/ftpc/defconfig: Many configurations have the MTU
patacongo's avatar
patacongo committed
	  (CONFIG_NET_BUFSIZE) set to very small numbers, less then the minimum
	  MTU size that must be supported -- 576. This can cause problems in
	  some networks:  CONFIG_NET_BUFSIZE should be set to at least 576 in
	  all defconfig files.  This has only been fixed in this defconfig file.
patacongo's avatar
patacongo committed
6.5 2011-06-21 Gregory Nutt <gnutt@nuttx.org>
patacongo's avatar
patacongo committed

	* arch/avr/src/avr and arch/avr/include/avr: Adds general support for
	  the Atmel 8-bit AVR family.
patacongo's avatar
patacongo committed
	* arch/avr/src/atmega and arch/avr/include/atmega: Adds support for the
patacongo's avatar
patacongo committed
	  Atmel AVR ATMega family.
patacongo's avatar
patacongo committed
	* arch/avr/src/at90usb and arch/avr/include/at90usb: Adds support for the
patacongo's avatar
patacongo committed
	  Atmel AVR AT90USB family.
	* configs/micropendous3: Adds a board configuration for the Opendous
	  Micropendous 3 board.  This board may be populated with several different
	  members of the Atmel AVR AT90USB family.
	* configs/amber: This is a placehold for the Atmel ATMega128 Amber Web
	  Server from SoC Robotics.  Not much present in this directory on initial
	  check-in.
patacongo's avatar
patacongo committed
	* configs/teensy: Adds a board configuration for the PJRC Teensy++ 2.0 board
	  that features an Atmel AT90USB1286 MCU.
	* fs/fat: Offsets, sector numbers, etc. need to be off_t, not size_t.  size_t
	  is intended to be the maximum size of a memory object, not a file offset. This
	  does not make any difference except on systems (like the AVR) where size_t
	  is only 16-bits.
patacongo's avatar
patacongo committed

patacongo's avatar
patacongo committed
6.6 2011-07-11 Gregory Nutt <gnutt@nuttx.org>

	* drivers/mtd/ramtron.c, net/net_checksd.c, fs/fs_fdopen.c, and include/nuttx/mii.h:
	  Several structural changes made to get a clean compile under the ez80 ZDS-II
	  toolchain (no design changes).
	* drivers/usbhost/usbhost_storage.c: Incorpated bugfixes reported by Sheref H.
	  Younan:  (1) Read capacity logic read largest block, not the number of blocks
	  and was, therefore, off by one, and (2) Some devices stall of get Max LUN request
	  if they support only a single LUN.  Logic now assumes a single LUN if the get
	  Max LUN request fails.
	* include/nuttx/arch.h, lib/stdio/lib_libvsprintf.c, lib/stdio/lib_fputs.c: Add
	  a new configuration option to support extracting strings from FLASH or EEPROM
	  or other memories where the string data cannot be accessed by simply de-referencing
	  a string pointer.
	* arch/sim/src/up_romgetc.c: Used to test the basic logic to access strings
	* arch/avr/src/avr/up_romget.c: Used to access strings that lie in the first
	  64K of FLASH (But I still haven't figured out how to get strings to reside in
	  FLASH without using the PROGMEM attribute).
	* configs/teensy/src/up_spi.c: Correct reading of SD CD and WP pins (was reading
	  the wrong register.  AVR SPI now appears to be functional.
	* arch/avr/src/at90usb/at90usb_usbdev.c: Correct USB initialization.  Interrupts
	  were being enabled BEFORE the interrupt handler was attached.
	* configs/sure-pic32mx:  Add a configuration for the Sure Electronics, "Advanced USB
	  Storage Demo Board," Model DB-DP11215 (http://www.sureelectronics.net/goods.php?id=1168).
	  This board features the MicroChip PIC32MX440F512H MCU. (Untested on initial
	  check-in).
	* configs/stm3210e-eval/nsh2:  Add another NSH configuration for the STM32 with
	  some different properties.
	* CONFIG_NSH_CONDEV:  Add a configuration option to allow using a different character
	  device (such a a different UART) for the NSH interface.  This allows, for example,
	  debug output to come from the console device while using another device for NSH.
	  There are some issues on initial check-in:  NuttX doesn't have termios and the
	  console device has special properties that make using NSH awkward.  Examples:
	  No CR-LF expansion, no character echoing, no command line editting.
patacongo's avatar
patacongo committed
	* arch/arm/src/stm32/stm32_lowputc.c and stm32_serial.c.  Correct seversl bugs
	  involving serial port configuration.  These bugs are only critical if you
	  are trying to using multiple UARTs on STM32.
	* configs/stm3210e-eval/src/up_lcd.c:  Add a driver for the STM3210E-EVAL's LCD.
	* configs/stm3210e-eval/nx:  Add NX configuration for the STM3210E-EVAL.
	* configs/nuttx/arch.h (and arch/arm/src/stm32, configs/*/src/up_buttons.c):
	  Standardize interfaces exported for button support and button interrupts.
patacongo's avatar
patacongo committed
	* configs/stm3210e-eval/src/up_buttons.c:  Add interrupting button support.
	  Also fixes a few errors in STM3210E-EVAL button decoding.
	* configs/stm3210e-eval/buttons: Add a configuration to exercise STM3210E-EVAL
	  buttons.
	* arch/arm/src/stm32/stm32_gpio.c:  GPIO interrupt handling for pin
	  numbers were being aliased:  5-9 together and 10-15 together.  Extended
	  the logic to peform decoding of GPIO interrupts and unique dispatching
	  for all 16 pins.
	* configs/stm3210e-eval/nxtext: Add a configuration for the apps/examples/nxtext
	  example.  This example 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.
patacongo's avatar
patacongo committed
	* arch/arm/src/common/up_checkstack.c:  ARM stack overflow checking submitted
	  by Hal Glenn.
	* arch/arm/src/lpc17xx: Changes to compile successfully with no serial console
	  (also submitted by Hal Glenn).
	* graphics/nxfonts/nxfonts_convert.c:  Fixed a critical bug that caused
	  when renderer some fonts with bits-per-pixel > 8
	* graphics/nxbe/nxbe_move.c: Fixed an error in the graphics move logic (This
	  was a previously untested interface).  Basically, there is some confusion
	  between use of (x,y) as a relative offset or as an absolute position.
	* graphics/nxbe/nxbe_close.c:  Fixed an important graphics system bug:
	  When a window is closed, the display was not being updated.  The old
	  window graphic was left on the display for a time.
patacongo's avatar
patacongo committed

patacongo's avatar
patacongo committed
6.7 2011-08-02 Gregory Nutt <gnutt@nuttx.org>

	* Makefile:  Added a export target that will bundle up all of the NuttX
	  libraries, header files, and the startup object into an export-able
	  tarball.
	* arch/arm/src/lpc17xx/lpc17_can.h:  Correct some typos in the CAN
	  register definitions.
	* drivers/serial/serialirq.c:  Correct an error that can occur if the
	  serial RX buffer becomes full.  Data is now discarded in that case;
	  before, leaving data in the hardware would cause infinite interrupts
	  one most MCUs since you must read the data in order to clear the
	* arch/arm/src/lpc17xx/lpc17_can.c:  Added a CAN driver contributed by
	  Li Zhuoyi (Lzyy).
	* include/stddefs.h and sys/types:  Added type wchar_t.
	* fs/fat/fat_fat32dirent.c:  Move all FAT directory operations to this
	  new file; Implement VFAT long file name support.
	* fs/fat/fat_fat32dirent.c:  The configuration CONFIG_FAT_LCNAMES has
	  been around for some time but never tested until now.  This setting
	  will mimic the NT 8.3 file name behavior:  File names or extensions
	  may be all upper or all lower case (but not mixed).  If
	  CONFIG_FAT_LCNAMES is not selected, all filenames are strictly upper
	  case.
	* configs/stm3210e-eval/nsh2:  Console is back on UART1; Added
	  examples/nx as an NSH "built-in" command as a demonstration.
	* fs/fat/fs_fat32dirent.c:  Fix an important bug in the directory
	  allocation (fat_allocatedirentry()).  I looks like it could be
	  initializing the wrong sectors! NOTE:  This function was in
	  fs_fat32utils.c in earlier releases.
	* arch/arm/src/stm32_sdio.c: Correct an important DMA-related bug;
	  SDIO transfer completion events and DMA completion eventes were
	  not being coordinated correctly.
	* configs/stm3210e-eval/nsh2: Enable FAT long file name support
patacongo's avatar
patacongo committed
	* sched/sem_timedwait.c: Add the standard sem_timedwait() interface.
	* graphics/nxfonts/nxfonts_getfont.c, nxfonts_bitmap.c,
	  Makefile.source, and include/nuttx/nxfonts.h: Support for multiple
	  fonts included.  A new interface, nxf_getfonthandle() takes a font
	  ID and returns a handle that is now used at all other font interfaces
	  to specify which of the multiple fonts to use.
	* arch/arm/src/lpc17xx/lpc17_syscon.h: Fix typo (reported by Li Zhuoyi).
	* configs/stm3210e-eval/nsh2: Extended to support two new commands:
	  'msconn' will connect the USB mass storage device; 'msdis' will
	  disconnect the USB storage device.
	* tools/bdf-converter.c.  This C file is used to build the bdf-converter
	  program.  The bdf-converter program be used to convert fonts in Bitmap
	  Distribution Format (BDF) into fonts that can be used in the NX graphics
	* include/nuttx/nx:  Move all NX header files from include/nuttx to
	  include/nuttx/nx.
	* drivers/usbdev/usbdev_usbstorage.c and arch/arm/src/stm32/stm32_usbdev.c:
	  Correct a memory leak when the USB mass storage driver is connected and
	  then disconnected from the target.  The write requests were not being
	  freed.  NOTE that the unregister logic in the STM32 needed to call
	  stm32_reset() in order to return the write requests to the USB mass
	  storage driver; it is possible that a similar but could exist for other
	  architectures.
	* graphics/nxfonts/nxfonts_*.h:  Add serveral more new fonts
	* arch/z80/src/ez80/ez80_serial.c: Fix some errors in serial driver
	  setup for UART1 (submitted by Paul Osmialowski).
	* drivers/input/tsc2007.c and include/nuttx/input/*:  Add a generic NuttX
	  touchscreen interface.  Add a driver for the TI TSC2007 touchscreen
	  controller.
	* graphics/nxglib/lcd and fb:  Add low level routines to set single pixels.
	* lib/math/lib_b16atan2.c:  Add a fixed precision atan2() function
patacongo's avatar
patacongo committed
	* graphics/nxglib/nxglib_splitline.c: Add logic to divide a wide line into
	  trapezoidal components.
	* graphics/nxmu/nx_drawline.c, graphics/nxsu/nx_drawline.c,
	  graphics/nxtk/nxtk_drawlinewindow.c, graphics/nxtk/nxtk_drawlinetoolbar.c:
	  Add new line drawing interfaces (untested).
patacongo's avatar
patacongo committed
6.8 2011-08-19 Gregory Nutt <gnutt@nuttx.org>
patacongo's avatar
patacongo committed

	* arch/arm/src/lpc17xx/chip.h:  Fix some chip memory configuration errors
	  for the LPC1764, LPC1756, and LPC1754 (submitted by Li Zhuoy (Lzyy))
patacongo's avatar
patacongo committed
	* arch/arm/src/lpc17xx/lpc17_can.h:  Revised CAN driver submitted by
	   Li Zhuoy (Lzyy).  The driver now supports both CAN1 and CAN2.
	* arch/arm/sim/up_lcd.c: Add a simulated LCD driver.
	* configs/stm3210e-eval/nxlines:  Added a configuration to build
	  examples/nxlines.
	* arch/graphics: Used apps/examples/nxlines to (finally) verify the NX
	  trapezoid drawing functions and (wide) line drawing functions.
	* arch/rgmp and configs/rgmp.  Yu Qiang has ported RGMP to the OMAP4430 (arm)
	  pandaboard and release the new RGMP 0.3 version. The main changes are: (1)
	  Separate configs/rgmp/x86 and configs/rgmp/arm configuration directory, and
	  (2) Extract architecture dependent code in arch/rgmp/include and
	  arch/rgmp/src into corresponding x86/ and arm/ directories.
	* arch/arm/src/kinetis, arch/arm/include/kinetis, configs/kwikstick-k40:
patacongo's avatar
patacongo committed
	  Add a directory structure to support the port to the Kinetis KwikStik-K40.
	  There is no real substance in the initial check-in; only the directory
	  structure and skeleton files (Code complete on 8/15/11).
	* arch/arm/include/armv7-m, arch/arm/src/armv7-m, etc.: Rename all cortexm3
	  directories and files to armv7-m; Change name of of all CORTEXM3 constants
	  to ARMV7M.  This is a major namespace change needed to cleanly support the
	  ARM Cortex-M4 which is also in the ARMv7 M Series (specifically, ARMv7E-M).
	* sched/sig_initialize.c, sig_received.c, and mq_waitirq.c.  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.  In
	  the first two files, errors would prevent proper allocation of signal-related
	  structures from interrupt handlers.  In the second, there was missing
	  "clean-up" logic after a signal occurred, leaving the message queue in
	  a bad state and resulting in PANICs.  All are important.  (submitted by
	  hkwilton).