Освоение разработки драйверов устройств Linux: написание пользовательских драйверов для поддержки компьютерной периферии в операционных системах Linux на русском
Mastering Linux Device Driver Development: Write custom device drivers to support computer peripherals in Linux operating systems (B08M6G6Q4N)
Купить и скачать электронную книгу в форматах PDF, EPUB, FB2, MOBI
John Madieu | #15: Теория компьютерных операционных систем
Разрабатывайте передовые драйверы устройств Linux для встраиваемых систем, осваивая реальные платформы, такие как PCI, ALSA SoC и V4L2, с помощью практических примеров кода и методов отладки.
Основные характеристики
- Получите практический опыт работы с реальными подсистемами Linux: PCI, ALSA SoC, V4L2 и управлением питанием.
- Применяйте передовые методы отладки ядра, API regmap и интеграции с пользовательским оборудованием.
- Создавайте надежные драйверы с помощью пошаговых примеров и практических инженерных решений.
Описание книги
Linux — одна из самых быстрорастущих операционных систем в мире, и за последние несколько лет ядро Linux значительно эволюционировало, поддерживая широкий спектр встроенных устройств благодаря улучшенным подсистемам и множеству новых функций. С помощью этой книги вы узнаете, как улучшить свои навыки написания пользовательских драйверов устройств для вашей операционной системы Linux.
Книга «Освоение разработки драйверов устройств Linux» обеспечивает полное освещение тем ядра Linux, включая видео- и аудиофреймворки, которые обычно остаются без внимания. Вы будете работать с некоторыми из самых сложных и важных фреймворков ядра Linux, такими как PCI, ALSA for SoC и Video4Linux2, и попутно узнаете советы экспертов и лучшие практики. Кроме того, вы поймете, как максимально эффективно использовать такие фреймворки, как NVMEM и Watchdog. После того, как вы освоите вспомогательные функции ядра Linux, вы перейдете к работе со специальными типами устройств, такими как многофункциональные устройства (MFD), а затем к драйверам видео- и аудиоустройств.
К концу изучения этой книги вы сможете писать многофункциональные драйверы устройств и интегрировать их с некоторыми из самых сложных фреймворков ядра Linux, включая V4L2 и ALSA для SoC.
Что вы узнаете
- Изучите и внедрите вспомогательные средства ядра Linux для блокировки, отсрочки выполнения задач и управления прерываниями.
- Изучите подсистему Regmap для управления доступом к памяти и работы с подсистемой IRQ.
- Разберитесь с подсистемой PCI и напишите надежные драйверы для устройств PCI.
- Разрабатывайте полноценные драйверы мультимедийных устройств, используя ALSA SoC и фреймворк V4L2.
- Создавайте драйверы устройств с учетом энергопотребления, используя структуру управления питанием ядра.
- Узнайте, как максимально эффективно использовать различные подсистемы ядра, такие как NVMEM и Watchdog.
Для кого предназначена эта книга?
Эта книга предназначена для разработчиков встроенных систем, системных инженеров Linux и опытных программистов, стремящихся освоить разработку драйверов устройств Linux для специализированного оборудования и периферийных устройств. Читателям необходим опыт программирования на языке C и базовое понимание концепций ядра. Идеально подходит для тех, кто хочет получить практическое, основанное на проектах руководство по использованию таких фреймворков, как PCI, ALSA SoC, V4L2 и управление питанием, для создания драйверов производственного уровня.
Оглавление
- Основные понятия ядра Linux для разработчиков встроенных систем
- Использование API Regmap и упрощение кода
- Подробное изучение подсистемы MFD и API Syscon.
- Штурм общей системы часов
- ALSA SoC Framework — использование драйверов классов кодеков и платформ.
- ALSA SoC Framework — подробное изучение драйверов классов машин
- Разбираемся в V4L2 и драйверах устройств захвата видео.
- Интеграция с асинхронными фреймворками V4L2 и Media Controller.
- Использование API V4L2 из пользовательского пространства
- Управление питанием ядра Linux
- Разработка драйверов для PCI-устройств
- Использование платформы NVMEM
- Драйверы сторожевых устройств
- Советы и рекомендации по отладке ядра Linux