2.2.1 Уровень аппаратных абстракций (HAL)

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

Уровень аппаратных абстракций (hardware abstraction layer, HAL) виртуализирует оборудование платформы, так что различные драйверы могут быть легко перенесены на любое оборудование. HAL эквивалентен BSP (board support package, пакет поддержки аппаратуры), предоставляемому на большинстве RTOS, за исключением того, что BSP на коммерческих RTOS обычно имеет стандартные API, которые позволяют легко его переносить. Почему HAL Linux не имеют стандартных интерфейсов для подключения к остальной части ядра? Это наследство; поскольку Linux изначально предназначался для настольных систем x86 и поддержка других платформ был добавлена позже, первые разработчики не думали о стандартизации HAL. Однако, в последних версиях ядра идея придумать стандартные интерфейсы для подключения зависящего от платы программного обеспечения перенимается. Две известные архитектуры, ARM и PowerPC, имеют хорошо описанные структуры данных и API, которые упрощают перенос на новую плату.

Ниже приведены некоторые встраиваемые процессоры (кроме x86), поддерживаемые ядром Linux 2.6.

 

MIPS

PowerPC

ARM

M68K

CRIS

V850

SuperH

 

HAL имеет поддержку следующих аппаратных компонентов:

 

Процессор, кэш и MMU

Создание карты памяти

Поддержку обработки исключений и прерываний

DMA

Таймеры

Системная консоль

Управление шиной

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

 

Функции, которые инициализируют платформы, более подробно объясняются в Разделе 2.4. Глава 3 подробно объясняет шаги по переносу Linux на платформы на базе MIPS.

 

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