Глава 3, Пакет поддержки платформы

Предыдущая  Содержание  Следующая V*D*V

BSP или "Board Support Package, Пакет Поддержки Платформы" это набор программного обеспечения, используемого для инициализации на плате аппаратных устройств и реализации относящихся к данной плате процедур, которые могут быть использованы ядром, а также драйверами устройств. BSP, таким образом, представляет собой уровень абстрагирования оборудования, присоединяющий оборудование к ОС, скрывая детали, относящиеся к процессору и плате. BSP скрывает относящиеся к плате и процессору детали от остальной части ОС, поэтому перенос драйверов между разными платами и процессорами становится чрезвычайно простым. Ещё одним термином, который часто используется вместо BSP, является Hardware Abstraction Layer, Уровень Абстрагирования Оборудования, или HAL. У пользователей UNIX более известным является HAL, в то время как сообщество разработчиков RTOS чаще использует BSP, особенно те, кто используют VxWorks. BSP имеет два компонента:

 

1.Поддержку микропроцессора: Linux имеет широкую поддержку всех ведущих процессоров на рынке встраиваемых систем, таких как MIPS, ARM, и вскоре ожидается PowerPC.

2.Процедуры, относящиеся к плате: типичный HAL для оборудования платы будет включать в себя:

a.Поддержку загрузчика

b.Поддержку карты памяти

c.Системные таймеры

d.Поддержку контроллера прерываний

e.Часы реального времени, Real-Time Clock (RTC)

f.Поддержку последовательных устройств (для отладки и консоли)

g.Поддержку шины (PCI/ISA)

h.Поддержку DMA

i.Управление питанием

 

В этой главе не рассматривается перенос Linux на какой-либо микропроцессор или микроконтроллер, потому что это огромная тема сама по себе; переносу Linux на разные процессоры и микроконтроллеры должна быть посвящена отдельная книга. Вернее, эта книга предполагает, что читатель имеет плату на основе одного из уже поддерживаемых процессоров. Так что она целиком посвящена вопросам, относящимся к плате. Для прояснения терминологии, мы ссылаемся на HAL, как на уровень, который сочетает в себе программное обеспечение, относящееся к плате и процессору, а на BSP, как на уровень, который имеет только код, относящийся к данной плате. Поэтому, когда мы говорим о HAL для MIPS, это означает поддержку процессоров MIPS и плат с процессорами MIPS. Когда мы говорим о BSP, мы имеем в виду программное обеспечение, которое не имеет программного обеспечения поддержки процессора, а только дополнительное программное обеспечение для поддержки данной платы. HAL может быть понят как надмножество всех поддерживаемых BSP и дополнительно включает в себя программное обеспечение, относящееся к процессору.

Как уже упоминалось в Главе 2, ни HAL Linux, ни BSP, не имеет какого-либо стандарта. Следовательно, очень трудно объяснять HAL для нескольких архитектур. Эта глава погружает в BSP Linux и вопросы переноса для архитектуры на основе MIPS; где это необходимо, обсуждение может перекинуться на другие процессоры. Для упрощения мы используем вымышленную плату EUREKA на базе MIPS, имеющую следующий набор аппаратных компонентов:

 

32-х разрядный процессор MIPS

8 Мб SDRAM

4 Мб флеш-памяти

Программируемый контроллер на основе 8259

Шину PCI с такими подключенными к ней устройствами, как сетевая и звуковая карта

Микросхему-таймер для генерации тактовой частоты системы

Последовательный порт, который может быть использован для консоли и удалённой отладки

 

Предыдущая  Содержание  Следующая