В качестве вторичного микроконтроллера «Паруса-МГТУ», а также в качестве основного рабочего микроконтроллера для последующих разработок, мы используем российской микроконтроллер фирмы Миландр 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 мы используем с небольшими видоизменениями: версия из репозитория сконфигурирована под использование внешней оперативной памяти, тогда как мы довольствуемся внутренней оперативной памятью микроконтроллера.
Надеемся на дальнейшее сотрудничество с КБ Оберон.
Добавить комментарий