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)