«Освоение программирования для встроенных систем Linux: создание быстрых и надежных встроенных решений с помощью Linux 5.4 и проекта Yocto 3.1» (Dunfell) на русском
Mastering Embedded Linux Programming: Create fast and reliable embedded solutions with Linux 5.4 and the Yocto Project 3.1 (Dunfell) (B07LH35XLK)
Купить и скачать электронную книгу в форматах PDF, EPUB, FB2, MOBI
Frank Vasquez | #80: Администрирование Linux и UNIX
Создавайте, настраивайте и развертывайте встраиваемые системы на базе Linux с уверенностью, используя Yocto, загрузчики и инструменты сборки.
Основные характеристики
- Основные системы сборки, наборы инструментов и интеграция ядра для встроенных систем Linux.
- Настраивайте собственные дистрибутивы Linux с помощью Yocto и управляйте конфигурациями, специфичными для каждой материнской платы.
- Изучите практические методы отладки, работы с памятью и оптимизации производительности системы.
Описание книги
Если вы ищете книгу, которая развеет мифы о встроенном Linux, то вы попали по адресу. «Mastering Embedded Linux Programming» — это всеобъемлющее руководство, которое может служить как средством для изучения нового, так и удобным справочником.
В первых нескольких главах этой книги будут рассмотрены фундаментальные элементы, лежащие в основе всех проектов на базе встраиваемых систем Linux: набор инструментов, загрузчик, ядро и корневая файловая система. После этого вы узнаете, как создать каждый из этих элементов с нуля и автоматизировать этот процесс с помощью Buildroot и проекта Yocto. По мере продвижения книга покажет вам, как реализовать эффективную стратегию хранения данных для микросхем флэш-памяти и удаленно устанавливать обновления на устройство после его развертывания.
Вы также узнаете о ключевых аспектах написания кода для встроенных систем Linux, таких как доступ к оборудованию из приложений, последствия написания многопоточного кода и методы эффективного управления памятью. В заключительных главах показано, как отлаживать код, независимо от того, находится ли он в приложениях или в самом ядре Linux.
Вы также изучите различные трассировщики и профилировщики, доступные для Linux, чтобы быстро выявлять любые узкие места в производительности вашей системы.
К концу этой книги по Linux вы сможете создавать эффективные и безопасные встраиваемые устройства с использованием Linux.
Что вы узнаете
- Используйте Buildroot и проект Yocto для создания встраиваемых систем Linux.
- Устраняйте неполадки при сборке BitBake и оптимизируйте рабочий процесс разработки на Yocto.
- Безопасное обновление IoT-устройств в полевых условиях с помощью Mender или balena.
- Создание прототипов дополнительных периферийных устройств осуществляется путем чтения схем, модификации деревьев устройств, пайки плат расширения и проверки контактов с помощью логического анализатора.
- Взаимодействие с оборудованием без необходимости написания драйверов устройств ядра.
- Разделите вашу систему на сервисы, управляемые BusyBox runit.
- Удалённая отладка устройств с помощью GDB и измерение производительности систем с использованием таких инструментов, как perf, ftrace, eBPF и Callgrind.
Для кого предназначена эта книга?
Если вы системный разработчик программного обеспечения или системный администратор, желающий научиться внедрять Linux на встроенные устройства, то эта книга для вас. Она также предназначена для инженеров по встроенным системам, привыкших к программированию для маломощных микроконтроллеров, которые могут использовать эту книгу для перехода к высокоскоростным системам на кристалле, способным работать под управлением Linux. Любой, кто разрабатывает оборудование, требующее работы под управлением Linux, найдет в этой книге что-то полезное — но прежде чем начать, вам потребуется хорошее знание стандарта POSIX, языка программирования C и написания скриптов для командной оболочки.
Оглавление
- Начало
- Изучение цепочек инструментов
- Всё о загрузчиках
- Настройка и сборка ядра
- Создание корневой файловой системы
- Выбор системы сборки
- Разработка с использованием Yocto
- Yocto Under Hood
- Разработка стратегии хранения данных
- Обновление программного обеспечения в полевых условиях
- Взаимодействие с драйверами устройств
- Прототипирование с использованием плат расширения
- Запуск проекта – начальная программа
- Начиная с BusyBox runit
- Управляющая власть
- Упаковка Python
- Изучение процессов и потоков
- Управление памятью
- Отладка с помощью GDB
- Профилирование и отслеживание
- Программирование в реальном времени