Средства разработки ПО для систем управления на основе Windows Embedded

Опубликовано в номере:
PDF версия
С середины 1990-х гг. компания Microsoft является активным участником рынка технологий разработки встраиваемого ПО для специализированных интеллектуальных устройств. Эти технологии интегрированы в платформу Windows Embedded, которая на сегодня включает в себя пять семейств ОС — Compact, Standard, POSReady, Server и Enterprise. ОС Windows Embedded Compact и Windows Embedded Standard служат основой для систем управления различными объектами — от промышленных контроллеров до военных тренажеров.

Windows Embedded Compact

Ключевые особенности семейства Windows Embedded Compact — компонентная архитектура и поддержка жесткого реального времени, т. е. способность обеспечить гарантированное время отклика системы на внешние события. ОС Windows Embedded Compact поставляются со средствами разработки, которые представляют собой широко распространенную среду программирования Visual Studio, дополненную специализированным подключаемым модулем (плагином) Platform Builder. Возможности Visual Studio позволяют программисту вести разработку ПО в привычной рабочей среде, а плагин предоставляет инструменты для решения задач, специфичных для встраиваемых систем.

Рис. 1. Expression Blend 3.Создание проекта Silverlight for Windows Embedded

Рис. 1. Expression Blend 3. Создание проекта Silverlight for Windows Embedded

Целевая функциональность интел­лектуального устройства обычно реализуется в приложениях, разработка которых для Windows Embedded Compact может осуществляться несколькими штатными технологиями. Во-первых, ОС Windows Embedded Compact имеют особую архитектуру и API, позволяющие создавать многопоточные программы на основе методов межзадачного взаимодействия и обмена информацией, поддерживаемых ядром ОС. Во-вторых, компоненты Windows Embedded Compact предоставляют приложениям дополнительные API для реализации удаленного межпроцессного взаимодействия, сетевых коммуникаций, использования графических, мультимедийных функций ОС и др. В-третьих, технология .NET Compact Framework позволяет разрабатывать для Windows Embedded Compact приложения на языках C# и Visual Basic, при этом Visual Studio предоставляет традиционные визуальные средства для такой разработки. В-четвертых, новейшая ОС Windows Embedded Compact 7 включает в себя технологию Silverlight for Windows Embedded для создания графических интерфейсов, которая связывает дизайнерский инструмент Expression Blend и инструментарий Platform Builder (рис. 1). Дизайнер описывает графический интерфейс в виде проекта Expression Blend, а программист на его основе автоматически генерирует проект Platform Builder и определяет в нем поведение интерфейса на «родном» коде Windows Embedded Compact 7.

Для корректного функционирования приложений в устройство должны быть интегрированы необходимые компоненты Windows Embedded Compact. Разработчик выбирает интересующие компоненты из каталога, к которому имеется как графический, так и командно-строковый интерфейс (рис. 2). Часть компонентов поставляется с исходным кодом, что позволяет разработчику модифицировать их поведение. Типичный объем ПО устройства на Windows Embedded Compact не превышает нескольких десятков Мбайт.

Прикладное ПО интеллектуального устройства должно работать на выбранной аппаратной платформе (рис. 3). В Windows Embedded Compact связь между прикладным ПО и оборудованием осуществляется пакетом аппаратной поддержки (Board Support Package, BSP). BSP — это отдельный модуль, включающий в себя загрузчик ОС, драйверы устройств и интерфейсы для доступа к ним со стороны приложений. Заменяя BSP, разработчики могут легко переносить прикладное ПО с одних аппаратных платформ на другие. Комплект поставки Windows Embedded Compact включает в себя BSP для каждой из поддерживаемых процессорных архитектур (x86, ARM, MIPS и SH-4, набор варьируется в зависимости от версии ОС), которые при необходимости могут быть доработаны под особенности выбранной платформы и функциональные требования путем модификации исходных кодов и библиотек BSP. BSP для Windows Embedded Compact также разрабатываются производителями оборудования и сторонними компаниями.

Рис. 2. Каталог компонентов Windows Embedded Compact 7

Рис. 2. Каталог компонентов Windows Embedded Compact 7

Интеграция системного и прикладного ПО в Windows Embedded Compact называется сборкой. Результатом сборки является образ — бинарный файл, с которого осуществляется загрузка ОС (в зависимости от возможностей загрузчика, входящего в BSP, она может осуществляться с жесткого диска, накопителя Compact Flash, по протоколу Ethernet и т. д.). Система сборки Platform Builder позволяет разработчику создавать образы для различных процессорных архитектур, а также генерировать отладочные образы для анализа поведения встраиваемого ПО и конечные образы для поставки заказчику.

Отладка, анализ и администрирование ПО интеллектуального устройства предполагают механизм связи между инструментальной и целевой системами. ОС Windows Embedded Compact включают в себя специальный протокол транспортного уровня, который позволяет разработчику использовать инструменты удаленного запуска, отладки, конфигурирования и анализа работы встраиваемого ПО. Этот протокол может работать на основе TCP/IP или по последовательному порту. Отсутствие физической целевой системы не является препятствием для анализа и отладки аппаратно-независимых функций ПО (приложений, служб, пользовательских интерфейсов и т. п.), поскольку средства разработки для Windows Embedded Compact 7 включают в себя BSP для виртуальных машин Microsoft Virtual PC и Windows Virtual PC, а Platform Builder для более ранней ОС Windows Embedded CE 6.0 содержит эмулятор целевого устройства.

Средства удаленного администрирования, входящие в состав Platform Builder, позволяют разработчику с инструментального ПК управлять файловой системой и реестром устройства, запускать и останавливать процессы, а также получать различные сведения о текущем состоянии устройства. Для отладки и анализа отдельных программ имеется пошаговый отладчик, средства анализа содержимого ОЗУ и регистров, обнаружения утечек памяти и «посмертной» диагностики процессов. Особую важность для разработчиков систем управления представляют инструменты временного анализа функционирования ПО. Platform Builder позволяет отображать на шкале времени различные метрики анализируемой среды — от количества выполняемых задач, потребляемой виртуальной и физической памяти до статистики сетевых протоколов. На шкале времени также можно наблюдать системные события, такие как запуск и завершение задач, изменения их состояний, возникновение прерываний от устройств, начало и окончание их обработки, что позволяет определять длительность реакции системы на внешние события и сравнивать ее с предъявляемыми техническими требованиями.

Рис. 3. Мастер создания дизайна ОС Windows Embedded Compact 7. Выбор аппаратной платформы

Рис. 3. Мастер создания дизайна ОС Windows Embedded Compact 7. Выбор аппаратной платформы

Чтобы проверить корректность выполнения системой управления своих функций, разработчик должен создать и применить к ней набор тестов. В поставку Windows Embedded Compact входит инструментальный комплект для тестирования ПО, который позволяет запускать тесты и регистрировать их результаты для последующего анализа. Тестирование можно выполнять как в клиент-серверном режиме (целевая система соединена с инструментальной), так и автономно (запуск и сохранение результатов тестов осуществляются на целевой системе). Инструментальный комплект включает в себя стандартные тесты (например, для пользовательского интерфейса, файловых систем) и в то же время позволяет разработчику создавать собственные тесты в виде динамических библиотек со специальным API и запускать их наряду со стандартными. Тесты можно параметризовывать, многократно запускать, строить различные графики и отчеты.

Таким образом, ОС Windows Embedded Compact позволяет разрабатывать многофункциональные системы управления и оснащена средствами разработки, интерфейс которых легко осваивается Windows-программистами, а штатные возможности позволяют решать все ключевые задачи, характерные для цикла разработки встраиваемых систем.

Windows Embedded Standard

Семейство операционных систем Windows Embedded Standard предназначено для специализированных устройств, в которых предполагается использовать «настольные» Windows-приложения и драйверы. ОС Windows Embedded Standard двоично совместимы с «настольными» Windows, при этом их компонентная архитектура позволяет разработчику устанавливать в устройство только функции, необходимые для работы целевых приложений. В состав Windows Embedded Standard входят такие компоненты, как Windows Media Player, браузер Internet Explorer, платформа .NET Framework, службы Active Directory, протокол удаленного доступа Remote Desktop Protocol (RDP), поддержка Windows Update, консоль управления (MMC). Помимо «настольных» функций, ОС Windows Embedded Standard включают в себя специализированные возможности для встраивания, позволяющие загружать устройство с носителей, отличных от жесткого диска (например, с USB-накопителей, карт памяти и по сети), защищать тома и файловые системы от нежелательных модификаций, скрывать нежелательные окна, заменять стандартную пользовательскую оболочку на собственную и др. (рис. 4).

Разработка программ для Windows Embedded Standard осуществляется традиционными средствами Windows-программирования. Средства разработки ПО, входящие в комплект поставки Windows Embedded Standard, позволяют разработчику выбирать компоненты для установки на устройство, конфигурировать их, устанавливать ОС, приложения и драйверы на устройство в ручном или автоматическом режиме, а затем администрировать ПО и тиражировать его при серийном производстве.

Далее речь пойдет об инструментах, сопровождающих ОС Windows Embedded Standard 7, основанной на «настольной» Windows 7 Ultimate.

Рис. 4. Мастер установки образа. Установка драйверов устройств

Рис. 4. Мастер установки образа. Установка драйверов устройств

Чтобы разработчик мог определить, какие компоненты (в официальной документации Windows Embedded Standard 7 — пакеты) требуются конкретному приложению, штатные средства разработки включают в себя анализатор, обрабатывающий исполняемые модули, динамические библиотеки, msi-установщики и zip-архивы и формирующий список компонентов, которые можно автоматически добавить в установочный набор. Пакеты имеют свойства: например, для ядра ОС можно задать язык, создать учетные записи пользователей, ввести лицензионный ключ, указать установочный раздел и др., а для браузера Internet Explorer — настроить домашнюю страницу и список избранных сайтов. Устанавливаемые драйверы устройств можно задавать как вручную, так и автоматически с помощью утилиты, запускаемой на целевом устройстве и формирующей отчет об аппаратной платформе, на основе которого в дистрибутиве выполняется поиск соответствующих драйверов. В конечном счете разработчик сохраняет описанную выше информацию в специальном файле (файле ответов, рис. 5), запускает мастер сборки ОС на устройстве и передает ему этот файл. Мастер сборки считывает содержимое файла ответов и обращается к пользователю только при отсутствии в нем требуемой информации. Таким образом, файл ответов позволяет разработчику полностью автоматизировать процедуру установки и конфигурирования ОС, что оптимально при ее многократном повторении, либо автоматизировать ее частично, если полная автоматизация слишком длительна, а тираж устройства в заданной конфигурации относительно невелик.

Рис. 5. Конфигуратор файла ответов

Рис. 5. Конфигуратор файла ответов

После установки Windows Embedded Standard 7 на устройство можно штатными средствами определить список установленных пакетов, а также установить или удалить их. Разработчик/администратор может устанавливать приложения, драйверы и настройки Windows Embedded Standard 7 теми же методами, что и в обычной Windows, — при условии наличия на устройстве необходимых пакетов. Средства разработки Windows Embedded Standard 7 также позволяют тиражировать установленную операционную среду путем ее клонирования, достаточно одной командой создать файл ее образа (по желанию удалив или сохранив различные системные данные, к примеру, учетные записи пользователей), а следующей командой развернуть образ на другом устройстве с идентичной аппаратной платформой. При серийном производстве можно распараллелить тиражирование образа, устанавливая его по сети с помощью служб развертывания Windows, которые поддерживают широковещательную передачу содержимого образа на клиентские устройства.

Таким образом, ОС Windows Embedded Standard позволяет разрабатывать специализированные системы, сочетающие технологии «настольных» Windows с физической компактностью и возможностями для встраивания, а штатные средства разработки обеспечивают возможность эффективного построения прототипа системы, интеграции ее модулей, производства и сопровождения.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *