dnx RTOS 2.2.0 "Eagle"
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
dnx RTOS documentation

Project homepage

Daniel Zorychta


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), giving users the complete development environment.

Project directories

Project contains several folders:

  • BSP – Board Support Package – predefined configurations dla can be loaded from Configtool,
  • build – directory is created at build process and contains build results,
  • config – project configuration files. The best way is to use the Configtool program to adjust system. Configtool can be started by using Eclipse IDE or in terminal by using make config command,
  • doc – project documentation. Use make doc command in the command line to generate Doxygen documentation. PDF version is also possible to generate by using LaTeX system,
  • res – add here own files to transfer it to the romfs file system. Files can be read by dnx RTOS from ROM memory,
  • src – all project sources with user directories: lib, programs. There are also system sources in folder: system,
  • tools – many scripts and programs that helps organize project.

Project compilation

When all program dependencies are meet (compiler and standard utils e.g. Cygwin are installed) then user can compile project. The first step is to start project configuration. Configuration can be started by typing

make config

command or by using ./configure script (in UNIX terminal). Project configuration is realized by graphical tool (Configtool) that interprets special scripts in configuration files. When project is configured (especially GPIOs) then one can start project compilation. To do this the following command should be typed:


When operation is finished successfully then created image can be installed in a microcontroller. This operation is triggered by typing following command:

make install


make flash
In the project is several scripts (./tools folder) that should be adjusted to project requirements. In this case the following scripts should be modified by user: flash.sh, reset.sh, runocd.sh, and terminal.sh.
There is several example programs and libraries that can be removed from project (by removing library/program folder). When all programs and libraries are used then there is big possibility that project exceeds available free flash memory.

User Manual