wiki.vspu.ru
портал образовательных ресурсов
Windows CE
Windows CE (она же WinCE) — это вариант операционной системы Microsoft Windows для наладонных компьютеров, мобильных телефонов и встраиваемых систем. Windows CE не является «урезанной» версией Windows для настольных ПК и основана на совершенно другом ядре. Поддерживаются архитектуры x86, MIPS, ARM и процессоры Hitachi SuperH.
Windows CE оптимизирована для устройств, имеющих минимальный объём памяти: ядро Windows CE может работать на 32 Кб памяти. С графическим интерфейсом (GWES) для работы Windows CE понадобится от 5 мб. Устройства часто не имеют дисковой памяти и могут быть сконструированы как «закрытые» устройства, без возможности расширения пользователем (например, ОС может быть «зашита» в ПЗУ). Windows CE соответствует определению операционной системы реального времени.
На базе Windows CE основано множество платформ, включая Handheld PC, Pocket PC, Pocket PC 2002, Pocket PC 2003, Pocket PC 2003 SE, Smartphone 2002, Smartphone 2003, Windows Mobile, а также множество промышленных устройств и встроенных систем. Приставка Sega Dreamcast имела поддержку Windows CE. Самой Windows CE в изначальной поставке не было, но она могла запускатся на приставке с CD. Некоторые игры использовали данную возможность===
Основная платформа корпорации Microsoft для таких портативных устройств, как карманные персональные компьютеры (PDA, КПК), смартфоны и Portable Media Center. Стандартизация требований к оборудованию и программам позволила оптимизировать параметры устройств на основе Windows Mobile и обеспечить поддержку приложений от сторонних разработчиков. Платформа Windows CE предназначена для более широкого спектра встраиваемых устройств. Учитывая разнообразие устройств, которые могут быть созданы на базе Windows CE, к ним не предъявляется никаких стандартных требований относительно оборудования и программ.
Следует учитывать тот факт, что решения Windows Mobile всегда создаются на базе текущей версии Windows CE, которая в этом случае является ядром платформы. По мере совершенствования платформы Windows CE происходит обновление и платформы Windows Mobile. Для наглядности соответствие версий Windows CE и Windows Mobile сведено в таблицу.
Platform Builder – это интегрированная среда разработки для создания, отладки и развертывания специализированных образов ОС на базе Windows CE.
Особенности платформы Windows Mobile
Подробный обзор основных потребительских характеристик платформы Windows Mobile приведен здесь.
В контексте сравнения с платформой Windows CE, следует отметить, что производитель устройств на базе Windows Mobile получает это программное обеспечение для своего устройства не в виде исходного кода, а в виде уже почти законченного продукта. В этот продукт производителю необходимо внести только те изменения, которые касаются аппаратных особенностей разрабатываемого им устройства, но благодаря стандартизации требований к устройствам Windows Mobile, внесение подобных изменений не требует от производителя значительных затрат. Таким образом, использование платформы Windows Mobile позволяет производителю портативных устройств значительно сократить время разработки устройства и снизить финансовые расходы на подготовку к выпуску в продажу своего издения. Для обозначения этого качества используется термин “go-to-market”.
Различия Windows Mobile и Windows CE в терминалах сбора данных
Сегодня рынок терминалов сбора данных на Windows продолжает развиваться стремительными темпами. Это объясняется тем, что такие устройства востребованы в автоматизации складской и логистической деятельности. ТСД на ОС Windows открывают широкие возможности для программирования и решения различных задач.
Однако среди устройств есть еще одно немаловажное отличие – тип системы. Операционная система Windows подразделяется на Windows Mobile и Windows CE. О сходствах и различиях этих ОС мы поговорим в этой статье, попытавшись разобраться в целесообразности выбора той или иной версии.
Краткий обзор рынка
Среди наиболее популярных терминалов сбора данных на ОС Windows можно выделить ряд моделей, под брендами CipherLab, Motorola, Honeywell. Сегодня активно выпускаются модели для различных целей, выполненные в компактных корпусах или же, наоборот, в массивном исполнении для складских нужд и высоким классом защиты (IP 65, IP66, IP67 и др.). По большому счету их основные задачи во многом схожи: складcкой учет, инвентаризация, работа с учетными программами, комплектация и отгрузка товаров.
Преимущества перед DOS-терминалами
Windows Embedded Handheld
Операционная система Microsoft Windows Embedded спроектирована на платформе Windows Mobile и относится к семейству встраиваемых ОС в различные устройства, в том числе и в терминалы сбора данных. Последней версией на сегодняшний день является Windows Embedded Handheld 6.5 (разработана в 2010 году и официально представлена в 2011 г.). За счет своей универсальности и гибкой архитектуры Microsoft Windows Embedded может использоваться в POS терминалах, мобильных, встраиваемых и портативных устройствах.
Обязательным требованием данной ОС является наличие хорошего мощного «железа»: процессора, оперативной памяти и т.д. Использование такой системы повышает системные требования, и, как следствие, увеличивается стоимость самого устройства.
К терминалам сбора данных, собранных на ОС Microsoft Windows Embedded можно отнести Cipher 9200, Cipher CP30, Cipher 9600 и др. Все эти устройства имеют ПО для связи с ПК и работы с 1С и генератор приложений с поддержкой Windows Mobile.
Windows CE
Впервые Windows CE появилась на рынке в далеком 1996 году в качестве компакт-версии Win95. С тех пор, произошел ряд существенных изменений. Начиная с 2000 года, данная версия Windows стала развиваться и внедряться как самостоятельная ОС. Основной упор был сделан на создание компонентов не для настольных ПК, а для мобильных устройств, с совместимостью приложений через WIN32 API.
Windows CE и Windows Mobile не являются как взаимозаменяемые операционные системы. Отличительной особенностью Windows CE является модульная система, с поддержкой различных компонентов, платформ, мультизадачности. Преимуществом Windows CE является то, что данная ОС не требует серьезных ресурсов для работы и предназначена для устройств с минимальным объемом памяти и простым одноядерным процессором (минимально для работы системного ядра необходимо всего 32 КБ!).
Последней версией на сегодняшний день считается Windows CE Compact 7.0. Среди наиболее популярных терминалов сбора данных на Windows CE, вышедших в последнее время следует отметить Cipher 9700, Cipher CP55. Современные тенденции выпуска оборудования для автоматизации предполагают наличие различных версий, чтобы клиент мог выбирать то, что нужно для решения задач его компании. Так, некоторые модели ТСД выпускаются в нескольких модификациях на обеих платформах. Ярким примером таких устройств можно считать складской индустриальный терминал сбора данных Cipher CP60.
Подведение итогов: так что же выбрать?
По степени быстродействия эти 2 системы практически полностью одинаковы, хотя раньше программы и приложения на Windows CE работали заметно быстрее. Сегодня же терминалы сбора данных оснащаются мощными производительными процессорами, большими объемами оперативной памяти и существенной разницы в работе простой пользователь, вряд ли ощутит.
В общем и целом сама Windows CE проще по своей архитектуре, имеет классический интерфейс рабочего стола (кнопка «Пуск» и т.д.). Данная ОС интересна в первую очередь разработчикам.
И все же это очень хорошо и целесообразно с точки зрения производителей выпускать современные терминалы сбора данных на операционной системе Windows CE, несмотря на высокую популярность Windows Handheld Embedded 6.5.3. Особенно это удобно тем, кто имеет много программ под старые терминалы на CE и не хочет терять свои наработки.
Выбор ОС может объясняться наличием готовых решений на определённой системе. Допустим, компания приобрела драйверы Wi Fi терминала сбора данных для 1С Предприятия на основе Mobile SMARTS для стареньких ТСД. За время использования у сотрудников появились собственные наработки (базы данных с уникальной доработкой от программиста, наборы утилит, программ и т.д.). И вот, спустя несколько лет, когда пришло время менять оборудование, встает вопрос о том, как сохранить эти наработки и продолжить стабильную отлаженную работу. Софт и драйверы, а также библиотеки .NET Compact Framework для Windows Handheld Embedded несовместимы с написанными для Windows CE. При этом на установку и отладку оборудования были затрачены серьезные финансовые, временные и трудовые ресурсы.
Чтобы избежать таких ситуаций, производители продолжают выпускать на рынок терминалы сбора данных на Windows CE, несмотря на огромную популярность Windows Handheld Embedded.
Среди наиболее успешных новинок ТСД на Windows CE следует отметить CipherLab CP55, CipherLab 9700, CipherLab CP60. Их популярность объясняется современной начинкой, продолжительным временем автономной работы, широкими возможностями для программирования и способностью работать в неблагоприятных условиях.
Операционные системы Windows Embedded для встраиваемых решений
Компьютерные технологии все глубже и глубже проникают в жизнь людей. Сегодня многие не представляют своего существования без мобильного телефона или портативного цифрового музыкального проигрывателя. Никого не удивляет установленный на улице или в вестибюле метро банкомат с функцией выдачи наличных по кредитной карте, автомат для оплаты разнообразных услуг с возможностями погашения кредита, автомат для покупки билетов в кино или на концерт. Приемники кабельного или спутникового телевидения есть во многих квартирах. Цифровые фотокамеры вытесняют, по крайней мере, из любительской съемки пленочные. Что общее у всех этих устройств? Все они содержат внутри себя микропроцессор. Зачастую он достаточно производителен — всего несколько лет назад такая вычислительная мощность была мечтой большинства владельцев настольных компьютеров. Для «оживления» этого микропроцессора и выполнения необходимых функций часто используются операционная система с прикладной программой.
10—12 лет назад, на начальном этапе развития рынка встраиваемых интеллектуальных устройств, у производителя практически не было другого выхода, как под каждое новое устройства заново разрабатывать специализированную операционную систему, жестко интегрированную с прикладной задачей, отвечающей за выполнение тех или иных функций. Помимо временных затрат, такой подход требовал усилий большой команды высококвалифицированных разработчиков. Это, в свою очередь, оборачивалось высокой себестоимостью разработки и, следовательно, высокой стоимостью для конечного пользователя, что сильно ограничивало число потенциальных потребителей. Однако спрос на различные интеллектуальные устройства продолжал расти. Решением проблем стоимости и сроков разработки стало появление специализированных операционных систем, предназначенных для широкого спектра решений. Теперь разработчики смогли сосредоточиться на решении прикладных задач и реализации новых функций, необходимых потребителям.
Сегодня корпорация Microsoft предлагает производителям встраиваемых интеллектуальных устройств и разработчикам целое семейство операционных систем для некомпьютерных интеллектуальных устройств (см. рис. 1).
В это семейство входит несколько классических операционных систем с лицензионным ограничением на использование только во встраиваемых и некомпьютерных устройствах, две ОС широкого применения, ОС, ориентированная на вертикальный рынок, а также версии серверных ОС для создания специализированных сетевых серверов.
Microsoft Windows Embedded CE предназначена для мобильных устройств, терминалов, сотовых и IP-телефонов, мультимедийных устройств, телевизионных приставок, промышленной автоматики и др., где требуется минимальный размер, согласованное действие множества микропроцессорных архитектур, а также работа в условиях жесткого реального времени.
Microsoft Windows Embedded Standard предназначена для использования в банкоматах, игровых автоматах, мощных телевизионных приставках, кассовых машинах, торговых терминалах и информационных киосках, т.е. там, где требуется высокая производительность, защита информации, использование стандартного компьютерного оборудования, минимальные затраты на разработку и использование прикладного программного обеспечения.
Microsoft Windows Embedded POSReady предназначена для рынка систем обслуживания и основана на технологиях Windows XP Professional SP3 с дополнительными возможностями по встраиванию; предоставляет возможность стандартного OEM-развертывания из дистрибутива.
Линейка встраиваемых серверных решений от Microsoft логично завершает линейку встраиваемых операционных систем, позволяя выстраивать инфраструктурные решения на платформе Windows Embedded.
Рассмотрим Windows Embedded CE 6.0 и Windows Embedded Standard 2009 подробнее.
Windows CE
Windows CE
Разработчик
Семейство ОС
Последняя версия
Тип ядра
Лицензия
Веб-сайт
Содержание
История создания [ ]
Первая версия Microsoft Windows CE, выпущенная в ноябре 1996 года, была «урезанной» версией настольной операционной системы MS Windows 95.
При создании последующих версий группа разработчиков ОС Windows CE была в тесном взаимодействии с группой, создававшей настольную ОС Windows NT, ведь ОС Windows CE изначально проектировалась так, чтобы она была совместимой с универсальными ОС семейства Windows. Поэтому изначально ядро и компоненты ОС Windows CE были в большой степени унифицированы с ядром и компонентами настольных ОС семейства Windows NT.
Примерно с 2000 года группа разработки ОС Windows CE перестала тесно взаимодействовать с разработчиками настольных ОС Windows NT. С тех пор ОС Windows CE развивалась самостоятельно, и современные версии ОС Windows CE сильно отличаются от современных версий настольных ОС семейства Windows NT, но при этом сохраняется программная совместимость с приложениями, основанными на Microsoft Win32 API.
И до сих пор некоторые компоненты настольных систем Windows NT присутствуют в ОС Windows CE, например, такие, как: DirectX, и «урезанные» версии Windows Media Player, Internet Explorer. Специалисты также утверждают, что современная версия ОС Windows CE 6.0 до сих пор сохранила в неизменном виде примерно 20 % кода из настольной ОС Windows 2000.
Особенности [ ]
Windows CE — это компонентная многозадачная многопоточная многоплатформенная операционная система с поддержкой реального времени. Разработчикам доступны около 600 компонентов, при использовании которых они могут создавать собственные образы операционной системы, которые включают только необходимую данному конкретному устройству функциональность.
Windows CE оптимизирована для устройств, имеющих минимальный объём памяти: ядро Windows CE может работать на 32 КБ памяти. С графическим интерфейсом (GWES) для работы Windows CE понадобится от 5 МБ. Устройства часто не имеют дисковой памяти и могут быть сконструированы как «закрытые» устройства, без возможности расширения пользователем (например, ОС может быть «зашита» в ПЗУ).
Windows CE предоставляет разработчикам приложений набор API, основанный на стандартном Win32 API и дополненный специализированным API для встраиваемых устройств. Поскольку CE поддерживает только часть Win32 API и имеет определённую специфику, связанную со встраиваемой природой операционной системы, приложения, написанные для настольных версий операционной системы Windows, могут потребовать дополнительной адаптации и модификации для запуска их на встраиваемых устройствах; и в любом случае, для запуска программ на устройстве потребуется их перекомпиляция.
Но так же, как и настольные версии Windows, Windows CE использует стандартный формат исполняемого файла — Portable Executable (PE). Это позволяет разработчикам использовать большинство стандартных утилит, работающих с форматом PE, например, Dependency Walker (проверка зависимостей) или DumpBin.
На базе Windows CE основано множество платформ, включая Handheld PC, Palm-size PC, Pocket PC, Pocket PC 2002, Pocket PC 2003, Pocket PC 2003 SE, Smartphone 2002, Smartphone 2003, Windows Mobile, Meizu OS, а также множество промышленных устройств и встроенных систем. Приставка Sega Dreamcast имела поддержку Windows CE. Самой Windows CE в изначальной поставке не было, но она могла запускаться на приставке с CD. Некоторые игры использовали данную возможность.
Связь с Windows Mobile, Pocket PC и SmartPhone [ ]
Часто названия Windows CE, Windows Mobile, Pocket PC используют как взаимозаменяемые. Это не совсем правильно. Windows CE — это модульная операционная система, которая служит основой для устройств нескольких классов. Любой разработчик может купить инструментарий (Platform Builder), который содержит все эти компоненты и программы, позволяющие построить собственную платформу. При этом такие приложения, как Word Mobile / Pocket Word, не являются частью этого инструментария.
Windows Mobile лучше всего представлять себе как набор платформ, основанных на Windows CE. В настоящее время в этот набор входят платформы: Pocket PC, SmartPhone и Portable Media Center. Каждая платформа использует свой набор компонентов Windows CE, плюс свой набор сопутствующих особенностей и приложений.
Версии [ ]
Для ОС Windows CE 5.0 Microsoft смягчила условия лицензии на исходный код, распространяющийся в рамках инициативы Shared Source. Так, потребители смогут распространять модифицированные версии системы в коммерческих целях, при этом сохраняя за собой права на сделанные изменения. Ранее Microsoft требовала сублицензировать ей все выполненные модификации.
Предоставление исходного кода [ ]
Согласно программе лицензирования Shared source исходный код может быть предоставлен сторонним разработчикам программного обеспечения.
Как утверждает Microsoft, код ядра доступен на 100 % в рамках программы Microsoft Shared source, что облегчит процесс разработки и позволит создавать интерфейсы, уникальные в своём роде. Одним из преимуществ Microsoft называет отсутствие копилефта и необходимости предоставлять Microsoft доступ к своим изменениям.
Конкурирующие продукты [ ]
Основные конкуренты WinCE — это VxWorks, eCos, OSE, QNX, Symbian OS, Apple iOS, различные производные Linux (например: μClinux, Google Android, Maemo и OpenMoko) и PalmOS. Некоторые производители устройств также изготавливают свою собственную систему.
Windows Embedded CE 6.0 в системах реального времени
ООО «Кварта Технологии», г. Москва
4_и наконец, возможность, которая непосредственно относится к теме нашей статьи, – поддержка жесткого реального времени, чем в семействе Windows также может похвастаться только CE, начиная с версии 3.0.
Для разработчика, помимо возможностей самой системы, важна среда разработки, привычность и удобство инструментария. Visual Studio 2005, основной инструмент разработчика Windows Embedded CE 6.0, в полной мере отвечает современным требованиям по разработке и является, по сути, стандартом в среде разработчиков для Windows-платформы, и не только.
Завершая краткий обзор Windows Embedded CE 6.0, следует упомянуть о первоочередном моменте, который необходимо учитывать при принятии решения по разработке устройства на конкретной аппаратной платформе с использованием той или иной системы – это наличие пакета аппаратной поддержки BSP (Board Support Package). Для любой системы с поддержкой широкого спектра аппаратных платформ отчетливо видна тенденция абстрагирования компонентов системы от специфики конкретной платформы. Связующим звеном в данном случае как раз и выступает пакет аппаратной поддержки. Тема BSP заслуживает целого цикла статей, но остановимся лишь на основных моментах. В зависимости от типа устройства требуемый уровень проработки BSP может быть различным. Например, для мультимедиа-устройства, помимо базовых функций ввода-вывода, желательно иметь поддержку аппаратного декодирования аудио- и видеоконтента, плавной отрисовки интерфейса средствами OpenGL или DirectDraw, а также расширенные коммуникативные возможности, включающие поддержку Wi-Fi, Bluetooth и пр. С другой стороны, для контроллера в системе контроля и управления технологическим процессом, в задачи которого входит формирование управляющих сигналов в соответствии с текущими входными параметрами, достаточно запустить минимально необходимый набор компонентов и обеспечить считывание и передачу сигналов по определенным шинам данных с учетом требований по работе в режиме реального времени. И если разработка BSP для контроллера может оказаться вполне посильной задачей, укладывающейся в финансовые и временные рамки проекта, то в случае богатых в функциональном плане устройств рациональнее использовать готовый пакет аппаратной поддержки, который, как правило, предоставляется на свободной или платной основе производителем аппаратной платформы или партнерами, специализирующимися на разработке BSP (Adeneo, BSquare и др).
Итак, обрисовав в общем нюансы разработки с использованием Windows Embedded CE, перейдем к более детальному описанию особенностей операционной системы, которые позволяют создавать на ее базе системы реального времени.
Для тестирования задержек в поставке средств разработки Windows Embedded CE есть набор утилит. Поскольку принцип работы этих утилит основан на считывании показаний системного таймера, то полученные при их помощи результаты служат исключительно для предварительной оценки. Для детального и более точного изучения задержек рекомендуется использовать аппаратные средства измерения. Познакомимся с одной из методик аппаратного измерения задержек.
Рис. 4. Контакты платы, задействованные при измерении задержек
BSP предоставляется с определенными лицензионными ограничениями, в частности запрещена в том или ином виде публикация исходных кодов из его поставки. Благодаря тому что платформы используют один и тот же процессор, подавляющее количество функций – загрузчик, код инициализации платформы и некоторые драйверы – может быть использовано без доработки. При этом ввиду схемотехнических отличий в разводке плат и используемых вспомогательных микросхем необходима доработка кода инициализации DVI-выхода и USB-хост контроллера. Информация по доработке BSP EVM3530 размещена на ресурсе http://evmonbeagle.codeplex.com/ в теме EBVBeagle rev. C2 раздела Discussions. Для тестирования задержек по обработке прерываний BSP EVM3530 может быть использовано без дополнительной доработки.
В общем случае схема измерения задержек содержит генератор импульсов, 2-канальный осциллограф и исследуемую платформу [Статья в MSDN «Benchmarking Real-time Determinism in Microsoft Windows CE» (http://msdn.microsoft.com/en-us/library/ms836535.aspx)]. На вход исследуемой платформы и один из каналов осциллографа подаются импульсы с генератора. При возникновении импульса на входе платформы генерируется прерывание, а результатом его обработки является изменение уровня сигнала на выходе, который подключен ко второму каналу осциллографа. Таким образом, задержка при обработке прерывания может быть измерена как разница между моментами времени возникновения импульса генератора и изменения сигнала на выходе платформы.
В качестве генератора импульсов воспользуемся одним из таймеров (всего в платформе доступно 12, из них 3 таймера позволяют скоммутировать выходной сигнал на контактную площадку для подключения плат расширения). Далее сигнал таймера подадим на вход порта ввода/вывода общего назначения (GPIO), настроив его на генерацию прерываний по приходу импульса. Для формирования выходного сигнала воспользуемся вторым портом ввода/вывода. Чтобы измерить обе задержки, ISR и IST, будем устанавливать высокий уровень выходного сигнала при входе в ISR и низкий – при запуске IST. Таким образом, фронт выходного импульса покажет ISR-задержку, а его длительность – IST-задержку. На рис. 4 показаны контакты платы, задействованные для реализации описанной схемы измерения. Схема подключения приведена на рис. 5.
Рис. 6. Осциллограмма для однопоточной задачи