В качестве вторичного микроконтроллера “Паруса-МГТУ”, а также в качестве основного рабочего микроконтроллера для последующих разработок, мы используем российской микроконтроллер фирмы Миландр K1986BE92QI на базе ядра Cortex-M3.

Так как микроконтроллер должен решать множество различных задач в асинхронном режиме, мы используем операционную систему реального времени RTEMS для управления программными потоками, при этом мы используем RTEMS Classic API, так как потоки POSIX слишком требовательны к оперативной памяти.

Для взаимодействия RTEMS с железом необходим промежуточный слой абстракции — Board Support Package (BSP). BSP нам предоставила компания “КБ Оберон” из Санкт-Петербурга.

Указанный BSP можно найти в виде форка RTEMS 4.12 в репозитории на гитхабе. Работает со стандартным rtems-source-builder версии 4.12 (на текущий момент все еще master, пока официального релиза версии 4.12 не было). Исходный код данного BSP можно найти в директории “c/src/lib/libbsp/arm/mil1986be9x/” указанного репозитория; он полностью совместим с автоматическими утилитами GNU, которые широко используются в процессе конфигурации и сборки RTEMS.

Данный BSP мы используем с небольшими видоизменениями: версия из репозитория сконфигурирована под использование внешней оперативной памяти, тогда как мы довольствуемся внутренней оперативной памятью микроконтроллера.

Надеемся на дальнейшее сотрудничество с КБ Оберон.