Введение во встроенные системы и Windows Embedded CE

Введение во встроенные системы

Показывать лекцию целиком

Этот духовой шкаф TMIO ConnectIO является встроенной системой. Он может охладить продукты перед их приготовлением. Им можно удаленно управлять через Интернет или по телефону. Он использует ОС Windows Embedded CE OS. Позвоните ему по пути домой и ваша еда будет готова, когда вы будете дома. Фотография с разрешения TMIO LLC.

Встроенная система является электронным устройством, которое включает в своей реализации компьютер. Пользователь встроенного устройства часто даже не знает, что в устройстве имеется компьютер. Компьютер используется, прежде всего, для обеспечения гибкости и для упрощения конструкции системы. В отличие от ПК программный код хранится обычно в ROM, а не на жестком диске. Обычно конечный пользователь не разрабатывает новое программное обеспечение для встроенного устройства. С развитием технологии VLSI встроенные системы стали настолько недорогими, что их можно найти в большинстве современных электронных устройств.

Примеры встроенных систем

Робот, такой как марсоход, показанный на рисунке 1.1, является встроенной системой. Сотовый телефон, PDA, или портативный мультимедиа плеер, показанные на рисунке 1.2, являются встроенными устройствами. Даже электрическая зубная щетка, показанная на рисунке 1.2, является встроенной системой. Небольшой микроконтроллер в зубной щетке обеспечивает программируемое управление скоростью и индикацию состояния заряда батареи. Высококачественные автомобили могут содержать около ста встроенных микроконтроллеров. Типичное домовладение среднего класса имеет около пятидесяти встроенных устройств. Для каждого ПК в мире имеется более сотни встроенных устройств. В общей сложности, встроенные устройства составляют большую часть мирового производства микропроцессоров.

(рис 1.1) Роботы, такие как марсоход, являются встроенными системами. Фотография с разрешения NASA/JPL CALTECH

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

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

(рис 1.2) Сотовые телефоны, PDA, и мультимедийные плееры, все являются встроенными системами. Даже эта электрическая зубная щетка! Фотографии с разрешения Motorola, Microsoft, и Philips Sonicare
Примеры встроенных систем
Авиационные Военные системыАвтопилоты самолетов, авионика и навигационные системы, системы автоматической посадки, системы наведения, управление двигателем.
Биомедицинские системыCистемы компьютерной томографии и ультразвукового исследования, мониторинг пациентов, кардиостимуляторы.
АвтомобилиУправление двигателем, антиблокировочные тормозные системы, противобуксовочная тормозная система, управление подушками безопасности, управление системой обогрева и кондиционирования воздуха, навигация GPS, спутниковое радио, системная диагностика.
КоммуникацияКоммуникационные спутники, сетевые маршрутизаторы, коммутаторы, концентраторы.
Потребительская электроникателевизоры, духовки, посудомоечные машины, плееры DVD, стереосистемы, системы безопасности, управление поливом газонов, термостаты, фотокамеры, радиочасы, автоответчики, декодеры кабельного телевидения, другие устройства.
Устройства в/для компьютераКлавиатуры, мыши, принтеры, сканеры, дисплеи, модемы, устройства жестких дисков, устройства DVD, графические платы, устройства USB.
Электронные инструменты Системы сбора данных, осциллографы, вольтметры, генераторы сигналов, логические анализаторы.
Промышленное оборудование Управление лифтами, системы наблюдения, роботы, станки с ЧПУ, программируемые логические контроллеры, промышленные системы автоматизации и управления.
Офисные машины факс-аппараты, копиры, телефоны, калькуляторы, кассовые аппараты.
Персональные устройствасотовые телефоны, переносные плееры MP3, видео-плееры, персональные цифровые помощники (PDA), электронные наручные часы, портативные видеоигры, цифровые камеры, системы GPS.
Роботы Промышленные роботы, автономные транспортные средства, космические исследовательские роботы (например, роботы-марсоходы)
Игрушки системы видеоигр, игрушки роботы типа "Aibo", "Furby", и "Elmo".

Операционные системы реального времени

Системы реального времени должны отвечать на внешние параметры ввода и создавать новые результаты вывода за ограниченное время, как показано на рисунке 1.3. Время ответа должно быть ограничено. Очень длительное время ответа может привести к отказу систем реального времени.

Иллюстративным примером системы реального времени является контроллер автомобильной воздушной подушки безопасности. Когда датчики движения воздушной подушки (акселерометры) распознают столкновение, системе необходимо среагировать, раскрывая воздушную подушку в течение 10 мс, или система не сработает нужным образом. На высокой скорости с задержкой более 10 мс водитель уже столкнется с рулевым колесом до того, как раскроется подушка.

(рис 1.3) Система реального времени должна отвечать на внешние параметры ввода и создавать новые результаты вывода за ограниченное время или система откажет. Время реакции может быть в интервале от 0.5 до 10 мс

В мягкой системе реального времени приоритет имеют критически важные задачи. Мягкая система реального времени обычно удовлетворяет ограничениям отклика реального времени. Примером типичной мягкой системы реального времени является плеер мультимедиа. Плеер может иногда пропустить видео кадр или аудио сэмпл, и пользователь может это даже не заметить, пока плеер правильно работает большую часть времени.

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

Процедуры обмена страниц виртуальной памяти и сборки мусора, необходимые объектно-ориентированным языкам, могут вызывать проблемы в жестких системах реального времени. Даже кэширование является иногда проблемой, так как может приводить к изменению времени выполнения программы.

Многие встроенные системы являются системами реального времени с несколькими входами и выходами. Несколько событий происходят независимо друг от друга. Программирование упрощается при разделении задач, но это требует от ЦП постоянного переключения между различными задачами. Операционная система, которая поддерживает мультизадачность, обеспечивает разделение времени ЦП между несколькими задачами. ОС обеспечивает также элементы синхронизации, необходимые для координации действий между различными задачами, выполняющимися параллельно.

Операционные системы часто классифицируют по их характеристикам реального времени. Операционная система реального времени должна быть тщательно спроектирована, чтобы поддерживать приложения реального времени. Недавнее исследование приходит к выводу, что 95% приложений реального времени требуют ограниченного времени ответа в диапазоне от 0.5 до 10 мсек. Только 10% отклонение (колебание от 50 микросекунд до 1 мсек) во времени ответа может быть допустимо. Согласно таким требованиям большинство операционных систем общего назначения не являются системами реального времени. Согласно этим критериям встроенная ОС, такая как Windows Embedded CE, квалифицируется как операционная система реального времени (ОС РВ) (Основывается на определении и оценках времени принятых рабочей группой Open, Modular, Architecture Control (OMAC): Жесткой системой реального времени является система, которая отказывает, если ее требования по времени не удовлетворяются; мягкая система реального времени может допускать значительные вариации при предоставлении служб операционной системы, таких как прерывания, таймеры, и планирование).

Код ядра в ОС РВ написан таким образом, что прерывания процессора отключаются только на очень короткие периоды времени. Максимальное время реакции прерывания (задержка) является ключевым фактором во времени ответа ОС РВ. Традиционная ОС настольного компьютера, такая как Windows XP, может рассматриваться в лучшем случае только как мягкая ОС реального времени. Для Windows XP существуют некоторые инструменты сторонних поставщиков, которые улучшают время ответа.

Операционные системы для встроенных систем

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

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

Лицензионные отчисления типичной коммерческой встроенной ОС составляют только несколько долларов на устройство. Некоторые очень простые устройства могут обходиться без ОС, но новые устройства постоянно становятся все более сложными.

В связи с этим большинство встроенных устройств используют встроенную операционную систему. Встроенные операционные системы обычно разрабатываются большей частью на C/C++ и поставляются вместе с компилятором C/C++, ассемблером, и инструментами отладки, чтобы помочь разработчикам в разработке прикладных программ и тестировании устройства. Инструменты разработки встроенных систем должны также поддерживать выполнение программ с помощью кода, хранящегося в энергонезависимой памяти, такой как ROM или память Flash.

Процессоры и программное обеспечение, используемые в новых конструкциях встроенных систем

Ежегодные обзоры разработчиков, работающих над новыми встроенными устройствами, выполняются несколькими популярными отраслевыми изданиями (Представленные данные содержатся в обзоре 2006 г. рынка встроенных устройств, выполненного EETimes и Embedded Systems Design Magazine, www.embedded.com). Интересно пронаблюдать за общими тенденциями, раскрытыми этими обзорами, и увидеть, какие типы новых встроенных систем разрабатываются в настоящее время. Рисунок 1.4 показывает разрядность процессоров, которые используются в настоящее время в новых разработках встроенных устройств. Как можно видеть, большинство текущих разработок сосредоточено вокруг 32-битных процессоров. Это не удивительно, так как с учетом продолжающегося развития технологии VLSI тенденция всегда была направлена в сторону использования во встроенных устройствах все более мощных процессоров. Программный код и приложения, выполняющиеся на новых встроенных устройствах, также продолжают усложняться и требуют все больше памяти.

(рис 1.4) Разрядность процессоров, используемых в новых разработках встроенных устройств

Рисунок 1.5 показывает данные годовых продаж 32 и 64-битных микропроцессоров за 2002 г. Процессоры на основе ARM и X86 имеют самую большую долю рынка, а вслед за ними следуют несколько других RISC-процессоров, MIPS, SuperH, и PowerPC. Считается, что текущие данные должны быть похожими, но они недоступны публично. Процессоры ARM являются 32-битными RISC процессорами с низким энергопотреблением английской компании, ARM ltd (Advanced RISC Machines) http://www.arm.com/.

ARM не производит никаких микросхем процессоров, но получает прибыль от лицензирования своей разработки ARM IP производителям полупроводников, которые производят свои собственные версии процессора ARM. Разработка процессора ARM лицензирована более чем 100 производителям микросхем. ARM используется во многих устройствах, таких как сотовые телефоны, iPod Nano, фотокамеры, игровые приставки, HDTV, декодерах каналов кабельного ТВ. 80% процессоров ARM находится в сотовых телефонах. Хорошее соотношение производительность/энергопотребление делает его очень популярным выбором в устройствах, работающих со слабым источником питания и на батареях. Специальное подмножество инструкций ARM кодируется как 16-битные и распаковывается на лету в 32-битные инструкции. Он может переключаться из 16-битных в 32-битные инструкции на уровне подпрограмм. Это помогает уменьшить стоимость памяти в небольших устройствах.

(рис 1.5) Данные готовых продаж 32 и 64-битных процессоров в 2002 г

Семейство процессоров X86 основывается на множестве инструкций Intel 80X86 CISC, которое используется в процессорах настольных ПК со средины 1980-х. Процессоры на основе X86 имеют достаточно низкую стоимость благодаря своему широкому применению в технологии ПК. Процессоры X86 и микросхемы поддержки доступны от множества поставщиков. В устройствах X86 доступен широкий диапазон значений отношения цена/производительность. Большинство процессоров X86 для настольных ПК были оптимизированы для производительности, а не для низкого потребления энергии. Основные поставщики процессоров настольных ПК (Intel, AMD) развивают новые конструкции и 64-битную архитектуры, но ряд других производителей делают теперь процессоры X86 для встроенных устройств.

(рис 1.6) Число процессоров в каждом встроенном устройстве

Рисунок 1.6 показывает число процессоров в каждой новой конструкции встроенного устройства. Один или два процессора являются обычными в новых конструкциях встроенных продуктов. Многие современные сотовые телефоны имеют одновременно как процессор общего назначения, так и процессор DSP для обработки более высоких скоростей обмена, необходимых для коммуникационных задач и протоколов. Процессоры, используемые во встроенных системах, составляют 98 процентов продаж на рынке процессоров с ежегодным объемом пятьдесят миллиардов долларов (D. J. Jackson and P. Caspi, "Embedded systems education: future directions, initiatives, and cooperation," SIGBED Rev., vol. 2, no. 4, pp. 1–4, 2005 and J. Turley, The Two Percent Solution, Embedded Systems Programming, Dec. 2002.).

(рис 1.7) Использование ядер ОС реального времени в новых встроенных конструкциях

Рисунок 1.7 показывает, что большинство новых встроенных устройств имеет операционную систему. В этих устройствах с операционной системой наиболее популярным выбором является готовая коммерческая операционная система. Несколько исследований и обзоров показали, что ОС с открытым исходным кодом сохраняют существующую или, возможно, даже теряют свою долю рынка. Одно из исследований указывает, что общая стоимость разработки продукта может в реальности быть выше для ОС с открытым исходным кодом, если будут включены время разработки, зарплата, и другие лицензионные отчисления. Одной из упоминаемых причин этого является зрелость продукта и легкость разработки, предоставляемая коммерческими операционными системами, доступными в настоящее время для встроенных устройств. Лицензии Open Source могут также требовать, чтобы производитель опубликовал исходный код устройства, и многие не хотят делать это, так как конкуренты могут использовать его для разработки аналогичных продуктов.

В обзоре коммерческих операционных в 2006 г. система Microsoft Embedded имела самую большую долю рынка, как видно на рисунке 1.8. Microsoft Embedded состоит из обоих систем, Windows Embedded XP и Windows Embedded CE. Затем идет VxWorks OS компании Wind River Systems. Symbian является ОС, которая широко используется в сотовых телефонах.

(рис 1.8) Коммерческие операционные системы, используемые в новых встроенных разработках

Рисунок 1.9 показывает распределение ответов, которые дали разработчики на вопрос "какой язык вы используете для разработки встроенных систем". Семейство языков С очевидно используется в большинстве разработок встроенных систем. Для языка ассемблера ответы указывают, что около трети разработчиков встроенных систем все еще должны использовать язык ассемблера для некоторой небольшой части своих разработок.

(рис 1.9) Языки программирования, используемые во встроенных устройствах

Отметим, что форма, в которой был поставлен вопрос в опросе, предполагает, что этот ответ не означает, что одна треть кода написана на языке ассемблера. Этот ответ означает скорее, что одна треть разработчиков все еще вынуждена использовать язык ассемблера в некоторых местах своей разработки. Другие обзоры указывают, что объем кода на языке ассемблера будет где-то меньше чем 5-10 процентов разработанного для новых встроенных устройств кода. Даже код ROM BIOS персонального компьютера, который является одним из последних бастионов языка ассемблера, в настоящее время преобразуется в С основными производителями ПК.

В заключение необходимо отметить, что большинство встроенных устройств используют достаточно мощные 32-битные процессоры. Большинство устройств достаточно сложные, так что требуют наличия операционной системы. В тех устройствах, которые имеют операционную систему, это будет, скорее всего, коммерческая операционная система. Большая часть работы по разработке для встроенных устройств в настоящее время выполняется с помощью языков семейства С. Язык ассемблера может все еще использоваться в небольшом количестве низкоуровневых процедур на некоторых устройствах, но его использование продолжает сокращаться.

В оставшейся части этого документа мы будем использовать Windows Embedded CE, одну из наиболее популярных коммерческих встроенных операционных систем реального времени, в примерах и лабораторных проектах на встроенной компьютерной системе eBox.

Введение в процесс проектирования встроенных систем

Жизненный цикл встроенного продукта показан на рисунке 1.10. Начальная фаза концептуального проектирования нового продукта включает некоторое предвидение продукта на основе предсказаний рынка, потребностей клиентов, и развития технологии. При планировании продукта делается экономическое обоснование для продукта с оценками количества единиц продаж, цены, и прибыли. Это приводит к созданию начального макета продукта, проектной спецификации, и маркетингового плана продукта. На этом этапе могут также привлекаться промышленные дизайнеры для создания концепции упаковки нового продукта.

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

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

(рис 1.10) Фазы жизненного цикла создания встроенного устройства: Конструирование, Разработка, и Производство

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

Разработка проекта встроенной системы

Основные усилия по созданию программного обеспечения и инженерному проектированию происходят в фазе разработки, которая будет описана теперь более подробно. Прежде всего конструкторы должны выбрать процессор и операционную систему. Выбор процессора для встроенного устройства включает много факторов для рассмотрения, таких как цена, производительность, потребляемая энергия, и программная поддержка.

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

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

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

После тщательного ввода принципиальной схемы конструкции, для встроенного устройства проектируется печатная плата (printed circuit board -- PCB) с помощью автоматизированной системы проектирования (CAD) печатных плат. Этот инструмент импортирует информацию о соединениях контактов из принципиальной схемы и использует ее для проектирования и проверки медных проводников, используемых для соединения интегральных микросхем (IC) на печатной плате. Создается несколько печатных плат, заполняется необходимыми компонентами, и затем используется для выполнения обширных тестов программного обеспечения на новой конструкции. Любые ошибки конструкции оборудования обнаруженные во время тестирования будут требовать изменения в принципиальной схеме, модификации конструкции печатной платы, и нового цикла производства печатных плат и тестирования, что увеличит соответственно время разработки.

Средства разработки программного обеспечения обычно поставляются вместе с ОС. Так как ОС написана на C/C++, то для генерации новой ОС требуются компилятор, редактор связей, отладчик и инструменты двоичного образа. Эти же инструменты используются обычно для разработки приложений.

Разработка программного обеспечения происходит параллельно разработке оборудования с целью сокращения общего времени разработки продукта. Это становится еще более важным, учитывая все сокращающийся жизненный цикл продуктов современных встроенных устройств. Для разработки и тестирования программного обеспечения можно использовать средства эмуляции и встроенные компьютерные платы с аналогичным оборудованием, выполняющим ту же самую ОС, прежде чем станет доступна новая аппаратная платформа. Так как большая часть кода написана на C/C++/C#, большую часть программного обеспечения может даже разрабатываться и тестироваться на другом процессоре или эмуляторе. Код затем перекомпилируется для нового процессора для последнего круга разработки и тестирования, когда станет доступно новое оборудование.

В Windows Embedded CE имеется эмулятор ARM вместе с инструментами разработки, для начальной разработки программного обеспечения и тестирования, прежде чем станет доступна новая аппаратная платформа, можно использовать устройство на базе ПК X86 (называемое CEPC), или встроенную компьютерную плату (называемую целевым устройством).

Технологии памяти используемые во встроенных устройствах

Большинство встроенных устройств в настоящее время используют два типа памяти, SDRAM или иногда, возможно, SRAM для основной памяти и память Flash или ROM для энергонезависимой памяти. SDRAM имеет значительно меньшую стоимость за бит памяти, чем SRAM, но требует более сложный аппаратный контроллер для периодических циклов обновления динамической памяти. Одним из важных решений, которое должно быть сделано в начале процесса проектирования, является вопрос о том, сколько памяти каждого типа необходимо устройству.

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

(рис 1.11) Большинство встроенных систем использует два типа памяти. SDRAM для основной памяти и Flash-память вместо жесткого диска для хранения ОС и прикладных программ

Чтение Flash-памяти выполняется значительно медленнее, чем памяти SDRAM, поэтому код обычно копируется из Flash в SDRAM для более быстрого выполнения. При включении питания начальный загрузчик в памяти Flash загружает операционную систему. Flash-память поддерживает только ограниченное число операций записи, поэтому использование системы виртуальной памяти с подкачкой страниц по запросу (как в настольном ПК) с Flash-памятью (вместо жесткого диска) служащей в качестве устройства для обмена страницами виртуальной памяти обычно не применяется во встроенных устройствах. В таких случаях виртуальная память будет тем не менее полезна для предоставления каждому процессу уникального адресного пространства, снижения фрагментации памяти, и для обеспечения защиты памяти. Некоторые встроенные устройства используют также память RAM для хранения и поддержания ее в состоянии пониженного потребления энергии, когда устройство не работает, используя батарею. Если батарея полностью разрядится, или потребуется холодный старт, то эти данные будут потеряны.

Дополнительная информация:

  • Данные обзора взяты из ежегодного обзора за 2006 г. рынка встроенных устройств, выполненного EETimes и Embedded Systems Design Magazine (www.embedded.com). Опубликованные в течение года статьи обсуждают результаты ежегодного обзора и исследуют последствия и тенденции, обнаруженные в этих данных.
  • Исследование "Общая стоимость разработки" доступно по адресу www.embedded-forecast.com. Это исследование рассматривает несколько проектов разработки встроенных продуктов для сравнения расходов при использовании коммерческих ОС или ОС с открытым исходным кодом.
  • Отчет RTOS Evaluation Project, "RTOS State of the Art" авторов M. Timmerman и L. Perneel сравнивает три альтернативы RTOS и доступен по адресу http://www.microsoft.com/windows/embedded/eval/wince/default.mspx .
  • Найдите в Web более свежие обзоры и статьи. Доступны несколько других прогнозов рынка встроенных устройств с данными, но многие из этих организаций требуют плату за эти данные и могут требовать, чтобы они не были доступны публично.
  • Июльский выпуск 2006 г. журнала IEEE Computer содержит несколько статей о жизненных циклах продуктов, и о том, как глобализация изменяет отрасль электроники и программного обеспечения.
  • Вернуться к учебному плану