| NuttX-7.4 |
| --------- |
| |
| The 104th release of NuttX, Version 7.4, was made on August 15, 2014, |
| and is available for download from the SourceForge website. Note |
| that release consists of two tarballs: nuttx-7.4.tar.gz and |
| apps-7.4.tar.gz. Both may be needed (see the top-level nuttx/README.txt |
| file for build information). |
| |
| Additional new features and extended functionality: |
| |
| * Core OS: |
| |
| - Beginnings of a crypto/ subsystem from Max Neklyudov |
| - Tickless operation: NuttX now supports a mode with no periodic |
| timer interrupts. Rather, timed events are handle via an interval |
| timer. This (1) lowers the rate of interrupt processing to timer |
| events, (2) gives much high timing resolution, and (3) allows lower |
| power modes of operation where the CPU is not constantly being |
| interrupted by the timer. |
| - Restructured the OS files under sched/ to better support the already |
| modular nature of the RTOS. |
| |
| * Networking |
| |
| - Substantial directory and header file reorganization and renaming to |
| make the NuttX networking implementation more modular. |
| - Add network device ioctl to access PHY registers. From Daniel Lazlo |
| Sitzer |
| |
| * Binary Loader: |
| |
| - Various changes associated with symbol tables from Pelle Windestam. |
| |
| * Graphics: |
| |
| - colorcmp(): New utility to compare two colors. |
| - The initial background color is now configurable. Includes logic to |
| eliminates multiple background updates to get the right color. |
| - Minor configuration changes to handle mouse X/Y and touchscreen |
| X/Y differently. |
| |
| * File System/Block Drivers: |
| |
| - SmartFS: Increase some variables from uint16_t to uint32_t to handle |
| larger device sizes. From Ken Pettit. |
| - Add configurable AES encryption support to the block-to-character |
| (BCH) driver. This allows any block device to be accessed as an |
| encrypted character device. From Max Nekludov |
| - Add an MTD layer that will add read-ahead or write buffering to any |
| MTD driver (incomplete). |
| - Automounter: Add support for an auto-mounter that will automatically |
| mount and unmount a file system a media is inserted and removed |
| |
| * Audio/Audio Drivers |
| |
| - WM8904 audio CODEC driver. |
| - PCM .WAV file decoder. Fast forward implemented with sub-sampling |
| (currently no rewind support). |
| - Add a NULL audio device that can be used to simply unit-level testing |
| of audio decoders. |
| - Audio subsystem now supports interfaces for fast-forward and rewind |
| needed by CMediaPlayer; add hooks for equalizer settings needed by |
| the WM8904 CODEC. |
| |
| * Other Common Drivers: |
| |
| - MTD: Extend erase block size to 18-bits in order (decrease block |
| size to 14-bits) to handle parts with large erase blocks. From Kosma |
| Moczek |
| - maxTouch: Add support for the Atmel maXTouch touchscreen controller. |
| |
| * Host Simulation: |
| |
| - Provides the timers needed to support the Tickless mode of operation. |
| |
| * Atmel SAM4C: |
| |
| - Add SAM4CM IPC register header file. From Max Neklyudov |
| - Various fixes PMC and clock configuration for the SAM4CM port from |
| Max Neklyudov |
| |
| * Atmel SAM4E/4S Drivers: |
| |
| - SAM4 AES driver. Contributed by Max Neklyudov |
| |
| * Atmel SAMA5: |
| |
| - Add logic to redirect all SAMA5D4 interrupts to the AIC |
| - Add a configuration option to reserve DRAM for a framebuffer when |
| executing out of DRAM. This optional was available before when |
| executing out of NOR, but needs to work a little differently in |
| this case. |
| - Add SAMA5 slow (32.768KHz) clock support. |
| - Add support for the ARM L2CC-PL310 L2 cache. The system runs with |
| L2CC cache enabled but there is some issues still with the LCD DMA; |
| I suspect that the memory timing configuration for L2CC needs to |
| be tuned. |
| - Provides the timers needed to support the Tickless mode of operation. |
| |
| * Atmel SAMA5 Drivers: |
| |
| - XDMAC-based HSCMI driver for the SAMA5D4 |
| - Adapt the SAMA5D3 LCDC driver to work with the SAMA5D4 which has |
| no hardware cursor. |
| - PIO: Add a new interface sam_pio_forceclk() that can be used to |
| force PIO clocking on. I am afraid I was too conservative with |
| PIO clocking in the initial design; this is the price. |
| - TWI: Now supports the up_i2creset() method. |
| - TWI: Use sam_pio_forceclk() so that we can read the current state |
| of an open-drain output in the TWI reset logic. |
| - SSC: SCC Frame Synch Delay and Start Delay are now configurable. |
| - PCK: Add the slow clock and the main clocks as options for the |
| PCK configuration. |
| - Timer/Counter: Can now handle non-constant BOARD_MCK_FREQUENCY. Also |
| now supports methods to attach client interrupt handlers |
| - One shot and free-running timers. These are wrappers around the low |
| level timer/counter logic to provide one-shot and free-running |
| timers. These were developed to support the Tickless operation, but |
| can be used for any purpose. |
| |
| * Atmel SAMA5 Board Support: |
| |
| - Add a boot loader that runs from ISRAM and loads an Intel HEX file |
| into DRAM. |
| - Add a configuration that will load a bootloader into AT25 Serial |
| FLASH |
| - SAMA5D4-EK NSH configuration supports many more features: RTC, HSCMI |
| card detection, maXTouch touchscreen, TM7000 LCD, the command line |
| media player (currently using the NULL audio device), automounter, |
| and others. |
| - SAMA5D4-EK: Add an NxWM configuration using the TM7000 LCD with |
| the maXTouch multi-touch touchscreen. |
| - SAMA5D4-EK NxWM: Uses new, larger icons in configuration instead of |
| scaling. |
| - SAMA5D4-EK NxWM: The NxPlayer and audio system are now enabled in |
| the default configuration (but currently using the NULL audio |
| device). The automounter is used to automatically mount media |
| on an SD card. |
| - SAMA5D3x-EK: Add a configuration to support the command line |
| NxPlayer and to verify the WM8904 CODEC driver. |
| |
| * STMicro STM32: |
| |
| - Add support for the STM32F103RC and RD. From Kosma Moczek |
| - Add a procfs entry to show the state of the CCM heap usage. |
| From Pelle Winderstam |
| |
| * STMicro STM32 Drivers: |
| |
| - Unconfigure GPIO pins when closing a serial port to prevent back |
| effects from back-powering on the TX pin. From Kosma Moczek |
| |
| * NXP LPC17xx Drivers: |
| |
| - ADC: Added burstmode ADC conversion mode, with CONFIG_ADC_BURSTMODE |
| option in Kconfig. From Max |
| - Ethernet: Added option to use the kernel worker thread to do most of |
| the workload with CONFIG_NET_WORKER_THREAD option in Kconfig. From Max |
| - Ethernet: Critical bugfix: From time to time (after some hours) the |
| Ethernet receiver would lose one receive interrupt and the IP stack |
| never recover because there is no receive watchdog as the transmit |
| watchdog. From Max |
| |
| * NXP LPC17xx Boards: |
| |
| - mbed: Port ADC, DAC, and PWM logic from the configs/zkit-arm-1769. |
| From Max |
| - mbed: Eliminated a problem with PHY DP83848C : it doesn't need a |
| specific initialization on mbed. From Max |
| |
| * Library: |
| |
| - Adds support for localtime. From Max Neklyudov |
| |
| * Configuration/Build System: |
| |
| - Make variable definitions 'static const' when possible to save RAM |
| usage. From Kosma Moczek |
| |
| * Applications: |
| |
| - system/mdio: New PHY tool from Daniel Lazlo Sizter. |
| - NSH: Networking logic modified to handler the case of SLIP |
| transport. From Max Neklyudov. |
| - NSH: Add a configuration to use a USB keyboard for the stdin |
| device. |
| - NSH: Software assigned MAC address is now configurable. From Lazlo. |
| - NSH: Also add an option to let platform-specific logic select the |
| MAC address. |
| - NSH: There is now a configuration option that will bring up the |
| network on an separate thread. Since the network bring-up is |
| asynchronous, there are no serial console start-up delays due |
| to the network negotiation time. |
| - NxPlayer: Changes to integrate with Ken's NxWM::CMediaPlayer. |
| - NxPlayer: Add interfaces for fast-forward and rewind needed by |
| CMediaPlayer; add interface for equalizer settings needed by the |
| WM8904. |
| - NxPlayer: Supports new way of identifying the end of the audio |
| stream (see the Audio section above). |
| - Sudoku: Add a sudoku game. |
| |
| Bugfixes. Only the most critical bugfixes are listed here (see the ChangeLog for the complete list of bugfixes and for additional, more detailed bugfix information): |
| |
| * Graphics: |
| |
| - NxConsole: Fix scrolling for the case of the framebuffer device. In |
| this case, the logic for clearing the vacated region at the bottom |
| was missing so garbage would scroll up from the last, uncleared |
| line. |
| |
| * Networking: |
| |
| - Important fix to the read-ahead buffer queue management: Consumed |
| bytes were being trimmed from the head of the queue, but the queue |
| head itself was not being updated. From Rony XLN. |
| - Fix an error in SLIP escaping. From Max Neklyudov |
| |
| * Network Utilities: |
| |
| - Fix an include file ordering problem when CONFIG_NET_STATISTICS=y. |
| - Move statistics from uip.h to new netstats.h to remove a circular |
| inclusion problem |
| - Various fixes for networking and tiny webserver from Max |
| - webclient: Fix to offset calculation from Rony Xln. Prevents 0x0a |
| at the beginning of lines. |
| - webserver: Fix some configuration usage issues. From Max. |
| - webserver: Missing logic to close sockets on loop termination. |
| |
| * File System / Block Drivers: |
| |
| - SmartFS: Fix for a bug that would show up if CONFIG_MTD_BYTE_WRITE |
| was not selected and the SMART sector size was larger than the MTD |
| device's block size (like it would be if using SMARTFS on larger |
| flash devices). From Ken Pettit. |
| |
| * Audio: |
| |
| - Change how the end of the audio stream is detected by the leaf audio |
| component. This used to be done by looking for the first partial |
| buffer. That does not work with the in-place sub-sampling performed |
| by the PCM decoder: That always reduces the size of the buffer so |
| that all buffers only partially filled by the time they get to the |
| leaf. Now, a flag is set in the audio buffer flags set to indicate |
| the final buffer in the stream. |
| |
| * Common Drivers: |
| |
| - RAMLOG putc() method needs to set the errno and return EOF on a |
| failure. |
| - Add missing configuration option to select the MAX11802 touchscreen |
| controller. From Petteri Aimonen |
| |
| * Atmel SAMA5D3/4: |
| |
| - Fix logic in conversion of physical and virtual DRAM addresses when |
| running out of DRAM. This is an important bug fix for the SAMA5D3 |
| and 4 when running out of DRAM . |
| - Critical SAMA5D3 and 4 bug fix: PIO clocking must be enabled for |
| all input pins or else the value that is read never changes. |
| |
| * Atmel SAMA5D3/4 Drivers: |
| |
| - OHCI: Fix an error in a DEBUGASSERT statement. Caused an |
| assertion to fire inappropriately when a low- or full-speed device |
| was removed and CONFIG_DEBUG=y |
| - OHCI: Pointers to allocated port values were not being |
| nullified after being deallocated. This caused some assertions |
| to fire when debug was enabled |
| - SSC: Needs to account for data offset in audio buffer |
| |
| * ARMv7-M: |
| |
| - Correct the initial value of the BASEPRI register. This was |
| apparently never being initialized! From Max |
| |
| * STMicro STM32 Drivers: |
| |
| - I2C: Fix missing configuration of GPIO pins in I2C driver. Fix |
| from Alex D. |
| - STM32 OTGFS device: Various changes to try to reduce that amount of |
| time in interrupts handles and with interrupts disabled. From |
| Petteri Aimonen |
| |
| * Atmel SAM3/4 Drivers: |
| |
| - Ethernet: Wrong bits being cleared before OR-ing in new settings. |
| - Ethernet: Fix an error in the function that determines the number |
| of free TX descriptors. This is an important bugfix on busy |
| networks. |
| - I2C: Test for read or write operation was reversed. How could |
| this have worked before? |
| |
| * Atmel SAM3/4 Boards: |
| |
| - SAM4S Xplained-Pro: Correct description of LEDs and usage. From |
| Kosma Moczek |
| |
| * Atmel SAMA5: |
| |
| - PIO: Fix definitions that could disable PIO interrupt support if only |
| PIOE interrupts were enabled |
| - PIO: Macro SAM_PION_VBASE is not define-able for the SAMA5D4 and must |
| be replaced with a table lookup. |
| - PIO: Fix a typo in Schmitt trigger configuration; Configure pin as a |
| vanilla input first so that final pin configuration is more read-able |
| (i.e., easier to debug) |
| - PIO: Logic for Schmitt trigger selection backward |
| - SAMA5D4: Correct system timer frequency. Input clock is MCK/2, not MCK. |
| |
| * Atmel SAMA5 Drivers: |
| |
| - Ethernet: Wrong bits being cleared before OR-ing in new settings. |
| - Ethernet: Fix an error in the function that determines the number |
| of free TX descriptors. This is an important bugfix on busy |
| networks. |
| - HSMCI: The 8-byte SCR transfer was failing silently with the DMA |
| transfer, leaving the SD card in single bit mode. Fixed by adding |
| a non-DMA read transfer mode. |
| - HSMCI: Fix a problem on card insertion/removal callback handling. |
| Interrupts were being disable so that the callbacks occurred with |
| interrupts disabled. This resulted in loss of some interrupts and |
| some not-so-good behaviors. The solution is to perform all |
| callbacks on the work thread unconditionally |
| |
| * Atmel SAMA5 Boards: |
| |
| - PIO: Fix some cloned errors in SAM GPIO interrupt setup |
| |
| * NXP LPC17xx Drivers: |
| |
| - Ethernet: Comment out an assertion that is reported to fire |
| inappropriately. From Max |
| |
| * Library: |
| |
| - stdint.h: Correct naming of [U]INT_LEASTn_{MAX|MIN} and |
| [U]INT_FASTn{MAX|MIN}. From Kosma Moczek |
| - unistd.h: POSIX definitions should be defined to a value. rom Kosma |
| Moczek |
| - Fixes associated with rint() and related interfaces in the math |
| library. |
| |
| * Configuration/Build System: |
| |
| - NAME_MAX not available on SunOS; use FILENAME_MAX or MAXNAMELEN. |
| Noted by Douglas Beattie |
| |
| * Applications: |
| |
| - NSH: if # appears on line, need to comment ignore additional |
| commands on the line |
| - NxPlayer: Check for file read errors and end-of-file with zero |
| bytes read. Other error handling corrected as well. |
| - NxPlayer: NxPlayer needs to set curbyte field to zero before |
| enqueuing a buffer. Otherwise, it looks like beginning of the |
| buffer has already been consumed. |