ПРЕСС-ЦЕНТР

Интегрированные аппаратно-программные решения для ответственных приложений: процессорные платы Radstone плюс операционная система реального времени LynxOS

Морская Радиоэлектроника 2/2006

Золотарев С.В., Сысоев А.Д.

Статья представляет собой обзор аппаратно-программных решений для ответственных приложений на базе PowerPC процессорных модулей компании Radstone и операционной системы реального времени LynxOS компании LynuxWorks. Объединение усилий этих двух компаний позволяет заказчику получить законченное решение, тем самым уменьшить риски, сократить сроки и стоимость разработки, не тратить усилия на интеграцию аппаратных и программных средств, а сосредоточить их на разработке прикладных задач.

Введение

Компания LynuxWorks, Inc. (www.lynuxworks.com) является разработчиком и поставщиком платформ реального времени и операционных сред Linux для высоконадежных и высокопроизводительных встраиваемых решений. Продукция LynuxWorks - это масштабируемая ОС реального времени LynxOS, совместимая с Linux, дистрибутив BlueCat Linux с открытыми исходными текстами и дополнительные программные средства, адресованные разработчикам ответственных приложений и систем с высоким коэффициентом готовности.

Корпорация Radstone (www.radstone.com) является центром технологических и рыночных новаций на протяжении более четырех десятилетий и продолжает удерживать лидерство в секторе коммерческих аппаратных средств для встраиваемых систем с неблагоприятными условиями эксплуатации. Radstone предлагает широкий спектр одноплатных компьютеров и PMC-периферии, ранжируя свою продукцию по пяти уровням жесткости (см. таблицу 1).

Таблица 1. Описание уровней жесткости по классификации Radstone

Уровень жесткости 1 - стандартный

Диапазон рабочих температур

От 0°C до +55°C с охлаждением потоком воздуха со скоростью не менее 91 м/мин

Предельные температуры (хранение)

От -50°C до +100°C

Вибрация

0.002g2/Гц от 10 до 2000 Гц случайной формы и 2g синусоидальной от 5 до 500 Гц

Удары

20g пик пила длительностью 11 мс

Влажность

До 95% относительной влажности

Примечание: Коммерческий уровень, воздушное охлаждение, для использования в нормальных условиях и в инструментальных комплексах для разработки программного обеспечения целевых систем.

Уровень жесткости 2 - расширенный температурный диапазон

Диапазон рабочих температур

От -20°C до +65°C с охлаждением потоком воздуха со скоростью не менее 91 м/мин

Предельные температуры (хранение)

От -50°C до +100°C

Вибрация

0.002g2/Гц от 10 до 2000 Гц случайной формы и 2g синусоидальной от 5 до 500 Гц

Удары

20g пик пила длительностью 11 мс

Влажность

До 95% относительной влажности при изменяющихся температурах, 10 циклов, 240 часов

Примечание: Аналогично Уровню 1, но с конформным покрытием и  расширенным диапазоном рабочих температур.

Уровень жесткости 3 - жесткие модули с воздушным охлаждением

Диапазон рабочих температур

От -40°C до +75°C с охлаждением потоком воздуха со скоростью не менее 180 м/мин

Предельные температуры (хранение)

От -50°C до +100°C

Вибрация

0.04g2/Гц от 20 до 2000 Гц, с плоской амплитудно-частотной характеристикой до 1000 Гц и спадом 6dB/на октаву в диапазоне от 1000 до 2000 Гц

Удары

20g пик пила длительностью 11 мс

Влажность

До 95% относительной влажности при изменяющихся температурах, 10 циклов, 240 часов

Примечание: Жесткие модули с широким диапазоном рабочих температур, принудительное воздушное охлаждение, с конформным покрытием для дополнительной защиты. Опционально возможно дополнительное тестирование на устойчивость к внешним воздействиям (Environment Stress Screening (ESS)).

Уровень жесткости 4 - жесткие модули с кондуктивным охлаждением

Диапазон рабочих температур

От -40°C до +75°C на поверхности теплового интерфейса

Предельные температуры (хранение)

От -50°C до +100°C

Вибрация

Случайная 0.1g2/Гц от 15 до 2000 Гц в соответствии с MIL-STD-810E Fig 514.4 - 8, ~12g RMS

Удары

40g пик пила длительностью 11 мс

Влажность

До 95% относительной влажности при изменяющихся температурах, 10 циклов, 240 часов

Примечание: Механически по IEEE-1101.2-1992. Созданы для работы в тяжелых условиях эксплуатации, с высокой вибрацией и ударными нагрузками, с ограниченным пространством для размещения оборудования и затрудненными условиями охлаждения. Опционально возможно дополнительное тестирование на устойчивость к внешним воздействиям (Environment Stress Screening (ESS)).

Уровень жесткости 5 - жесткие модули с кондуктивным охлаждением

Диапазон рабочих температур

От -40°C до +85°C на поверхности теплового интерфейса

Предельные температуры (хранение)

От -50°C до +100°C

Вибрация

Случайная 0.1g2/Гц от 15 до 2000 Гц в соответствии с MIL-STD-810E ~12g RMS

Удары

40g пик пила длительностью 11 мс

Влажность

До 95% относительной влажности при изменяющихся температурах, 10 циклов, 240 часов

Примечание: Аналогично Уровню 4, но с расширенным до +85°C рабочим температурным диапазоном.

Radstone сотрудничает с компанией LynuxWorks довольно длительное время. Благодаря усилиям последней, операционная система LynxOS уже несколько лет поддерживает все новейшие процессорные платы Radstone. Эффективная комбинация из операционной системы LynxOS компании LynuxWorks и аппаратных средств Radstone позволяет создавать высоконадежные решения для промышленности и оборонной отрасли, жестких условий эксплуатации и ответственных задач. Операционные системы LynuxWorks специалисты Radstone дополняют низкоуровневым ПО собственной разработки: микропрограммным обеспечением, средствами тестирования и расширенными пакетами поддержки. Данное ПО позволяет заказчикам использовать высокопроизводительное и функционально-насыщенное оборудование Radstone с полной отдачей.

На основе операционных систем компании LynuxWorks и высоконадежных крейтов с кондуктивным и воздушным охлаждением, предлагаемых Radstone, можно решать типовые задачи, возникающие в тех случаях, когда требуется работа в режиме жесткого реального времени, возможности человеко-машинного интерфейса или другая вычислительная функциональность. Поддержка реального времени обеспечивается полностью детерминированной платформой LynxOS, имеющей длительную и успешную историю внедрений.

Рис. 1. Уровни поддержки интегрированных программно-аппаратных решений

Масштабируемая операционная система жесткого реального времени LynxOS

В LynxOS высокая производительность, надежность, открытость и масштабируемость объединены с патентованной технологией обработки событий, обеспечивающей функционирование в режиме жесткого реального времени. Благодаря своей гибкости и хорошей масштабируемости LynxOS может с успехом использоваться как в больших и сложных системах коммутации, так и в миниатюрных, глубоко встроенных устройствах. Отвечая самым высоким требованиям в плане надежности и предсказуемости поведения, LynxOS работает как в ответственных бизнес-системах (например, телекоммуникационных), так и в системах специального назначения и помогает эффективно решать даже такие задачи, как управление полетами.

Начиная с версии 4.0, на уровне двоичных кодов платформа LynxOS совместима с операционной системой BlueCat Linux, вследствие чего пользователи могут выбирать ту ОС, которая лучше всего отвечает их требованиям. Кроме того, LynxOS совместима с традиционной UNIX, поддерживает Java и может работать на процессорах с архитектурами Intel, Motorola и MIPS. Пользователи данной ОСРВ могут выбирать различные прикладные интерфейсы, применять разнообразные инструментальные средства и эффективно расходовать оперативную память. Все это возможно благодаря многолетнему опыту работы компании LynuxWorks на рынке встраиваемых систем реального времени.

Средства разработки компании LynuxWorks содержат мощные инструменты, призванные ускорить разработку и обеспечить быстрый вывод на рынок новых высококачественных и высокопроизводительных продуктов. В их состав входит среда LynxOS ODE (Open Development Environment), позволяющая вести разработку как на целевой, так и на инструментальной системах, подключаемые модули и дополнительные инструменты для повышения эффективности, полный спектр GNU-средств и утилит, интегрированные среды VisualLynux, CodeWarrior и Luminosity, компонент LynxInsure, обеспечивающий верификацию кода и ссылок на ячейки памяти, мощный графический отладчик TotalView и трассировщик событий SpyKer, позволяющий осуществлять анализ производительности.

Новые технологии и многократное использование применительно к семейству процессорных плат Radstone

Компания Radstone защищает инвестиции заказчиков в прикладное программное обеспечение, сохраняя у своих продуктов стандартную функциональную оболочку и предлагая простой и ясный путь для повышения производительности. Заказчик может внедрять новые технологии, многократно используя при этом существующие аппаратные и программные средства в различных приложениях и программах.

В семействе PPC, которое образовано передовыми одноплатными компьютерами на базе процессоров PowerPC, форма печатных плат, расположение основных узлов и базовая функциональность остаются постоянными вот уже почти 10 лет; при этом в данной продуктовой линейке находят отражение все важные события, происходящие в мире PowerPC. Постоянно выходят новые модели PPC на базе последних ЦП, перешагнувших гигагерцовую отметку, включая чипы G4 с векторными блоками Altivec, благодаря чему заказчики Radstone могут все время иметь самую высокую производительность.

Более подробные описания членов семейства Radstone PPC содержатся в их спецификациях. Краткая сводка дана в таблице 2. Все изделия указанной серии поддерживаются операционной системой LynxOS.

Один и тот же пакет LynxOS BSP подходит для всех членов семейства Radstone PPC, что позволяет без каких-либо проблем использовать комбинации разных плат в одном проекте или, например, идентичное ПО как на коммерческом варианте платы, так и на ее версии для тяжелых условий эксплуатации.

Чтобы операционная система LynxOS могла загружаться из встроенной флэш-памяти PPC, должно иметься микропрограммное обеспечение SilverChip. Это условие выполняется по умолчанию, однако если флэш-память должна содержать также и встроенный тест (Built In Test - BIT), нужно заказывать соответствующий вариант.

При наличии BIT операционная система LynxOS позволяет провести всестороннюю проверку при загрузке. Результат тестирования записывается во флэш-память, откуда его могут считывать прикладные программы.

Таблица 2. Семейство процессорных плат PowerPC от Radstone

Описание продукта

Уровни жесткости

Плата PPC4А на базе процессора PowerPC 755/400 МГц или 7410/500 МГц

С 1 по 5

Плата PPC6 на базе процессора PowerPC 755/400 МГц или 7410/500 МГц

1 и 2

Плата PPC7A на базе процессора PowerPC  7410/500 МГц или 7457/1000 МГц

С 1 по 5

Плата PPC7D на базе процессора PowerPC  7447A/1200 МГц

С 1 по 5

Плата PPC8A на базе процессора PowerPC 7447/1000 или 1200 МГц

1 и 2

Radstone и ОС реального времени LynxOS

Многозадачная и многопоточная платформа LynxOS, соответствующая требованиям POSIX, идеально дополняет высоконадежные коммерческие аппаратные средства марки Radstone, позволяя использовать их в ответственных системах жесткого реального времени.

В распоряжении Radstone есть средства портирования LynxOS, с помощью которых она может самостоятельно создавать соответствующие пакеты поддержки плат (Board Support Package - BSP) для самых современных PowerPC-модулей. Благодаря таким пакетам работа с аппаратными функциями средствами операционной системы становится максимально эффективной. Богатый опыт специалистов Radstone по части портирования делает все процессорные платы этой компании из разных линеек совместимыми друг с другом на уровне LynxOS. Это означает, что, например, приложения, разрабатывавшиеся для модуля коммерческого класса, можно с успехом использовать на модуле, который создавался с расчетом на расширенный диапазон температур и/или неблагоприятные условия эксплуатации, и наоборот.

Микропрограммное обеспечение SilverChip

Микропрограммное обеспечение SilverChip Radstone обеспечивает работу пакетов поддержки BSP на платах PPC. Помимо предоставления операционной системе загрузочных сервисов, SilverChip выполняет полную инициализацию всех ключевых устройств (памяти, моста, кэша L2 и др.), освобождая от этой работы операционную систему. Процедуры переноса в результате заметно упрощаются, а изменения в архитектуре памяти и кэша становятся не видны для LynxOS, что дает ОС определенную степень независимости и защищенности от будущих достижений в области аппаратных технологий. Особенности последних чипов учитываются в SilverChip, который определяет типы устройств и использует лучшие установочные параметры для каждого типа. Такая стратегия позволяет использовать новейшие коммерческие полупроводники при минимальном воздействии их неизбежной эволюции на ПО.

Чтобы упростить конфигурирование, пакет BSP применяет переменные окружения, определяемые пользователем и передающиеся микропрограммным обеспечением SilverChip (например, идентификаторы для уровня объединительной панели, параметры SCMP и др.). Кроме того, SilverChip знаком с файловой системой LynxOS, благодаря чему этап предварительной загрузки может быть опущен. Загрузка образа ОС может осуществляться в этом случае непосредственно из файловой системы LynxOS с любого носителя, например с жесткого или компакт-диска.

Рис. 2. Связи и отношения между прикладным ПО, операционной системой LynxOS, пакетами поддержки ESP и BSP, микропрограммным обеспечением SilverChip и аппаратными средствами в формате VME

Пакеты BSP и ESP

В стандартный комплект поставки Radstone входит пакет BSP, превращающий работу с функциями ОС в простое и незамысловатое дело. Расширенный пакет поддержки (Enhanced Support Package - ESP) содержит дополнительные функции, дает драйверам большую свободу доступа к определенным аппаратно реализованным возможностям и позволяет пользоваться некоторыми вещами, недоступными из BSP.

В ESP есть дополнительные функции, отсутствующие в обычном LynxOS BSP. Различия между ESP и BSP продиктованы стремлением сохранить "стандартность" BSP. Идея состоит в том, чтобы все "стандартные" версии LynxOS обладали одними и теми же BSP-функциями.

Прерогативами ESP являются: динамическое отображение VME-адресов, генерация VME-прерываний с полным набором соответствующих средств организации очередей, драйверный доступ к стандартным функциям VME DMA, доступ к системной информации и результатам встроенного теста, драйвер флэш-памяти с поддержкой файловой системы LynxOS, поддержка синхронных последовательных портов и оперативный мониторинг BCS (Background Condition Screening).

Расширенный пакет ESP может сэкономить много времени и сил при интеграции сложной VME-системы и хорошо помогает на этапе развертывания. Компонент BCS позволяет осуществлять тестирование и мониторинг операционной системы и приложений в процессе их работы.

Пакеты BSP и ESP требуют единовременной оплаты (отсутствуют дополнительные отчисления за копии). Автоматические обновления предоставляются в соответствии с соглашением о сопровождении.

В настоящее время для LynxOS в основном используются два вида инструментальных хост-платформ: Windows и Red Hat Linux. Обычно и встраиваемая конфигурация, и приложения создаются и компилируются на хосте. Однако LynxOS сама обладает функциональностью хоста, и потому приложения могут разрабатываться непосредственно в целевой системе. Radstone предлагает программные средства для обоих вариантов.

Таблица 3. Коды пакетов LynxOS BSP и LynxOS ESP для процессорных модулей Radstone

Код продукта

Описание

EPBSP-LNX1M

EPBSP-LNXYUC

Поддержка продуктов серии EMPOWER (EP1A/PMCQ1) пакетами LynxOS BSP, включающая:

  • пакет Radstone LynxOS BSP для плат EMPOWER на компакт-диске

EPBESP-LNX2M

 

EPBSP-LNXYUC

EPESP-LNXYUC

Поддержка продуктов серии Radstone EMPOWER пакетами LynxOS BSP и ESP, включающая:

  • пакет Radstone LynxOS BSP для плат EMPOWER на компакт-диске;
  • пакет Radstone LynxOS ESP для плат EMPOWER на компакт-диске

PPCBSP-LNX2M

PPCBSP-LNXYUC

Поддержка продуктов серии Radstone PowerX (PPC1A/2A/4A/4B/6/7A/7D/8A) пакетами LynxOS BSP, включающая:

  • пакет Radstone LynxOS BSP для плат PowerX на компакт-диске

PPCBESP-LNX2M

PPCBSP-LNXYUC

PPCESP-LNXYUC

Поддержка продуктов серии Radstone PowerX пакетами LynxOS BSP и ESP, включающая:

  • пакет Radstone LynxOS BSP для плат PowerX на компакт-диске;
  • пакет Radstone LynxOS ESP для плат PowerX на компакт-диске

IMPBSP-LNX2M

IMPBSP-LNXYUC

Поддержка продуктов серии Radstone POWERPACT (IMP1A/2A) пакетами LynxOS BSP, включающая:

  • пакет Radstone LynxOS BSP для плат POWERPACT на компакт-диске

IMPBESP-LNX2M

IMPBSP-LNXYUC IMPESP-LNXYUC

Поддержка продуктов серии Radstone POWERPACT пакетами LynxOS BSP и ESP, включающая:

  • пакет Radstone LynxOS BSP для плат POWERPACT на компакт-диске;
  • пакет Radstone LynxOS ESP для плат POWERPACT на компакт-диске

XG4DSPXEBSP-LNX1M

Поддержка продуктов Radstone G4DSP-XE пакетами LynxOS BSP

Примечания:

  1. По мере выхода новых версий операционной системы LynxOS для архитектуры PowerPC эти продукты регулярно обновляются. Сейчас пакет для EMPOVER соответствует версии LynxOS 3.1.0a., а для PowerX и POWERPACT - LynxOS 4.0.0.
  2. Данные пакеты следует использовать с теми версиями и лицензиями LynxOS, для которых они предназначены.

Поддержка PMC-мезонинов в семействе Radstone PPC

В таблице 4 представлены некоторые члены большого семейства PMC-мезонинов Radstone и сведения о соответствующих программных средствах. Другие мезонины могут поддерживаться средствами BSP процессорных плат. Более подробную информацию можно найти в спецификациях этих продуктов.

Radstone предлагает также платы-носители модулей PMC, использующие в своей работе технологию PPzero. Например, последняя позволяет расширить внутреннюю шину PCI любой платы PPC при помощи специальной PCI объединительной платы, устанавливаемой на разъемы P0 с обратной стороны магистрали VME64X. Под управлением одной платы PPC может находиться до девяти мезонинов PMC, и при этом будет задействовано всего пять слотов магистрали VME.

Общая PCI-конфигурация для всех решений Radstone, поддерживающих спецификацию PCI 2.1, является гарантией того, что драйверы и системное ПО не будут зависеть от того, в какой слот установлен тот или иной модуль PMC.

Таблица 4. Описание PMC-продуктов

Модуль PMC 1553-xxx, PMC1553E

Один или два канала MIL-STD-1553B, уровни жесткости - с 1 по 4. Может поставляться с библиотекой LynxOS для семейства Radstone PPC на CD. Поддержка режимов BC, RT и PBM/MT. Дополнительная информация содержится в спецификациях Radstone с соответствующими индексами (xxx)

Модуль PMX 1553-xxx

Один канал MIL-STD-1553B и четыре последовательных порта RS232/422, уровни жесткости - с 1 по 4. Может поставляться с библиотекой LynxOS для семейства Radstone PPC на CD. Поддержка режимов BC, RT и PBM/MT. Дополнительная информация содержится в спецификациях Radstone с соответствующими индексами (xxx)

Рис. 3. Внешний вид PMC1553E

Пример LynxOS BSP для платы IMP1A

Рассмотрим, что же представляет собой LynxOS BSP на примере конкретной платы Radstone - IMP1A. IMP1A (рис. 4) представляет собой высокопроизводительную плату в формате 3U CompactPCI с процессором PowerPC7410, встроенными Ethernet-портами, последовательными портами и возможностью установки 4 PMC-модуля (до 4 PMC в шасси RT4).

Рис. 4. Внешний вид 3U CompactPCI платы IMP1A уровня жесткости 1

LynxOS BSP поддерживает следующие драйверы для IMP1A:

  • Ethernet (if_Galileo) для GT6260.
  • TTY (com/devcon) - последовательные порты GT64260 (COM1/COM2) и консоль.
  • IDE - драйвер CompactFlash для PMCF2 от Radstone.
  • TCPIP - поддержка TCP/IP протокола.

BSP поддерживает два варианта загрузки: по сети и из флэш-диска.

Как же устанавливается LynxOS BSP на эту конкретную плату Radstone? LynxOS BSP устанавливается из кросс-среды Linux (UNIX) либо Windows. В состав BSP входят следующие компоненты:

  • *.bsp_rad.tar.gz - архив BSP;
  • *.kdi.tar.gz - исходные тексты демонстрационных систем (KDI-Kernel Downloadable Image);
  • *.demo_rad*.tar.gz - прекомпилированные демонстрационные системы KDI.

Рассмотрим процедуру установки из кросс-платформы Windows. Для этого в среде Windows должна быть установлена кросс-система LynxOS CDK (Cross Development Kit for Windows) и развернут LynxOS BSP. Пусть LynxOS CDK уже установлена (в соответствии с LynxOS User s Guide) и теперь установим только LynxOS BSP на Windows-хосте. Запускаем сессию командного процессора bash из командной строки MS DOS:

C:\ bash

Перейдем в директорию ppc:

$ cd /usr/lynx/4.0.0/ppc

Извлечем Radstone BSP путем выдачи команды:

bash$ source /cdrom/tar_images/bsp_chmods

bash$ tar xzvpf /cdrom/tar_images/0000.bsp_radimp.tar.gz

Извлечем демонстрационные KDI-файлы:

bash$ rm -rf /usr/lynx/4.0.0/ppc/kdi/

bash$ tar xzvpf /cdrom/tar_images/0002.kdi.tar.gz

bash$ tar xzvpf /cdrom/tar_images/0003.demo_radimp.tar.gz

Создадим символическую ссылку на директорию Radstone BSP: 

bash$ cd /usr/lynx/4.0.0/ppc/sys

bash$ ln -s bsp.radimp lynx.os

Запустим скрипт SETUP, чтобы установить среду кросс-разработки:

host# cd /usr/lynx/4.0.0/ppc/

host# . SETUP.bash

Radstone BSP установлен на кросс-хосте. Теперь загрузим образ LynxOS на целевую платформу IMP1A по сети. Предполагается, что на плате IMP1A прошито программное обеспечение PPCBoot (Firmware), которое устанавливается в процессе производства платы. PPCBoot позволяет загружать образ операционной системы по Ethernet и со SCSI-устройства в формате ELF по протоколам TFTP и BOOTP и поддерживает работу консоли оператора по последовательному каналу.

Для сетевой загрузки в среде PPCBoot надо выдать команды, аналогичные следующим:

  • setenv ipaddr  192.168.8.23
  • setenv serverip 10.0.0.1
  • setenv gatewayip 192.168.8.1
  • setenv kdi "tftp - kernel.kdi && bootelf"
  • saveenv
  • run kdi

Если требуется записать KDI на флэш-память, то надо выдать команды, аналогичные следующим:

  • setenv ipaddr  192.168.8.23
  • setenv serverip 10.0.0.1
  • setenv gatewayip 192.168.8.1
  • tftp - kernel.kdi
  • erase 2:0-3
  • cp.b 0x200000 0x7c00000 $filesize

Команда erase нужна для того, чтобы удалить достаточное число блоков флэш-памяти с номерами 0-3 из банка 2 для размещения образа ядра ОС. Filesize - это размер ядра, значение которого возвращает команда tftp. Для выполнения KDI из флэш-памяти надо еще выдать команды:

  • setenv flash "bootelf 7c00000"
  • saveenv
  • run flash

Заключение

В данной статье авторы попытались показать, что заказчик может получить законченное аппаратно-программное решение для высоконадежных и высокопроизводительных встраиваемых приложений, что позволяет сократить сроки и стоимость разработки, не тратить усилия на интеграцию аппаратных и программных средств, а сосредоточить их на разработке прикладных задач. Однако ограниченный объем статьи не позволяет более подробно осветить все аспекты интегрированного решения, такие, как поддержка библиотек RMP (Radstone Message Passing) и VSIPL (Vector, Signal and Image Processing) или интерфейс с сигнальными процессорами Radstone.