В последнее время тема встраиваемых систем развивается все активнее и многие крупные компании, такие как Google, Microsoft, Intel инвестировать огромные ресурсы в исследования и разработки в этой области.
Возьмем, к примеру, проект Microsoft по созданию специализированной ОС для умного дома.
гомеос или процессоры Intel для встраиваемых решений Интел Кварк , а о различных исследовательских проектах Google по робототехнике и говорить не стоит, они и так известны.
Такие системы всегда имели свои особенности: ограниченность вычислительных ресурсов, разная архитектура процессоров, порядок байтов и многое другое.
Все это накладывает свой отпечаток на процесс разработки встроенного программного обеспечения.
Несмотря на то, что в последнее время для создания встраиваемых систем все чаще используются принципы и технологии из области «обычных» настольных систем, сам процесс остается специфическим.
Поэтому считается, что порог входа при разработке системного и встроенного программного обеспечения очень высока.
Для подготовки хороших специалистов в этой области в Мат-Мехе СПбГУ был организован научно-исследовательский проект по созданию ОС реального времени для встраиваемых приложений.
Эмбокс , в котором студенты играют активную роль.
В четверг, 27 ноября, в 20:00 в бизнес-инкубаторе «Ингрия» состоится встреча CodeFreeze и Антон Бондарев , технический менеджер проекта Embox. В докладе будут рассмотрены аспекты разработки встроенного программного обеспечения на примере этой ОС.
Эмбокс - открытая операционная система реального времени, поддерживает шесть архитектуры процессоров (x86, ARM, MIPS, Microblaze, SPARC, PPC), сетевой стек, несколько файловых систем (FAT, ext2/3/4, jffs2, nfs), несколько языков программирования (java, python, lua, lisp, C/C++) и используется в различных типах встраиваемых и телекоммуникационных устройств, например, маршрутизаторах, потоковых кодировщиках, светодиодных контроллерах.
В основу доклада положены проблемы, с которыми пришлось столкнуться участникам проекта Embox, поскольку проект существует уже пять лет и используется в различных сферах, круг вопросов будет достаточно широк.
Сначала поговорим о том, почему вообще возникла такая задача.
Было несколько проблем:
- Во-первых, нам нужно было решение для простой отладки оборудования.
Для этого была создана минимальная среда, позволяющая автоматически запускать набор тестов, разработанных на языке C, а также очень легкая оболочка, способная работать практически на голом железе.
- во-вторых, исходный код должен был быть сертифицирован, а значит, дистрибутив должен содержать только те части, которые несут функциональную нагрузку.
В этом случае код в неиспользуемых ветках структур #if — #def не следует отправлять на сертификацию.
Для решения этой проблемы была разработана система сборки на основе специального языка описания модулей, позволяющая избегать конструкций #if — #def и гибко задавать список используемых функциональных модулей и их параметров.
- в-третьих, хотелось, чтобы результаты работы использовались в научной и образовательной деятельности, а значит, проект должен быть открытым.
Основной проблемой, как и для многих встраиваемых систем, была аппаратная составляющая, отсутствие аппаратного обеспечения на ранних стадиях разработки, ограниченность ресурсов системы, «дорогое» время работы на реальном оборудовании и многое другое.
Например, чтобы запустить Lego Minstorm 2 на роботах, у которого есть всего 64к ОЗУ В эти скромные килобайты мне пришлось уместить очень многое.
И чтобы не разрабатывать кучу драйверов для всяких контроллеров, был придуман механизм использования BSP от производителей железа.
Кроме того, по мере роста проекта возникла проблема запуска ПО с открытым исходным кодом на платформе Embox. И такой механизм, учитывая особенности встраиваемых систем, был придуман и реализован в проекте.
В докладе будет продемонстрирована работа приложений Qt без поддержки виртуальной памяти.
В конце отчета будут рассмотрены вопросы, связанные с тестированием проекта.
Поскольку по мере роста проекта поддерживать корректную работу функциональных модулей на всех возможных архитектурах и в различных конфигурациях становилось невыносимо, в проект было введено автоматическое тестирование.
О спикере
Антон Бондарев — технический менеджер проекта Embox. По профессиональной деятельности является руководителем проектов в отделе радиоэлектронных систем компании «Ланит-Терком», где занимается разработкой встраиваемых и специализированных систем в области телекоммуникаций, систем управления и обработки сигналов.Он интересуется системным программированием.
Как любой программист, он мечтал написать собственную операционную систему, что в конечном итоге и было реализовано в проекте Embox.
Постановка на учет
Участие бесплатное.Необходимый предварительная регистрация .
Теги: #Системное программирование #ОС #embedded #OSRV #codefreeze #codefreeze #embox
-
Знаете Ли Вы Будущее Интернета?
19 Oct, 24 -
Робот-Пылесос Irobot Roomba 980
19 Oct, 24 -
Google Диск — Вся Ваша База Принадлежит Нам
19 Oct, 24