Создание отечественной среды разработки встроенного ПО

Заказчик
АО «ПКК Миландр»
Руководитель проекта со стороны заказчика
ИТ-поставщик
АстроСофт
Год завершения проекта
2018
Сроки выполнения проекта
Январь, 2018 — Июль, 2018
Масштаб проекта
10000 человеко-часов
100 автоматизированных рабочих мест
Цели

Заказчик решения, АО «ПКК Миландр», разрабатывает и производит интегральные микросхемы электронных модулей, приборов и систем, производит отечественные сигнальные микропроцессоры. На базе этих микропроцессоров клиенты «ПКК Миландр» производят и программируют встроенные системы, промышленное оборудование, аппаратуру различного назначения.

Компания «Миландр» создала для клиентов программный комплекс, который включил в себя инструменты разработчика: графический интерфейс, компилятор, отладчик и т. п. Комплекс, названный CM-LYNX, призван позволить эффективно и удобно работать с продукцией АО «ПКК Миландр».

С появлением у заказчика многопроцессорных микросборок («Флип-Чип», «Осведомленность») функциональности среды стало недостаточно, чтобы в полной мере раскрыть весь потенциал «железа» производства «Миландр». Заказчик хотел увеличить функциональность среды, дополнив её возможностями создания многопоточных приложений.

Перед «АстроСофт» была поставлена цель доработать программный комплекс для повышения его функциональности и привлекательности у конечных пользователей.

Задачи, которые требовалось решить:

  • дополнить функциональность среды CM-LYNX инструментом отладки многопроцессорных систем;
  • добавить в операционную систему реального времени МАКС (ОСРВ МАКС) поддержку режима симметричной мультипроцессорности (SMP) по стандарту POSIX;
  • разработать стек профилирования и средства визуализации событий для ОСРВ МАКС и интегрировать их в среду CM-LYNX;
  • разработать компилятор на базе LLVM clang и обеспечить поддержку стандарта OpenMP для использования на процессорах серии 1967ВН с целью программирования многопоточных приложений на многопроцессорных системах.

Уникальность проекта

Среда разработки CM-LYNX от АО «ПКК Миландр» — единственный отечественный инструмент для разработки встроенного программного обеспечения на основе современного программного комплекса LLVM.

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

Использованное ПО
  • Операционная система реального времени МАКС («АстроСофт»);
  • Программный комплекс CM-LYNX (АО «ПКК Миландр»)
  • Языки программирования С, С++;
  • Symmetric Multiprocessing (SMP);
  • Стандарты portable operating system interface (POSIX);
  • Фреймворк Qt;
  • Свободная интегрированная среда разработки Eclipse;
  • Стек разработки Atlassian (Jira, Bitbucket, Confluence, Bamboo);
  • Стандарт OpenMP;
  • LLVM clang.
Описание проекта

В проекте были выполнены следующие работы:

  • дополнена функциональность среды возможностями многопроцессорной отладки;
  • разработан и добавлен профилировщик многопроцессорных систем;
  • портирована операционная система реального времени МАКС на микропроцессоры серии 1967ВН с поддержкой симметричной многопроцессорности (SMP) в соответствии со стандартом POSIХ;
  • разработан компилятор на базе LLVM clang с поддержкой стандарта OpenMP.

Возможность многопроцессорной отладки разработчики «АстроСофт» реализовали с использованием интерфейса среды разработки, которая выполнена на базе Eclipse. Разработчики получили возможность производить отладку программы параллельно на нескольких процессорах.

В качестве операционной системы выбрали ОСРВ МАКС, которая уже является стандартом для микроконтроллеров «Миландр». В ОСРВ МАКС реализовали поддержку процессоров серии 1967ВНхх и дополнили поддержкой режима симметричной многопроцессорности.

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

В результате клиенты заказчика получили возможность разрабатывать и отлаживать программное обеспечение для продукции «Миландр» с использованием SMP (самого простого и экономически выгодного способа масштабирования вычислительной системы) путём наращивания числа процессоров. А также использовать библиотеку OpenMP для быстрого и эффективного создания многопоточных приложений. Кроме того, разработчики получили возможность использовать специально адаптированную под аппаратные решения операционную систему и удобные инструменты разработки, которые значительно повышают эффективность специалиста.

Всё это выводит среду разработки CM-LYNX на качественно новый уровень, повышает конкурентоспособность решений АО «ПКК Миландр» на рынке микропроцессоров и позволяет говорить о создании современной российской среды разработки, не уступающей признанным зарубежным аналогам.

География проекта
Зеленоград, Москва
Коментарии: 8

Комментировать могут только авторизованные пользователи.
Предлагаем Вам в систему или зарегистрироваться.

  • Владимир Тихомиров
    Рейтинг: 160
    СПАО Ингосстрах
    CIO
    04.12.2018 19:14

    Отрадно, что на конкурсе появились достаточно серьезные отечественные инфраструктурные разработки. Над моделированием внешних устройств для отладки в псевдореальном времени не думали?

  • Павел Локтев
    Рейтинг: 10
    ООО "НТЦ Астрософт"
    Коммерческий директор
    06.12.2018 13:25

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

  • Павел Локтев
    Рейтинг: 10
    ООО "НТЦ Астрософт"
    Коммерческий директор
    11.12.2018 18:30

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

  • Александр Артюхов
    Рейтинг: 95
    Организация "Агат", АО
    Руководитель проекта
    18.12.2018 13:53

    20 лет наблюдаю за прогрессом АстроСофта. Не могу не отметить переход на новый, более амбициозный и качественный уровень. Так держать! Желаю всяческих успехов и победы в конкурсе!

    • Павел Локтев Александр
      Рейтинг: 10
      ООО "НТЦ Астрософт"
      Коммерческий директор
      19.12.2018 00:10

      Александр Викторович, очень приятно, спасибо!

  • Сергей Аверьянов
    Рейтинг: 10
    Начальник ИТ отдела поддержки промышленного производства
    27.12.2018 13:39

    Небольшая презентация или ссылка на страницу в Интернете дали бы возможность нагляднее представить результаты проекта. Спасибо.

  • Александр Балабанов
    Рейтинг: 310
    Айсберри
    CDO
    28.12.2018 11:10

    Юрий приветствую! Признаюсь сразу, что не совсем "моя тема" - последний раз ею занимался в Университете. Думаю, что цели проекта были немного другие - то что описано в разделе целей более похоже на средство достижения... Вопрос: что получила компания: возможность быстрой разработки - вывода новых решений, возможность введения нового функционала -> как следствие новые решения/продукты, новые клиенты, повышенная выручка и т.п.? Кто принимал участие со стороны Заказчика? Как принимался результат?

  • Александр Балабанов
    Рейтинг: 310
    Айсберри
    CDO
    28.12.2018 11:12

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

Предметная область
Отрасль
Управление