Разработка встроенного ПО
Разрабатываем прошивки и программные модули для целевой аппаратной платформы: низкоуровневый код, драйверы, функции устройства и средства проверки первых образцов.
Обсудить проектОб услуге
Разработка встроенного ПО связывает аппаратную платформу с функциями устройства. Программа выполняется на целевом вычислителе, управляет периферией, обрабатывает данные и обеспечивает предусмотренное техническим заданием поведение изделия.
Работа может идти без ОС или на её основе. Мы выделяем задачи нижнего уровня, драйверов, функциональных модулей и проверки, а специализированные FPGA, DSP, Embedded Linux и RTOS рассматриваем как отдельные направления.
Что входит в работу
Низкоуровневое ПО и драйверы
Реализуем программный доступ к периферии и аппаратно зависимые функции целевой платформы.
Функциональные модули
Разрабатываем код, который выполняет функции устройства по требованиям ТЗ; при необходимости интегрируем модули в общую программную систему.
Алгоритмы и реализация
Моделируем алгоритмы с учётом архитектуры вычислителя и реализуем их программным кодом. Специализированная цифровая обработка сигналов вынесена в отдельную услугу.
Запуск и проверка
Готовим тестовые процедуры и тестовое ПО для первого запуска образцов и проверки функциональных модулей на аппаратной платформе.
Программная документация
Фиксируем состав передаваемого ПО, его применение и результаты работ в документации, предусмотренной договором.
Как работаем
Разбираем платформу и требования
Уточняем функции устройства, состав периферии, архитектуру вычислителя и требования к программной части.
Проектируем состав ПО
Разделяем задачи драйверов, низкого уровня, функциональных модулей и тестового ПО; определяем, нужна ли ОС.
Реализуем и интегрируем
Пишем код и алгоритмы, связываем программные модули с аппаратной платформой.
Проверяем на образце
Применяем тестовые процедуры и средства первого запуска, отлаживаем ПО на целевом устройстве.
Передаём результат
Передаём предусмотренные ТЗ модули, исходный код, тестовое ПО и документацию.
Что получает заказчик
Рабочие программные модули
В зависимости от состава проекта заказчик получает алгоритмы, ПО нижнего и/или верхнего уровней и функциональные модули устройства.
Средства проверки
По согласованной задаче передаём тестовые процедуры и ПО для функциональной проверки опытного устройства или его отдельных модулей.
Документация и исходный код
Состав программной документации и передаваемого исходного кода определяется договором и техническим заданием.
Что учитываем
Аппаратная зависимость
Учитываем процессор, периферию и особенности архитектуры вычислителя; проверка ведётся на целевой аппаратной платформе.
Работа с ОС или без неё
Выбор программной архитектуры связан с функциями устройства. Embedded Linux и RTOS раскрыты на отдельных страницах.
Исторический опыт Windows Embedded
В проектах на Windows Embedded Compact компания разрабатывала BSP для ARM и x86, загрузчик EBOOT, код управления прерываниями и питанием, драйверы ядра и верхнего уровня, образы системы и SDK. Также описаны тестирование образа на устройстве и программная документация. Это подтверждённый исторический опыт платформенной разработки, а не отдельная актуальная услуга.
Проекты и применение
C300 Lenze
В проекте промышленного контроллера MicroPLC AKSONIM адаптировал BSP Windows Embedded Compact 7 для TI Sitara AM3872. Это пример взаимодействия встроенного ПО и разработанной аппаратной платформы.
Первый запуск нового устройства
Для опытного образца нужны аппаратно зависимый код, функциональные модули и тестовые процедуры, позволяющие проверить работу на реальной плате.
Миграция программной платформы
Низкоуровневый код и драйверы приходится соотносить с архитектурой нового вычислителя и периферией.
Частые вопросы
Всегда ли встроенному ПО нужна операционная система?
Нет. В официальных материалах компании описаны решения без ОС и решения с ОС. Выбор зависит от целевой аппаратной платформы и требований устройства.
Как проверяется ПО на первом образце?
Для запуска и проверки опытных устройств можем разработать тестовые процедуры и тестовое ПО, затем проверить функциональные модули на аппаратной платформе. Объём испытаний задаётся проектом.
Какие материалы передаются заказчику?
В зависимости от договора и ТЗ результат может включать программные модули и алгоритмы, ПО нижнего и верхнего уровней, тестовое ПО, исходный код и программную документацию.
