- 1. Обзор BSP
- 2. Определение BSP
- 4. Основные функции BSP
- 5. Основной процесс фактического развития BSP.
- 6. Метод отладки BSP (минимальная отладка системы и отладка драйверов устройств)
- 6.1 Режим отладки эмулятора
- 6.2 «Черный» тон
- 6.3 Использование интегрированной среды разработки
- 6.4 Обработка прерываний
- 7. Аппаратный состав платы.
1. Обзор BSP
BSP расшифровывается как Board Support Package, пакет поддержки на уровне платы.
Это исходит из идеи дизайна, что встроенная операционная система не имеет ничего общего с оборудованием, а операционная система предназначена для работы на виртуальной аппаратной платформе.
Для конкретной аппаратной платформы код, связанный с аппаратным обеспечением, инкапсулируется в BSP, а BSP предоставляет виртуальную аппаратную платформу наверху, а BSP взаимодействует с операционной системой через определенный интерфейс.
BSP — это совокупность всех тел кода, связанных с оборудованием.
Одним из необходимых условий для широкого использования зрелой коммерческой операционной системы является возможность поддержки множества аппаратных платформ и реализация аппаратной независимости прикладных программ.
Вообще говоря, эта нерелевантность достигается операционной системой.
Но для встраиваемых систем у него нет широко используемых промышленных стандартов и единой аппаратной структуры, как у ПК.
Различные требования к приложениям различных встроенных систем определяют, что они обычно выбирают свою собственную настраиваемую аппаратную среду.Каждая встроенная система имеет очень разную аппаратную структуру от базового процессора до внешнего чипа.
Эта разнообразная аппаратная среда определяет, что операционная система не может полностью реализовать независимость между программным обеспечением верхнего уровня и оборудованием нижнего уровня.
Поэтому различные коммерческие операционные системы реального времени используют метод многоуровневого проектирования, который разделяет уровень программного обеспечения, непосредственно связанный с аппаратным обеспечением в системе, который называется Board Support Package или сокращенно BSP.
Как следует из названия, BSP разработан для конкретной платы. Если нет пакета программного обеспечения для поддержки одной платы, операционная система не может работать на одной плате.
И он также открыт для пользователей (имеется в виду разработчиков), и пользователи могут изменять или повторно разрабатывать его в соответствии с различными требованиями к оборудованию.
Роль BSP во встроенных системах очень похожа на роль BIOS и драйверов в системах ПК. 。
Конкретная структура и состав BSP различаются в зависимости от различных встроенных операционных систем. Разработка BSP требует от дизайнеров всесторонних знаний в области программного и аппаратного обеспечения.
Самая большая разница между программным обеспечением BSP и другим программным обеспечением заключается в том, что программное обеспечение BSP имеет полный набор шаблонов и форматов, которые разработчики должны строго соблюдать и которым не разрешается воспроизводить произвольно.
В программном обеспечении BSP имена файлов и функции, которые должны выполняться для большинства файлов, являются фиксированными.
Следовательно, разработка программного обеспечения BSP обычно модифицируется на базовом программном обеспечении BSP для удовлетворения потребностей различных плат.
Для аппаратных плат определенных типов процессоров встроенные операционные системы (такие как vxWorks) обычно предоставляют BSP с их демонстрационными платами, и эти программы находятся в назначенном каталоге. Это то, что мы называем минимальным системным BSP.
Вообще говоря, после того, как аппаратная система спроектирована, мы сначала найдем BSP DEMO-платы, похожую на нашу собственную систему (по крайней мере, использующую тот же процессор). И на основе этого разработайте собственный одноплатный BSP.
2. Определение BSP
Программный модуль, который обеспечивает самые основные и примитивные аппаратные операции для нормальной работы программной операционной системы, тесно связан с операционной системой, но не является ее частью. BSP можно разделить на три части:
1: Инициализация оборудования при включении системы. 2: Обеспечьте поддержку операционной системы для доступа к драйверам оборудования. 3. Интегрировать программные модули, необходимые для аппаратно-независимых операционных систем.
Интерфейсы, предоставляемые BSP для верхнего уровня:
Интерфейс с ядром операционной системы (например, сообщение о размере DRAM, изменение уровня маски прерывания и т. Д.) Интерфейс с системой ввода-вывода операционной системы Интерфейс с приложением
Вообще говоря, все программы, которым требуется аппаратное обеспечение с центральным процессором на одной плате, относятся к одноплатному BSP. Однако для удобства отладки и модульности программного обеспечения мы обычно ссылаемся на программу, относящуюся к самой маленькой системе из одноплатная, сокращенно BSP, остальные программы называются драйверами.
Для встроенных систем так называемая минимальная система — это операционная среда компьютера, которая включает в себя: ЦП, загрузочное устройство, ОЗУ, системные часы, сетевой порт и последовательный порт.
Таким образом, минимальный системный BSP включает программу инициализации системы ЦП и программы драйверов сетевого порта, последовательного порта, системных часов и других устройств.
4. Основные функции BSP
Основная функция BSP — настроить аппаратное обеспечение системы для работы в нормальном состоянии, завершить взаимодействие данных между оборудованием и программным обеспечением и предоставить аппаратно-независимую программную платформу для ОС и приложений верхнего уровня. Поэтому с точки зрения исполнения его можно разделить на две части:
1. Инициализация оборудования и инициализация многозадачной среды при запуске целевой платы.
2. Драйвер устройства, который контролирует нормальную работу каждого аппаратного устройства на целевой плате, используется для завершения информационного взаимодействия между оборудованием и программным обеспечением.
Обычно мы думаем, что BSP обслуживает ОС, но на самом деле некоторые программы в программном пакете BSP не нужны для ОС. С этой точки зрения BSP можно разделить на две части:
1. Минимальный системный BSP, который мы обычно называем BSP 2. Драйвер устройства
5. Основной процесс фактического развития BSP.
- Изучите операционную систему, используемую при разработке, и требования к разработке BSP для этой операционной системы.
- Изучите информацию о выбранном процессоре.
- Изучить конструкторскую документацию на оборудование.
- Изучите информацию о компонентах на печатной плате.
- Найдите шаблон BSP, ознакомьтесь с ним и разработайте на его основе свой собственный BSP (разработка BSP с нуля требует много работы, и в этом нет необходимости)
- Используйте симулятор для отладки и разработки самой маленькой системы BSP.
- На основе минимального BSP используйте интегрированную среду разработки Tornado для дальнейшей отладки периферийного оборудования, настройки и улучшения системы.
- Отладить драйвер устройства на плате.
6. Метод отладки BSP (минимальная отладка системы и отладка драйверов устройств)
6.1 Режим отладки эмулятора
6.2 «Черный» тон
6.3 Использование интегрированной среды разработки
6.4 Обработка прерываний
Особенности: Обеспечьте обработку в реальном времени и уменьшите потребление ресурсов ЦП.
Последовательность обработки прерывания: программа обработки прерывания сначала переключается на стек прерывания, сохраняет счетчик программ, регистры и другое состояние сцены прерывания, а затем обрабатывает прерывание. Источник прерывания должен быть очищен вовремя во время обработки прерывания, и, наконец, программа счетчик и программный счетчик перед прерыванием должны быть восстановлены.Состояние на месте, такое как регистр, возвращается обработчиком прерывания.
- ISR должна быть как можно короче, и работа, которую можно выполнить в задаче, не должна помещаться в ISR.
- ISR не может вызывать подпрограммы, которые могут вызвать блокировку.
- ISR не может принимать семафор, но ISR может выдавать семафор.
- Поскольку подпрограммы malloc () и free () используют семафоры, ISR не может их вызвать.
- ISR не может выполнять ввод-вывод через драйвер VxWorks.
- ISR не может вызывать подпрограммы, использующие сопроцессоры с плавающей запятой.
7. Аппаратный состав платы.
BSP тесно связан с одиночной платой.Для разработки BSP необходимо понимать аппаратный состав одной платы.Одна плата обычно состоит из самой маленькой системы ЦП и некоторых периферийных аппаратных устройств.
Минимальная система ЦП:
ЦП, память, контроллер памяти, последовательный порт отладки, сетевой порт отладки, системные часы, микросхема моста, периферийные микросхемы (в том числе), часы реального времени, таймер, FPGA, некоторые встроенные системы также включают контроллеры программного и жесткого диска, видеокарты, и клавиатуры.
На разных платах используются разные микросхемы специального оборудования:
Контроллер DMA, микросхема передачи E1, микросхема оптического интерфейса, обмен временными интервалами, флэш-память, микросхема моста хост / pci, микросхема моста pci / pci, микросхема порта Ethernet (например, Intel 82559, Realtek 8139), микросхема переключения портов Ethernet (BCM5616), CSM5000 , CSM5500, сторожевой таймер, специализированная логика FPGA и т. Д.