About

What is dnx RTOS?

The dnx RTOS is a small general purpose real-time operating system based on the FreeRTOS kernel. The dnx is an unix-like layer which provides an unified implementation of drivers and file systems (VFS) for embedded systems. We can say that dnx RTOS is a kind of the FreeRTOS kernel distribution (dnx/FreeRTOS). This software contains all features of the FreeRTOS and the unix-like architecture. The dnx is a compilation of miscellaneous software (e.g. drivers, kernel, file systems, communication stack, and utility applications).

Features

  • Unix-like architecture: all devices are created as files
  • file system support: your data can be stored in files (RAMFS, EEFS, EXT2,3,4, FATFS, etc)
  • unified architecture: drivers and file systems are designed by using a unified architecture
  • real-time operating system: fast response time, preemptive task scheduler
  • dynamic memory allocation: all objects created in the system are dynamically allocated in memory, so you do not need a lot of RAM to run the OS
  • CPU load measurement: all your tasks are measured in real-time
  • memory usage measurement: stack and memory is measured in real-time
  • network: dnx was integrated with the lwIP TCP/IP stack
  • many instances of the same program: the same program can be started in many terminals and with different parameters
  • terminal-based communication with user: you can issue commands to your device via terminal commands and more
  • extensive configuration: many features can be disabled to fit the OS to the needs of users
  • small hardware requirements: all what you need to run dnx is a microcontroller, power supply and UART connection
  • possible CPU/MCU porting: software is designed for porting
  • ready to use standard libraries: software contains standard and additional libraries which may help you to create, e.g., a thread

Hardware requirements

  • Microcontroller supported by kernel and dnx layer
  • Minimum 32KiB of Flash memory, recommended 64KiB
  • Minimum 10KiB of RAM memory, recommended 20KiB
  • At least 8 MHz of CPU clock
  • Software toolchain (compiler and utilities)
  • VT100 terminal emulator (e.g. Minicom, PuTTY, HyperTerminal, etc.)

Configuration tool requirements

  • Linux 3.x.x i686, x86_64, GLIBC >= 2.13
  • Windows XP, Vista, 7, 8

Supported architectures

  • STM32F1xx (ARM Cortex-M3)