DSPnano Embedded Real Time Operating System (RTOS)

RoweBots offers OEM developers ultra tiny Linux and POSIX compatible operating systems. The DSPnano Embedded Operating System or DSPnano RTOS is one of those offerings. DSPnano supports general purpose MCU, DSP and DSC 8 and16 bit architectures with as little as 1K of RAM and 6K of flash.

From a technical point of view, the main DSPnano features are:

  • Single process
  • Multiple thread
  • Micro-kernel based
  • Ultra tiny memory footprint
  • Embedded and real-time POSIX
  • Linux compatibility
  • Supporting MCUs, DSCs, DSPs & FPGAs without an MMU
  • Applications run as a single linked image loaded into Flash

The tool environment is the preferred silicon vendor choice of IDE with additional options on some architectures. The compiler, assembler, linker and librarian are whatever is provided in the IDE as the default tool chain. All development is cross development from either a Windows or Linux host. The environment offers many optional tools. From Flash downloaders and the DSPnano RTOS Object Viewer through to Power On Self Test (IEC 60730) and a broad set of connectivity modules, the DSPnano Embedded Operating System has a complete component and tool environment.

DSPnano applications are discussed under the industry section.

The DSPnano RTOS kernel called DSPexec offers the following kernel features:

  • pthreads
  • semaphores
  • mutexes
  • condition variables
  • message queues
  • join
  • barriers
  • memory managers
  • timers
  • clock
  • rendezvous
  • events
  • interrupt management
  • directory or name server capabilities
  • and more

The DSPnano Embedded Operating System is layered on top of the DSPexec kernel and provides the following additional features.

  • File I/O including file device mounting and formating
  • BSD socket interface including Select and other high level calls
  • A stdio library with buffered I/O mechanisms like fopen

The DSPnano Embedded Operating System servers provide the actual I/O. They are completely self contained modules and include interrupt handlers, buffer management and translation from I/O requests into actual physical I/O.

See the detailed server man pages for details on the server features including:

  • Multimedia file system
  • FAT file system
  • Serial I/O and a POSIX shell called posh
  • TCP with advanced features including NAT, DHCP,
  • Advanced networking including  TFTP, Telnet and HTTP.
  • And other connectivity modules.

The DSPnano Embedded Operating System has excellent documentation - refer to it for more details or look at the man pages here.