Автор: Симмондс Крис (Chris Simmonds)
Название: Встраиваемые системы на основе Linux
Оригинальное название: Mastering Embedded Linux Programming
Год выпуска: 2017
Категория: Linux
Издательство: ДМК-Пресс
Оригинальный правообладатель: Packt Publishing
Язык: Русский
Просмотреть / Скачать: Google Диск
Описание книги
Организационно книга устроена так же, как жизненный цикл типичного проекта встраиваемой Linux-системы. Автор рассказывает о подготовке проекта и устройстве системы на базе Linux, о наборах инструментов, начальных загрузчиках, ядре Linux и конфигурировании корневой файловой системы. Вы узнаете, как выбрать подходящую систему сборки Linux и научитесь работать с двумя наиболее популярными системами сборки: Buildroot и Yocto Project, позволяющими ускорить и упростить процесс разработки. Рассмотрена архитектура флэш-памяти типа NAND, NOR и eMMC, а также драйвера устройств и система инициализации. Показаны механизмы увеличения срока службы устройств и надежного обновления в месте эксплуатаци. Описаны потоки POSIX, которые могут оказать заметное влияние на время отклика и производительность готового устройства. Не обделены вниманием вопросы отладки и оптимизации платформы, а также выполнение приложений реального времени. Заключительные главы посвящены технике профилирования и трассировки приложений и ядра с помощью программ perf и Ftrace.
Эта книга рассчитана на разработчиков программного обеспечения на платформе Linux и системных программистов, уже знакомых со встраиваемыми системами и желающих больше узнать о создании устройств, лучших в своем классе. Предполагается знание основ языка C и опыт системного программирования.
Оригинальная обложка
Краткое содержание книги:
- роль ядра Linux и выбор подходящего ядра для приложения;
- применение Buildroot и Yocto Project для быстрого и эффективного создания встраиваемой Linux-системы;
- создание специальных загрузчиков на основе U-Boot;
- применение perf и Ftrace для поиска узких мест;
- деревья устройств и отражение в них нового оборудования;
- написание приложений, взаимодействующих с драйверами устройств;
- проектирование и кодирование многопоточных приложений с потоками POSIX;
- измерение задержек в режиме реального времени и настройка ядра Linux с целью их минимизации.