Embedded Linux и BSP

Адаптируем Embedded Linux и пакет поддержки платы (BSP) к конкретному устройству: загрузчик, низкоуровневый код, драйверы, образ системы и проверка на целевой аппаратуре.

Обсудить проект

Об услуге

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

AKSONIM работает с начальной загрузкой, U-Boot, кодом низкого уровня, драйверами и образами системы. После сборки проверяет результат на целевой аппаратной платформе; при необходимости готовит SDK и прикладные модули для конкретного образа ОС.

Что входит в работу

Архитектура BSP

Проектируем состав пакета аппаратной поддержки для целевой платформы. В материалах компании описаны ARM, x86 и Blackfin.

Загрузка устройства

Готовим и корректируем Bootstrap, разрабатываем и адаптируем U-Boot, стартовый код, управление прерываниями и питанием.

Ядро, HAL и драйверы

Дорабатываем низкоуровневый код и драйверы уровня ядра для подключения периферии; в источнике упомянута поддержка многоядерных платформ.

Образы системы

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

SDK и программные модули

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

Проверка на платформе

Разрабатываем тестовые методики, процедуры и средства проверки, затем тестируем ПО непосредственно на целевом устройстве.

Как работаем

  1. Изучаем аппаратную платформу

    Определяем процессор, состав периферии, порядок загрузки и требования к программному образу.

  2. Настраиваем запуск

    Прорабатываем BSP, начальный загрузчик, U-Boot и аппаратно зависимые части ядра.

  3. Подключаем устройства

    Разрабатываем драйверы и модули периферии, настраиваем последовательность и приоритеты загрузки.

  4. Собираем образ

    Формируем образ системы для запуска и отладки, при необходимости готовим SDK для команды приложений.

  5. Тестируем на плате

    Проверяем загрузку и работу компонентов на целевой аппаратной платформе, исправляем обнаруженные проблемы.

Что получает заказчик

Пакет поддержки платформы

В зависимости от задачи передаются BSP, загрузчик, низкоуровневый код и драйверы для согласованной аппаратной конфигурации.

Образ системы

Подготовленный образ ядра и программных компонентов для запуска и отладки на устройстве.

SDK и материалы проверки

SDK, тестовые методики, программные модули и документация включаются, если предусмотрены требованиями проекта.

Что учитываем

Архитектура и периферия

BSP и драйверы зависят от процессорной платформы, подключённых устройств и особенностей запуска.

Последовательность загрузки

Официальный материал описывает Bootstrap, U-Boot, стартовый код, приоритеты и порядок загрузки драйверов.

Состав образа

Система собирается с учётом задач устройства: лишние программные компоненты могут быть удалены, а образ подготовлен для отладки на плате.

Исторические платформы

В прежних материалах AKSONIM также названы uCLinux и Android. Их применимость к новому проекту уточняется отдельно.

Проекты и применение

Процессорный модуль MTAX-SoM-AM335x

В архиве разработок AKSONIM есть документация Embedded Linux для этого модуля. Это пример платформы, где ОС связана с конкретной аппаратной конфигурацией.

Новая плата с Linux

При переносе системы на устройство требуются загрузчик, драйверы периферии и образ, проверенный на аппаратуре.

Команда прикладного ПО

SDK для конкретного образа ОС помогает разрабатывать модули и приложения после подготовки системной платформы.

Частые вопросы

Что означает BSP в этой услуге?

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

Можно ли доработать загрузчик и драйверы?

Да. В официальных материалах AKSONIM описаны Bootstrap, U-Boot, драйверы уровня ядра и модули периферии. Конкретные изменения определяются целевой платформой.

Получит ли команда приложений средства разработки?

Если задачи проекта требуют работы с конкретным образом системы, может быть подготовлен SDK; также разрабатываются или адаптируются программные модули и приложения.