Операционная система Linux для встроенного микропроцессора СнК SmartFusion
Введение
Системы на кристалле (СнК) SmartFusion состоят из ARM-совместимого процессора CortexM3, аналогового блока с усилителями — формирователями аналоговых сигналов, одного или нескольких АЦП, развитой системы ввода/вывода и матрицы ПЛИС. Unison — это ультракомпактная операционная система, совместимая с ОС Linux. Ее отличительной чертой является построение по модульному принципу, что в большинстве приложений позволяет сократить объем используемой памяти. Теперь разработчики встроенных систем имеют возможность использовать в своих проектах весь набор программного обеспечения, разработанного под операционную систему Linux.
Создание операционной системы Unison для СнК SmartFusion стало результатом сотрудничества корпорации Actel, ведущего производителя малопотребляющих ПЛИС, и компании RoweBots, известной своими разработками малых операционных систем реального времени (RTOS) для встроенных приложений. Штаб-квартира Actel находится в США, корпорация имеет официального представителя в России и Украине [1]. А штаб-квартира RoweBots расположена в Канаде [2].
СнК SmartFusion
Микросхемы семейства SmartFusion представляют собой системы на кристалле (рис. 1).
В состав каждой микросхемы SmartFusion входит:
- Аппаратный ARM-совместимый процессор CortexM3 с тактовой частотой до 100 МГц.
- Набор аппаратных контроллеров интерфейсов, состоящий из контроллеров Ethernet 10/100, SPI, I2C и UART.
- Развитая периферия процессора: контроллеры прямого доступа к памяти и контроллер внешней памяти, 32-битные таймеры и часы реального времени с возможностью работы от независимого источника питания, сторожевой таймер и блоки ФАПЧ для формирования сетки тактовых частот.
- Встроенное ПЗУ до 512 кбайт и ОЗУ до 64 кбайт.
- От одного до трех аналоговых блоков, в каждый из которых входит 12-разрядный АЦП и ЦАП и набор операционных и измерительных усилителей с программируемым коэффициентом усиления, предназначенный для подготовки аналогового сигнала на входе АЦП.
- Набор быстродействующих компараторов напряжения с временем задержки распространения менее 50 нс.
- Цифровой блок обработки аналоговых сигналов, позволяющий без использования процессора и ресурсов ПЛИС осуществлять фильтрацию и масштабирование данных, поступающих с АЦП.
- Матрица ПЛИС, выполненная по Flash-технологии, а следовательно, не требующая повторной загрузки, что позволяет создавать системы, готовые к работе сразу после включения питания. Матрица может работать с тактовыми частотами до 350 МГц и имеет в своем составе блоки ОЗУ, которые могут быть сконфигурированы как регистры FIFO.
Для создания и отладки проектов на базе СнК SmartFusion доступна среда разработки Libero, версию которой, Libero Gold, можно бесплатно скачать с сайта Actel [3]. Доступны и стартовые наборы, включающие в себя плату с микросхемой SmartFusion и необходимыми цепями обвязки. Демонстрационный ролик, посвященный стартовому набору SmartFusion, можно найти на популярном сервере YouTube [4], там же есть много полезных видеороликов, посвященных различным аспектам программирования систем на базе СнК SmartFusion.
Рис. 1. Составляющие СнК SmartFusion
Операционная система Unison
Операционная система Unison доступна в двух вариантах: бесплатная версия Unison 4 и версия Unison 5 с базовой ценой около $1000. В поставку бесплатной версии Unison 4 входят базовая версия ядра ОС, некоммерческий вариант модуля TCP, файловая система, модуль последовательного ввода/вывода, базовый набор документации и 6 примеров программ. В платную версию дополнительно входят: расширенное ядро, коммерческие модули протоколов TCP и полная документация. В комплект поставки Unison 5 входят 33 примера. Для платной версии доступно множество дополнительных модулей, например, файловая система FAT, модули сетевых интерфейсов, модули беспроводного доступа, развитый стек TCP, графические модули и модули поддержки интерфейсных шин. Для покупателей ОС Unison доступна поддержка, и им оказывается помощь в адаптации ОС к требованиям конечной системы.
Классические версии Linux требуют наличия в процессоре модуля защиты памяти (memory management unit, MMU); встраиваемые версии Linux могут обходиться без MMU, однако требуют значительного объема памяти для своей работы. Unison сочетает в себе совместимость с операционными системами POSIX и Linux, высокую производительность для приложений, работающих в режиме реального времени, полноценные модули ввода/вывода с низкими запросами к объему памяти системы и простыми интерфейсами для подключения драйверов устройств. Все это дает возможность использовать развитую аналоговую периферию систем на кристалле SmartFusion и ресурсы ПЛИС под управлением операционной системы реального времени. Unison поставляется с примерами и демонстрационными программами, каждую из которых можно без труда скомпилировать, прошить в микросхему SmartFusion и запустить, используя SoftConsole.
К достоинствам Unison можно отнести и поддержку сетевых соединений, что сэкономит значительное количество времени и усилий при интеграции приборов в сеть, а аппаратная поддержка Ethernet в СнК SmartFusion сэкономит еще и место на печатной плате. Структура проекта по разработке программного обеспечения для семейства SmartFusion показана на рис. 2. Система поставляется с подробным руководством по установке, к которому прилагаются видеоролики с пошаговыми инструкциями. Совместимость интерфейсов всех версий ОС Unison и DSPnano позволяет легко, без изменений в исходном коде, менять базовый процессор приложения, увеличивая или уменьшая его вычислительную мощность в соответствии с требованиями проекта.
Рис. 2. Структурная схема разработки приложений под ОС Unison
Все версии операционной системы Unison успешно прошли тщательное тестирование, как на стандартном наборе тестов POSIX так и на специализированных тестах, что подтверждает их надежность и позволяет использовать в качестве устойчивой сверхкомпактной операционной системы. Возможности
Unison поражают: она может выполнять приложения в конфигурации, где доступно 1 кбайт ОЗУ и всего 6 кбайт ПЗУ.
Заключение
Появление операционной системы реального времени Unison значительно упрощает разработку сложных проектов для СнК SmartFusion, а то, что эта операционная система совместима с ОС Linux, открывает широчайшие возможности по использованию готовых программных решений в новых проектах. Разработка такой операционной системы является еще одним подтверждением решимости корпорации Actel и дальше расширять «экосистему» готовых решений, доступных для применения в СнК SmartFusion.