07 Aug

dnx RTOS version 1.3.8


7 Aug 2014

New Features, Improvements

  • driver_init(): returns driver ID on success, -1 on error
  • SPI driver: simplified architecture and fixed RAW mode
  • New configuration tool
  • TTY module: implemented recognition of TAB key
  • TTY module: new ioctl request – REFRESH_LAST_LINE
  • OS: alernative macro to determine global variables in programs: GLOBAL_VARIABLES
  • dsh: added command hints by using TAB key
  • Implemented USB device driver for STM32F1xx microcontroller family
  • Added new macros: static_cast(), const_cast(), reinterpret_cast() to indicate type casting in C code
  • Corrected ioctl macros for VFS and PIPE (renamed)
  • Corrected a status reporting of the card initialization in the SDSPI driver (MBR is no needed to get correct status)
  • Implemented mbus library (IPC Communication)
  • Reduced the size of the modules registry
  • Removed the STOP_IF() macro from the modules and file systems
  • Implemented the type for the file open flags in the file systems and devices
  • Protected some devices against initialization from two modules (e.g. SDSPI vs SPI)
  • The system uses the heap size calculated by the linker script
  • Added the sync() interface function to all file systems
  • Simplified detecting the operting system by Makefile
  • Simplified the system port file (removed some functions)
  • Created centralized project configuration
  • Implemented text and GUI configuration wizard
  • Added documentation to application layer libraries
  • CRC driver
  • WDG driver
  • procfs: program-file can be open (usefull in tests for program existing)
  • cleaned up headers
  • implemented common driver for pipes in file systems
  • fgets() reads device files byte by byte (solve EOF problem)
  • some files can be switched to unblocking read/write (some devices, pipes)
  • driver layer corrected, used device id

Fixed Bugs

  • Config tool: fixed problem with disabling non existing SPI devices
  • Config tool: fixed minor problems
  • SPI: driver fixed and simplified
  • system monitor: possible system freeze when thread is canceled while is accessing to the system monitor
  • binary semaphore: fixed bug that ignores initial value of binary semaphore (always 1 – opened)
  • Fixed Makefile (dependecies generation and echo handling by using /bin/echo program)
  • Fixed GPIO_PIN() macro
  • Fixed TTY driver: process is starved when the buffer of a stdin is not read
  • wrong behaviour of fgets() function in case of EOF
  • SPI driver: system cannot force to close the opened SPI file
  • VFS: errno = “No such device or address” even if file exist
  • devfs: file closed cannot be opened again (Device or resource busy error)
  • LFS: prints “Success” if file is opened instead of dir using opendir() function
  • ifconfig crashes if tcpipd was killed
  • TTY: process starvation by fast rate write cycles
  • SDSPI: System crashes when ioctl IOCTL_SDSPI__INITIALIZE_CARD request have NULL argument
  • dsh: The wrong message is printed when a starting program has not enough free memory
  • Configuration scripts
  • TTY module: edit line was wrongly refreshed when last string was longer than new one (artefacts in line)

Release download

git clone -b Release-1.3.8 --recursive --depth=1 https://github.com/devdnl/dnx-rtos.git
Scroll Up