We use Milandr K1986BE92QI Cortex-M3 Russian-made micro-controller as a secondary micro-controller on the BMSTU-Sail satellite, and also as a primary micro-controller on the subsequent developments.

As far as this micro-controller should work in asynchronous mode, we use the RTEMS real-time operating system with RTEMS Classic API, since POSIX threads realization in RTEMS takes a lot of operating memory.

To provide intermediate abstraction layer between hardware and the kernel, we have to use the special Board Support Package (BSP). The BSP we use was developed by KB Oberon company from St. Petersburg.

This BSP is freely available as a RTEMS 4.12 fork on GitHub repository. It works with default rtems-source-builder version 4.12 (from the “master” branch, as far as version 4.12 is still not officially released). The source code of this BSP can be found in the directory “c/src/lib/libbsp/arm/mil1986be9x/” and it is completely compatible with GNU autotools which are widely used in RTEMS distribution.

This BSP we use with minor modifications since we use the internal SRAM on micro-controller, not the external.

We look forward to the further partnership with KB Oberon company.