Skip to content
ChangeLog 218 KiB
Newer Older
	* arch/arm/src/lpc43xx/lpc43_rgu.c:  The soft reset logic called from the
	  beginning of __start seems cause problems.  A magic delay seems to improve
	  the logic some.  But I suspect that real fix is to get rid of all of the
	  soft reset logic.  This would also be a critical bugfix if I believed
	  that it really fixed all of the issues.
	* arch/arm/src/lpc43xx/chip/lpc43_cgu.h:  Fix a bit mask in the PLL1
	  control register.  Critical bugfix.
	* arch/arm/src/lpc43xx/lpc43_clockconfig.c and configs/lpc4330-xplorer/include/board.h:
	  Implement PLL1 ramp-up logic; Now the LPC43xx is running at 204MHz.
	* configs/lpc4330-xplorer/*/defconfig:  Re-calibrated delay loops using
	  the 204MHz clock.  The LPC43xx ripping rips!  This calibration was performed
	  with symbols enabled and all optimization disabled.  It will need to be
	  better recalibrated again down the road.
	* arch/arm/src/stm32/stm32_exti.c:  Renamed to rch/arm/src/stm32/stm32_exti_gpio.c
	  to make a little room in the file name space.
	* arch/arm/src/stm32/stm32_exti_alarm.c:  Add initial logic to attached the
	  RTC alarm EXTI interrupt.  This is work be performed mostly by Diego Sanchez.
patacongo's avatar
patacongo committed
	* include/: More stylistic file clean-up.
	* arch/arm/src/lpc43xx/lpc43_spifi.c, lpc43_spifi.h, and chip/lpc43_spifi.h:  Add
	  logic to configure and initialize the SPIFI device (does not yet work).
	* configs/lpc4330-xplorer/include/board.h:  Reduce SPI SCLK value.
	* arch/arm/src/lpc43xx/lpc43_spifi.c, lpc43_spifi.h, and chip/lpc43_spifi.h:
	  Logic completely redesigned.  It now creates an MTD driver to access SPIFI...
	  but the driver still does not work.
	* arch/arm/src/stm32 and arch/arm/include/stm32: Make name of RTC ALARM interrupt
	  common on STM32 F1,2,4
patacongo's avatar
patacongo committed
	* arch/arm/src/stm32 and arch/arm/include/stm32: Add support for the
	  STM32F100x "Value Line" devices. This includes changes to stm32F10xx_rcc.c that
	  add the ability to run the chip off the internal oscillator.  There is no open
	  board configuration for this part yet (the STM32VLDiscovery would be a candidate).
	  Contributed by Mike Smith.
	* arch/arm/src/stm32: Fixed typos in conditional compilation in the CAN and DMA
	  and some pin configuration.  This would have caused problems for STM32 F107xx.
	  Typos noted by Mike Smith.
	* arch/arm/src/lpc43xx/lpc43_serial.c:  Add support for certain RS-485 features
	* lib/termios/lib_cfsetispeed.c, lib_cfsetospeed.c, lib_tcflush.c:  Add
	  simple implementations of cfsetispeed(), cfsetospeed(), and tcflush().
	* include/sys/str_tty.h, lib/lib_setspeed.c, lib_getspeed.c, and lib_resetspeed.c:
	  Add APIs to support setting non-standard BAUD values not supported by POSIX
	  termios.  These are non-standard interfaces but have a precedence:  There are
	  similar interfaces in AIX.
	* include/sys/str_tty.h, lib/lib_setspeed.c, lib_getspeed.c, and lib_resetspeed.c:
	  Sigh... removed.  We don't need any more almost standard interfaces!  (SVN
	  revision 4968 if you want the short-lived code).
	* include/termios.h and lib/termios/*:  Open the existing, standard termios
	  interfaces to permit some non-standard baud settings.  The new termios definitions
	  still supports the POSIX standard except that it does not strictly enforce
	  baud rate settings, permitting some non-portable, but useful baud rate settings
	  (this is what the short-lived AIX-like interfaces would have accomplished as well).
	* include/termios.h and lib/termios/*:  Redesigned yet again (this is getting
	  painful.  NuttX now supports the BOTHER baud setting just as Linux does.  termios
	  Bxxx definitions are again encoded; cf[set|get][o|i]speed now deal with only the
patacongo's avatar
patacongo committed
	  encoded values.  If the encoded baud is set to BOTHER, then the values in the (non-
	  standard) c_ispeed and c_ospeed baud values may be accessed directly.
	* arch/arm/src/stm32/stm32_serial.c:  Add minimal termios support for the STM32
	  (BOTHER style baud settings only).  Contributed by Mike Smith.
patacongo's avatar
patacongo committed
	* configs/lpc4343-xplorer/src:  Clean up SPIFI-library based build to that it
	  actually works.
	* arch/arm/src/lpc43xx/lpc43_spifi.c:  Add support for verification to writes.
	  Add debug option to dump buffers.  Several bugfixes... almost works.
	* include/termios.h, lib/termios/*, and arch/arm/src/stm32/stm32_serial.c: :
	  BOTHER is gone again.
	* arch/arm/src/stm32/stm32_sdio.c and chip/stm32f20xx_pinmap.h:  STM32 F2 SDIO
	  fixes from Gary Teravskis and Scott Rondestvedt.
	* include/termios.h and lib/termios/*:  Replace cfsetispeed and cfsetospeed with
patacongo's avatar
patacongo committed
	  cfsetspeed (with definitions for the input/outputs in termios.h).
	* configs/stm32f4discovery/src and configs/stm32f4discovery/pm:  Add a power
	  management configuration for the STM32F4Discovery and supporting logic.  This
	  check-in also includes some fixes for the F4 RTC alarm logic.
	* drivers/input/pga11x.c and include/nuttx/input/pga11x.h:  Add support for the
	  TI PGA112/3/6/7 amplifier/multiplexer parts.
	* configs/mirtoo/README.txt, nsh/defconfig, and nxffs/defconfig:  Add support
	  for the PGA117 on the Mirtoo module.
	* drivers/analog/pga11x.c and include/nuttx/analog/pga11x.h:  These belong in
	  the analog subdirectories, not input.
	* configs/compal_e99/src/ssd1783.c and /ssd1783.h:  Drivers for the SSD1783
	  LCD found in the Motorola C155 telephone.  The driver is specific to the C155
	  because it uses the uwire transport.  Contributed by Denis Carilki and
	  Alan Carvalho de Assis.
patacongo's avatar
patacongo committed
	* drivers/power/pm_changestate.c.  Correct a case where interrupts were not
	  being re-enabled.  Found by Diego Sanchez.
	* configs/mirtoo/nxffs/defconfig:  This Mirtoo NXFFS configuration now uses the
	  open Pinguino toolchain by default.  This is necessary because the free C32
	  toolchain does not support any optimization and the unoptimized NXFFS image
	  hits the PIC32MX2 FLASH size (128K).  There is plenty of room to grow using
	  the Pinguino toolchain with -O2 optimization.
	* configs/mirtoo/src/up_adc.c.  This is just a stub for now, but this is
	  where Mirtoo ADC logic will eventually need to go.
	* arch/mips/src/pic32mx/pic32mx-gpio.c:  Now supports the PIC32MX1/2 ANSEL
	  IOPORT register.
patacongo's avatar
patacongo committed
	* lib/string/lib_memchr.c:  Add support for memchr() (contributed by Mike Smith)
patacongo's avatar
patacongo committed
	* lib/string/lib_memccpy.c:  Add support for memccpy()
	* arch/arm/src/lpc17xx/lpc17_serial.c:  Now supports ioctl commands to change
	  the baud using tcsetattr() (contributed by Chris Taglia).
patacongo's avatar
patacongo committed
	* arch/*/src/*_serial.c: Fix ioctl method return values.  These methods
	  should return a negated errno value; they should not set the errno
	  variable.
	* sched/on_exit.c, sched/task_exithook.c, and include/nuttx/sched.c:  Add
	  support for multiple registered on_exit() functions if CONFIG_SCHED_ONEXIT_MAX
	  is defined.
	* drivers/syslog/ramlog.c: Move the RAM SYSLOG device into drivers/syslog
	  so that it will be in the same directory as some new SYSLOGing devices
	  in the works.
	* include/nuttx/syslog.h and drivers/syslog/ramlog.c:  The SYSLOG putc function
	  now has a common name that is independent of the device that provides the
	  SYSLOG.
	* include/nuttx/syslog.h and drivers/syslog/syslog.c:  This is a new, generic
	  SYSLOG device that can redirect debug output to any character device or file.
	  So you can log debug output to a file or you can put the console on /dev/ttyS0
	  and the debug output on /dev/ttyS1.
	* arch/arm/src/lpc43xxl/lpc43_spifi.c: Correct an addressing error in the LPC43
	  SPIFI MTD driver
	* drivers/syslog/syslog.c and fs/fs_syslog.c:  Moved the generic syslog logic
	  from drivers/syslog to fs/ where is belongs.  Especially after realizing that
	  the syslog logic is going to have to some internal FS operations in order
	  to realize a totally thread-independent SYSLOG interface.
	* arch/arm/src/stm32/stm32*_rcc.c and .h:  If CONFIG_PM is defined, add a
	  function called stm32_clockenable() that can be used by PM logic to re-start
	  the PLL after re-awakening from deep sleep modes.
patacongo's avatar
patacongo committed
	* fs/fs_foreachinode.c and fs/fs_foreachmountpoint.c:  Add logic to traverse
patacongo's avatar
patacongo committed
	  inodes and mountpoints in the NuttX pseudo-file system.
	* fs/fat/fs_fat32.c: Max. filename length reported by statfs() was wrong
	  if FAT long file names were enabled.
	* lib/stdio/lib_libvsprintf.c:  Fieldwidth and justification were not
	  supported for the %s format.  As a result, %s, %12s, and %-12s all
	  produced the same output.
	* lib/stdio/lib_libdtoa.c:  Fix several issues with presenting floating
	  point numbers (conversions are fine, but presentation was bad).  This
	  is a critical bug fix if you use printf or sprintf to deal with floating
	  point numbers.
	* lib/stdio/lib_libdtoa.c and lib_libvsprintf.c:  Correct some floating
	  point options.
	* arch/arm/lpc43xx/lpc32_usb0dev.c:  Add framework for development of
	  an USB0, device-side driver for the LPC43XX.  The initial check-in,
	  however, is simply for the LPC31xx driver with name changes.  The
	  LPC31xx has the same USB IP, but will require some additional initialization
	  (and lots of testing) before it can be used with the LPC43xx.
	* nuttx/Documentation/NuttShell.html:  Added a section covering ways to
patacongo's avatar
patacongo committed
	  customize the behavior of NSH.
	* arch/arm/src/stm32/chip/stm32f1*_pinmap.h: STM32 CAN TX/RX pins reversed;
	  inconsistent conditional compilation.  Reported by Max Holtzberg.
	* arch/arm/*/stm32:  Add support for STM32 F107 "Connectivity Line" 
	  Ethernet (contributed by Max Holtzberg).
	* configs/olimex-stm32-p107:  Add board support for the Olimiex STM32-P107
	   board (contributed by Max Holtzberg).
	* arch/arm/src/stm32/stm32f2xx_dma.c, stm32f4xx_dma.c, stm32_serial.c, and
	  stm32_spic.c:  DMA priority was getting zeroed by STM32 F2/F4 DMA drivers
	  so that all DMAs ran at the lowest priority.
	* configs/stm3240g-eval/include/board.h and configs/stm3220:  Drop SD card
	  frequency from 24 to 16 MHz.  Apparently 24 MHz is too fast for the board.
	  This (plus the change to the STM32 DMA (above) fixes SDIO DMA on the
	  STM3240G-EVAL (and probably STM3220G-EVAL -- untested).
	* arch/arm/src/stm32/stm32f2xx_dma.c and stm32f4xx_dma.c: Backed out the
	  DMA priority change just above.  The reduced SD card frequency was
	  necessary and sufficient to resolve the problem.
	* drivers/serial/serial.c:  open, read, write, and poll methods may now
	  abort return EINTR (or a short transfer size) if a signal is received
	  while waiting to receive or send serial data.  This behavior is required
	  by POSIX.
patacongo's avatar
patacongo committed
	* include/sys/types.h:  Define NULL to be (0) if __cplusplus is defined.
	  (contributed by Mike Smith)
	* include/ctype.h: Remove a stray semi-colon in a definitions (Thanks
	  Mike Smith).
	* configs/.../Make.defs.  Fix C++ include path set-up in Make.defs file
	  for all 8-bit AVR platforms (Thanks Richard Cochran).
	* lib/stdio/lib_*stream.c:  Revised to handle new error return values from
	  serial.c.
patacongo's avatar
patacongo committed
	* arch/arm/src/stm32/stm32_spi.c:  SPI driver can now service re-
	* tools/mkconfig.c:  If CONFIG_DRAM_END is not specified, this tool
	  will provide default definition of (CONFIG_DRAM_START + CONFIG_DRAM_SIZE)
	* arch/arm/src/stm32/stm32_otgfshost.c:  Renamed from stm32_usbhost.c.
	  This is nearly code complete and, with any luck, will be available
patacongo's avatar
patacongo committed
	  in NuttX-6.21.
	* configs/*/defconfig:  Update all defconfig files to remove syntax
	  that is incompatible with the mconf configuration tool.
	* arch/arm/src/stm32/stm32_otgfshost.c:  This driver now appears to be
patacongo's avatar
patacongo committed
	  functional (although more testing is necesary).

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
patacongo's avatar
patacongo committed
	  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
patacongo's avatar
patacongo committed
	  never been calibrated was way off.
patacongo's avatar
patacongo committed
	* 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
patacongo's avatar
patacongo committed
	  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
patacongo's avatar
patacongo committed
	  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
patacongo's avatar
patacongo committed
	  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.
patacongo's avatar
patacongo committed
	* 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).
patacongo's avatar
patacongo committed
	* 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.
patacongo's avatar
patacongo committed
	* fs/fat/fs_utils.c:  Improperly constructed bool expression.  This
	  would cause many unnecessary writes to FLASH (Thanks Ronen Vainish).
patacongo's avatar
patacongo committed
	* 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
patacongo's avatar
patacongo committed
	  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
patacongo's avatar
patacongo committed
	  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
patacongo's avatar
patacongo committed
	  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
patacongo's avatar
patacongo committed
	  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
patacongo's avatar
patacongo committed
	  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).
patacongo's avatar
patacongo committed
	* 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.
patacongo's avatar
patacongo committed
	* 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
patacongo's avatar
patacongo committed
	  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
patacongo's avatar
patacongo committed
	  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.
patacongo's avatar
patacongo committed
	* 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

patacongo's avatar
patacongo committed
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_*.
patacongo's avatar
patacongo committed
	* 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).
patacongo's avatar
patacongo committed
	* graphics/nxtk/nxtk_events.c:  Missing implementation 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.
patacongo's avatar
patacongo committed
	* 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/.
patacongo's avatar
patacongo committed
	* 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.
patacongo's avatar
patacongo committed
	* Documentation/NuttXBinfmt.html:  Add documentation of the binary loader.
patacongo's avatar
patacongo committed
	* configs/sim/ostest:  Converted to use the mconf 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.
patacongo's avatar
patacongo committed
	* 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).
patacongo's avatar
patacongo committed
	* config/stm32f4discovery: Enable C++ exceptions.  Now the entire
	  apps/examples/cxxtest works -- meaning the the uClibc++ is
	  complete and verified for the STM32 platform.
patacongo's avatar
patacongo committed
6.24 2012-12-20 Gregory Nutt <gnutt@nuttx.org>

	* arch/arm/src/stm32:  Support for STM32F100 high density chips
	  added by Freddie Chopin.
	* configs/stm32f100_generic:  Support for generic STM32F100RC board
	  contributed by Freddie Chopin.
	* arch/arm/src/stm32_otgfsdev.c:  Partial fix from Petteri Aimonen.
	* drivers/lcd/ug-2864ambag01.c and include/nuttx/lcd/ug_2864ambag01.h:
	  LCD driver for the Univision OLED of the same name (untested on
	  initial check-in).
	* configs/stm32f4discovery/nxlines:  Configure to use mconf/Kconfig
	  tool.
	* configs/stm32f4discovery/src/up_ug2864ambag01.c:  Board-specific
	  initialization for UG-2864AMBAG01 OLED connecte to STM32F4Disovery.
	* libxx/libxx_stdthrow.cxx:  Exception stubs from Petteri Aimonen.
	* configs/stm32f4discovery/src/up_ug2864ambag01.c: Driver has been
	  verified on the STM32F4Discovery platform.  Some tuning of the
	  configuration could improve the presentation.  Lower resolution displays
	  are also more subject to the "fat, flat line bug" that I need to fix
	  someday.  See http://www.nuttx.org/doku.php?id=wiki:graphics:nxgraphics
	  for a description of the fat, flat line bug.
	* libc:  Renamed nuttx/lib to nuttx/libc to make space for a true lib/
	  directory that will be forthcoming.  Also rename libraries:  liblib.a -> libc.a,
	  libulib.a -> libuc.a, libklib.a -> libkc.a, liblibxx.a ->libcxx.a.
	  (I will probably, eventually rename libxx to libcxx for consistency)
	* Makefile, lib/: A new, empty directory that will hold generated libraries.
	  This simplifies the library patch calculations and lets me get rid of some
	  bash logic.  The change is functional, but only partially complete;
	  additional logic is needed in the arch/*/src/Makefile's as well.  Right
	  now that logic generate multiple library paths, all pointing to the lib/
	  directory.
	* arch/*/src/Makefile:  Now uses only the libraries in lib/
	  Replace bash fragments that test for board/Makefile.
	* Makefile.win:  The beginnings of a Windows-native build.  This is just
patacongo's avatar
patacongo committed
	  the beginning and not yet ready for prime time use.
	* configs/stm32f4discovery/winbuild:  This is a version of the standard
	  NuttX OS test, but configured to build natively on Windows.  Its only
	  real purpose is to very the native Windows build logic.
	* tools/mkdeps.bat and tools/mkdeps.c:  mkdeps.bat is a failed attempt
	  to leverage mkdeps.sh to CMD.exe.  It fails because the are certain
	  critical CFLAG values that cannot be passed on the CMD.exe command line
patacongo's avatar
patacongo committed
	  (like '=').  mkdeps.c is a work in progress that will, hopefully,
	  replace both mkdeps.sh and mkdeps.bat.
patacongo's avatar
patacongo committed
	* tools/Config.mk:  Centralize the definition of the script that will be
	  used to generated header file include paths for the compiler.  This
	  needs to be centralized in order to support the Windows native build.
patacongo's avatar
patacongo committed
	* tools/incdir.bat:  A replacement for tools/incdir.sh for use with the
	  the Windows native build.
	* Makefile.unix:  The existing top-level Makefile has been renamed
	  Makefile.unix.
	* Makefile:  This is a new top-level Makefile that just includes
	  either Makefile.unix or Makefile.win
	* configs/stm3240g-eval/src:  Qencoder fixes from Ryan Sundberg.
	* arch/arm/src/stm32/stm32_qencoder.c: TIM3 bug fix from Ryan Sundberg.
	* tools/mkromfsimg.sh: Correct typo in an error message (Ryan Sundberg)
	* arch/*/src/Makefile:  Remove tftboot install and creation of System.map
patacongo's avatar
patacongo committed
	  for Windows native build.  The first is a necessary change, the second
	  just needs re-implemented.
	* configs/mirtoo: Update Mirtoo pin definitions for Release 2.  Provided
	  by Konstantin Dimitrov.
	* Fixed an uninitialized variable in the file system that can cause 
	  assertions if DEBUG on (contributed by Lorenz Meier).
patacongo's avatar
patacongo committed
	* Config.mk:  Defined DELIM to be either / or \, depending upon
	  CONFIG_WINDOWS_NATIVE.  This will allow me to eliminate a lot of
	  conditional logic elsewhere.
	* nuttx/graphics: One a mouse button is pressed, continue to report all
	  mouse button events to the first window that received the the initial
patacongo's avatar
patacongo committed
	  button down event, even if the mouse attempts to drag outside the
	  window. From Petteri Aimonen.
patacongo's avatar
patacongo committed
	* nuttx/graphics/nxmu/nx_block.c:  One more fix to the NX block message
	  logic from Petteri Aimonen.
	* include/nuttx/wqueue.h: Some basic definitions to support a user-
	  space work queue (someday in the future).
	* graphics/nxmu:  Add semaphores so buffers messages that send buffers
	  will block until the buffer data has been acted upon.
	* graphics/nxmw:  Extended the blocked messages to cover mouse movement
	  and redraw events.  These will also cause problems if sent to a window
	  while it is closing.
	* arch/several:  Change UARTs are enabled for i.MX, LM3S, ez80, and M16C to
	  match how they are enabled for other architectures.
	* configs/ez80f910200kitg:  Convert to use mconf configuration.
patacongo's avatar
patacongo committed
	* sched/pause.c:  Implements the POSIX pause() function.
	* ez80: Lots of changes to ez80 configurations and build logic as I
	  struggle to get a clean Windows build (still not working).
	* configs/cloudctrl:   Darcy Gong's CloudController board.  This is a
	  small network relay development board. Based on the Shenzhou IV development
	  board design.  It is based on the STM32F107VC MCU.
	* arch/arm/src/stm32_serial.c and stm32_lowputc.c:  Added optional RS-485
	  direction bit control. From Freddie Chopin.
	* Lots of build files:  ARMv7-M and MIPS32 Make.defs now include a common
	  Toolchain.defs file that can be used to manage toolchains in a more
	  configurable way.  Contributed by Mike Smith
	* configs/stm32f4discovery/winbuild and configs/cloudctrl:  Adapted to use
	  Mike's Toolchain.defs.
	* tools/configure.sh:  Adapted to handle paths and setenv.bat files correctly
	  for native Windows builds.
	* More of build files:  AVR and AVR32 Make.defs now include a common
	  Toolchain.defs file that can be used to manage toolchains in a more
	  configurable way.  Contributed by Mike Smith
	* tools/incdir.sh and incdir.bat: Add -s option to generate system header
	  file paths.
	* nuttx/arch/arm/src/arm/Toolchain.defs: Add support for more ARM toolchains
	  (from Mike Smith).
	* arch/arm/src/stm32/stm32f40xxx_rcc.c:  Enabled FLASH prefetch (from Petteri
	  Aimonen).
	* graphics/nxtk/nxtk_filltrapwindow.c:  Correct an offset problem (from
	  Peterri Aimonen).
	* graphics/nxglib/nxglib_splitline.c:  Fix error in drawing of near horizontal
	  lines (from Peterri Aimonen).
	* sched/task_exithook.c:  Missing right bracket with certain conditional
	  compilation (thanks James Goppert).
	* arch/arm/srch/stm32/stm32_otgfshost.c:  Replace timeout handling; use
patacongo's avatar
patacongo committed
	  system tick instead of frame counter.  The frame counter gets reset to
	  zero at 0x3fff making it error prone.
	* arch/arm/src/stm32/stm32f20xx_rcc.c and stm32f40xx_rcc.c: Added option
	  CONFIG_STM32_FLASH_PREFETCH.  FLASH prefetch will now only be enabled
	  if this option is selected.
patacongo's avatar
patacongo committed
	* confgs/ez80f910200zco/ostest:  Now uses Kconfig/mconf configuration
	  tool. Updated to build in native Windows environment.  Other ez80f910200zco
	  build scripts also updated.
	* configs/z8f64200100kit/ostest: Update to same level as ez80 configurations.
	* nuttx/configs/z8f64200100kit/scripts/setenv.bat: Add support for native
	  Windows build.
	* nuttx/arch/arm/src/lpc17xx/lpc17_i2c.c: Resources not being released when
	  I2C is uninitialized.
	* cloudctrl/src/up_chipid.c and shenzhou/src/up_chipid.c:  Add functions to
	  get chip ID.  Contributed by Darcy Gong.  These should not be board-dependent,
	  but should be in arch/arm/src/stm32 where they can be used from any board.
	* sched/work_thread.c: Fix backward conditional compilation.  This might
patacongo's avatar
patacongo committed
	  has caused a memory leak.  From Freddie Chopin.
	* configs/<many>/Make.defs:  Fix typo -wstrict-prototypes should be
patacongo's avatar
patacongo committed
	  -Wstrict-prototypes (From Denis Carilki).
	* arch/arm/src/calapyso/calypso_keypad.c:  Add Calypso keypad driver.  From
patacongo's avatar
patacongo committed
	  Denis Carilki.
	* z8encore000zco/ostest and z8f64200100kit/ostest:  Converted to use Kconfig/
	  mconf configuration tool.
	* arch/arm/src/armv7-m/up_exception.S: missing curly braces for push/pop
	  From Freddie Chopin.
	* z8encore000zco/ostest and z8f64200100kit/ostest:  Can now be modified to
	  support the Windows native builds (see corresponding README.txt files).
	* configs/z16f2800100zcog - All configurations updated to use the ZDS-II
	* configs/z16f2800100zcog - All configurations updated to use Kconfig/mconf
	* configs/z16f2800100zcog/ostest - Now supports a native Windows build
	  (other ZNEO configs may also support the native build, but this has not
	  been verfiied).
	* include/nuttx/input/keypad.h, arch/arm/src/calypso/calypso_keypad.c, and
	  configs/compal_e99/nsh_highram: First cut at a standard keypad interface
	  definition.  Contributed by Denis Carikli.
	* libc/stdlib/lib_rand.c:  Always add one to result congruential generators
	  to avoid the value zero.  Suggested by Freddie Chopin.
patacongo's avatar
patacongo committed
	* tools/b16.c:  Fixed precision math conversion utility.
patacongo's avatar
patacongo committed
	* graphics/nxglib/nxglib_splitline.c:  Fix the "fat, flat line bug"
	* arch/z80/src/*/Toolchain.defs:  Add dummy Toolchain.defs files for the
	  z80 family.
	* configs/z80sim/ostest:  Converted to build with the Kconfig/mconf tool.
	  Current configuration failed to build for me (Ubuntu 12.10, SDCC 3.2.0
	  pre-built for Linux) due to a glibc memory corruptionerror in SDCC.
	* configs/z80sim/ostest: Default is now the Windows native build.  See
	  configs/z80sim/README.txt for instructions to convert back to a Linux or
	  or Cygwin build.
	* arch/z80/src/Makefile.sdccw:  Renamed makefiles with extensions zdiil,
	  zdiiw, sdccl, and sdccw for the ZDS-II vs SDCC compilers and for the
	  POSIX vs Windows native builds.
	* nuttx/drivers/mtd/ftl.c:  Fix for the flash translation layer. Short
	  unaligned writes were buggy.  From Petteri Aimonen.
	* nuttx/libc/math/lib_round*.c:  Add rounding functions to the math
	  library.  Contributed by Petteri Aimonen.
	* include/cxx/cstdlib:  Add stroul().  From Petteri Aimonen.
	* arch/*/include/limits.h:  Change signed minimum values from, for example,
	  (-128) to (-127 - 1) to avoid overflows under certain conditions.  From
	  Peterri Aimonen.
	* graphics/nxtk/nxtk_subwindowmove.c: Previously it was very difficult to
	  do e.g. "scroll by dx, dy". When given the full window area, nxtk_subwindowmove
	  would clip the offset always to 0,0. It makes more sense for it to clip the
	  source area and not modify the offset.  From Petteri Aimonen.
	* graphics/nxtk/nxtk_getwindow.c: Clipping would change the offset of returned
	  data, and caller has no way to know what the new offset would be. This messes
	  up font drawing when the text is partially out of window, e.g. when scrolling.
	  Also from Petteri Aimonen.
	* include/stdbool.h: Can now be disabled for C++ files if CONFIG_C99_BOOL8 is
	  defined.  CONFIG_C99_BOOL8 indicates (1) that the sizeof(_Bool) is one in both
	  C and C++, and (2) the the C compiler is C99 and supports the _Bool intrinsic
	  type. Requested by Freddie Chopin.
	* include/stdlib/lib_rand.c:  Various additional changes so that the integer
	  value zero can be returned.  Requested by Freddie Chopin.
	* arch/z80/src/Makefile.sdcc*, z80/up_mem.h:  Redesign Z80 build so that it
	  no longer depends on Bash scripts.
patacongo's avatar
patacongo committed
	* configs/z80sim/nsh and pashello:  Converted to (1) use the kconfig-frontends
	  configuration tool, and (2) to build natively under Windows.  The NSH
	  configuration is verified; the pashello configuration needs a more TLC.
	* tools/copydir.sh:  Rename tools/winlink.sh to tools/copydir.sh
	* tools/link.bat, unlink.bat, and copydir.bat:  Add Windows counterparts
	  to the link.sh, unlink.sh, and copydir.sh Bash scripts.
	* configs/z80sim/pashello:  Now builds correctly.
patacongo's avatar
patacongo committed
	* configs/xtrs/ostest, nsh, and pashello:  Converted to (1) use the kconfig-
	  frontends configuration tool, and (2) to build natively under Windows.
	* drivers/serial/Kconfig and sched/Kconfig:  Two names for same configuration:
	  CONFIG_LOWLEVEL_CONSOLE is bogus and CONFIG_DEV_LOWCONSOLE is in the wrong
	  Kconfig file.  Moved to drivers/serial/Kconfig replacing CONFIG_LOWLEVEL_CONSOLE.
patacongo's avatar
patacongo committed
	* arch/z80/include/z180:  Add header files for z180 chips.  Initial versions
	  are just clones of z80 header files.
patacongo's avatar
patacongo committed
	* arch/z80/src/z180:  Add source files for z180 chips.  Initial versions
	  are just clones of z80 source files.
	* include/nuttx/arch.h:  Add address environment control interfaces (for use
	  with CPUs the provide MCUs and support process-like address environments).
	* arch/z80/src/z180/z180_mmu.*:  Add MMU support for z180 tasks.
	* configs/p112:  Add very basic board support and an examples/ostest
	  configuration for the venerable P112 board.
	* sched/os_bringup.c: If CONFIG_PATH_INITIAL is defined, then the initial
	  environment of the task started by os_bringup() will have the PATH
	  environment variable defined to be that string.
	* binfmt/binfmt_exepath.c:  If CONFIG_BINFMT_EXEPATH is defined, then this
patacongo's avatar
patacongo committed
	  file will be built.  It contains logic to search for regular files at
	  the absolutes paths found in the current PATH environment variable
	  setting.  This is untested and not yet hooked into the binfmt exec()
	  logic on initial check-in
	* binfmt/binfmt_loadmodule.c: load_module() will now traverse the PATH
	  variable to locate files from their relative path.
	* include/nuttx/arch.h and arch/z80/src/z180/z180_mmu.c:  Restructure the
	  address environment interfaces so that they will better integrate with
	  binfmt/.
	* binfmt/libelf/*, binfmt/libnxflat/* and other files:  Integrate the
	  address environment interfaces.  If CONFIG_ADDRENV=y, then binfmt/
	  will now create an address environment for new tasks (instead of
	  just malloc'ing the task memory).
	* configs/stm32f4discovery/elf:  Enable support/test of the PATH
	  to find executables using a relative path.
patacongo's avatar
patacongo committed

6.25 2013-xx-xx Gregory Nutt <gnutt@nuttx.org>

	* graphics/: Adds 5x8 monospace font. This tiny font is useful for graph
	  labels and for small bitmapped display.  Contributed by Petteri
	  Aimonen.
	* configs/stm3220g-eval/nxwm:  Converted to use the kconfig-frontends
	* configs/sim/nxwm:  Converted to use the kconfig-frontends configuration
	  tool.
	* include/pthread.h:  In sys/prctl.h because it is needed by
	  pthread_[set|get]name_np()
patacongo's avatar
patacongo committed
	* tools/kconfig.bat:  Kludge to run kconfig-frontends from a DOS shell.
	* sched/sig_timedwait.c:  Should always move the time up to the next
	  largest number of system ticks.  The logic was rounding.  Noted by
	  Petteri Aimonen.
	* arch/arm/src/up_head.S:  Fix backward conditional compilation.  NOTE
	  there is a issue of ARM9 systems with low vectors and large memories
	  that will have to be addressed in the future.
	* libc/misc/lib_kbdencode.c and lib_kbddecode.c:  Add logic to marshal
	  and serialized "out-of-band" keyboard commands intermixed with normal
	  ASCII data (not yet hooked into anything).
	* drivers/usbhost/usbhost_hidkbd.c:  If CONFIG_HIDKBD_ENCODED is
	  defined, this driver will now use libc/misc/lib_kbdencode.c to
	  encode special function keys.
	* configs/olimex-lpc1766stk/hidkbd:  This configuration has been
	  converted to use the kconfig-frontends configuration tool.
	* drivers/lcd/ug-2864hsweg01.c and include/nuttx/lcd/ug-2864hsweg01.h:
	  Driver for UG-2864HSWEG01 OLED contributed by Darcy Gong.
	* configs/stm32f4discovery/src/up_ug2864hsweg01.c: Support for the
	  UG-2864HSWEG01 OLED for the STM32F4Discovery board.
	* drivers/usbhost/usbhost_hidkbd.c:  Correct a logic error in how
	  tasks waiting for read data are awakened.
	* libc/misc/lib_kbdencode.c and lib_kbddecode.c:  Now handles keypress
	  events too.  However, the USB HID keyboard drier has not yet been
	  updated to detect key release events.  That is kind of tricky in
	  the USB HID keyboard report data.
	* configs/mcu123-214x/nsh:  Converted to use the kconfig-frontends
	  configuration tool.
	* configs/zp214xpa:  Add basic support for the The0.net ZP213x/4xPA
	  board (with the LPC2148 and the UG_2864AMBAG01).
	* configs/sim/nxlines:  Add an nxlines configuration for the
	  simulator.
	* configs/zp214xpa/nxlines:  Add an nxlines configuration for the
	  ZP213x/4xPA (with the LPC2148 and the UG_2864AMBAG01).  Working
	  as of 2012-12-30.
	* configs/olimex-lpc1766stk/wlan:  Remove non-functional
	* configs/stm32f4discovery/src and nuttx/drivers/lcd/ug-2864hsweg01.c:
	  Updates and correctinos for the UG-2864HSWEG01 from Darcy Gong.
	* configs/lm326965-ek:  All configurations converted to use the
	  kconfig-frontends configuration tool.
	* configs/Kconfig: NSH_MMCSDSPIPORTNO should depend on MMCSD_SPI,
	  not just SPI (from Jose Pablo Carballo).
	* arch/arm/src/arm/Kconfig and armv7m/Kconfig:  Add an option for
	  buildroot toolchains:  They may be EABI or OABI.
	* include/nuttx/progmem and arch/arm/src/stm32/stm32_flash.c:
	  Fix a counting bug plus change interface to use either relative
	  or absolut FLASH addressing (from Freddie Chopin).
	* libc/misc/Make.defs:  Fix error in conditional for KBD CODEC.
	* libc/Kconfig and configs/*/defconfig (several):  The default
	  setting should be CONFIG_LIB_KBDCODEC=n