Ответы со стенда Embox на популярные вопросы с IT-фестиваля TechTrain


    Добрый день!

    Embox недавно принимал участие в IT-фестивале TechTrain.

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

    Вы производители оборудования?


    На фотке можно видеть, что у нас на стенде довольно много железок, некоторые мигали, некоторые двигались, некоторые что-то рисовали. Наверное поэтому очень частыми вопросами были: “Вы производите железки?” или “Что вы продаете?” и так далее. Ответ простой: “Нет, мы не производим железки, и нет, мы не продаем, по крайней мере, сами железки”. Мы разрабатываем открытую ОС для встраиваемых систем! Все железки, которые были на стенде, работали под управлением Embox. Все макеты могли быть воспроизведены, поскольку куплены в обычных магазинах микроэлектроники (за исключением Эльбруса), а код для создания прошивок лежит у нас в репозитории (в том числе и для Эльбруса).

    Состав стенда


    Вкратце опишу, что у нас было на стенде.
    Было две машинки. Одна — автономный робот на основе STM32F3-Discovery, который детектирует плохую поверхность. О ней мы рассказывали в статье. Другая — робот на основе stm32f4discovery, управляемый по радиоканалу. Данный робот оснащен датчиком освещенности и дальномером на основе инфракрасного датчика.


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

    Был макет на основе STM32F7-Discovery. На нем демонстрировался пример с маленьким графическим фреймворком Nuklear, описанным в статье.
    Был макет SIP-телефона на основе stm32f4discovery. Об этом было в статье.
    Был макет на основе платы sk-imx6q с LCD-дисплеем, на нем крутилась демо-сцена из Mesa3D.
    Ну и да, был системный блок под названием “монокуб” на основе процессора Эльбрус, об этом было в статье.

    Это что-то типа Arduino?


    Как, наверное, можно догадаться из приведенного списка макетов, на другой популярный вопрос “Это ардуино?”, ответ также отрицательный. Речь даже не об оборудовании (не знаю, имеет ли смысл делать из мощного процессора imx6q ардуино), но в том, что на ардуино не удастся сделать SIP-телефон или запустить OpenGL, я уверен. Нет, не поймите меня неправильно, я ни в коем случае не хочу задеть тех, кто разрабатывает под arduino. Но платой за простоту использования являются существенные ограничения для данной платформы.

    Вы делаете роботов?


    Поскольку у нас было несколько роботов, нам часто задавали этот вопрос. Ответ: “Нет, мы занимаемся системным ПО. Алгоритмы управления и сами роботы, скорее, наше хобби.”

    ОС для роботов?


    Нет, Embox является ОС для встраиваемых систем. Это куда более широкое понятие. Роботы являются очень наглядным примером применения, поскольку в них нужно делать как вещи характерные для маленьких ОСРВ (сбор показаний от датчиков, управление моторами), так и то, что гораздо удобнее делать на больших ОС (отработку алгоритмов управления, удаленное управление ). И следовательно, на подобных задачах Embox хорошо демонстрирует свои преимущества.

    Это Linux? А на чем основан Embox?


    Нет, это не дистрибутив Линукса. Ядро и основные системные сервисы мы писали с нуля, естественно, заглядывая и в другие открытые проекты и, конечно, изучали того же Таненбаума.
    Со временем мы добавили возможность использовать сторонние приложения из мира Linux, тот же проект PJSIP или библиотека Mesa3D. Поскольку нет никакого желания делать то же самое, но свое.
    От характеристик Linux у нас есть отличия. Например, посетители выяснили, что макет с OpenGL загружается всего секунд 7, и это несмотря на то, что U-boot, который используется в качестве загрузчика, отъедает пару секунд. Ну или запихать Linux с SIP-стеком в STM32F4-Discovery, которая имеет всего 192 кБ ОЗУ, вряд ли получится. Хотя один посетитель утверждал, что слака (вероятно дистрибутив slackware ), влезает в 40 кБ. Но он, скорее всего, просто перепутал килобайты с мегабайтами.

    Что же такое этот ваш Embox?


    Лично я на фестивале объяснял аллегорично: “Линукс без Линукса”.
    Немного раскрою тему. В Embox есть порт открытой библиотеки Qt (также демонстрировалась на стенде), OpenGL мы показывали на основе открытого проекта Mesa 3D, или, взять тот же SIP телефон, — он сделан на основе открытого проекта PJSIP. Все эти проекты прекрасно работают в Linux. Но если нужно запихнуть SIP телефон на маленькую плату, то там уже Linux не получиться использовать. Ну или какое-то оборудование где требуется отрисовка 3D. Например, карта местности с рельефом подразумевает довольно большие аппаратные ресурсы, а значит можно было бы использовать LInux. Но с другой стороны, вместе с Linux приходит еще куча ПО, а это потенциальные ошибки и дыры в безопасности. В Embox же можно собрать только необходимые для работы приложения части. А это позволяет значительно упростить прохождение различного рода сертификаций, как на корректность работы, так и по безопасности, например, отсутствие НДВ (закладок).

    Можно ли пройти в Embox стажировку, поучаствовать в проекте и где вас искать?


    Embox открытый проект и конечно в нем можно поучаствовать. Мы с радостью поможем в этом начинании.

    Мы помним свои корни и достаточно плотно занимаемся со студентами. В проекте приличное количество курсовых и дипломов. Основная масса конечно на МатМехе СПбГУ. Но были прецеденты работ из других ВУЗ-ов. Кроме того проекте участвуют студенты и набирающиеся опыта из других городов и стран.

    Репозиторий проекта находится на github

    Основная (англоязычная) группа рассылки для проекта: embox-devel[at]googlegroups.com

    Кроме того, мы создали русскоязычную группу рассылки: embox-ru[at]googlegroups.com

    Можно также написать лично мне: anton.bondarev2310[at]gmail.com

    P.S. фотки из группыTechTrain вконтакте
    Embox
    56,00
    Открытая и свободная ОС для встроенных систем.
    Поделиться публикацией

    Похожие публикации

    Комментарии 4

      0
      На удивление мало issue на github. У вас еще какой-то внутренний баг-трекер используется помимо github?
        0
        да, у насесть внутренний баг трекер на трелло, даже несколько.
        issues на github в основном для внешних багов
        +1
        Может быть вы подскажите, почему операционные системы так долго загружаются. Даже рекордные семь секунд — это же целая вечность во временном масштабе ПО, не говоря уже о загрузке десктопных осей. Что они делают всё это время? На что уходят эти семь секунд?
          0
          Ну как сказать вечность. Семь секунд из которых пара секунд на ожидание нажатия клавиши для u-boot. В итоге мы сделали загрузку где то за 1 секунду и картинка появляется через 2-3 секунды от подачи питания.
          Теперь по поводу долгой загрузки.
          Все операционные системы на данный момент должны как минимум
          • перекачать образ (ядро и минимальные сервисы) с диска или флешки в ОЗУ, поскольку выполнение происходит оттуда. Это касается и больших АРМов с андроидом.
          • Проинициализировать память и другую периферию
          • Проинициализировать ядро (ну например инициализация таблицы MMU довольно затратная по времени)
          • загрузить десяток драйверов, которые могут ресетить устройство и ждать его включения
          • Загрузить несколько десятков служб и приложений, для каждого нужно создать адресное пространство, занулить секцию bss, загрузить секцию данных. Это долго, мы написали статью вро системный вызов fork

        Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

        Самое читаемое