Встраиваемые системы на основе Linux
Организационно книга устроена так же, как жизненный цикл типичного проекта встраиваемой Linux-системы. Автор рассказывает о подготовке проекта и устройстве системы на базе Linux, о наборах инструментов, начальных загрузчиках, ядре Linux и конфигурировании корневой файловой системы. Вы узнаете, как выбрать подходящую систему сборки Linux и научитесь работать с двумя наиболее популярными системами сборки: Buildroot и Yocto Project, позволяющими ускорить и упростить процесс разработки. Рассмотрена архитектура флэш-памяти типа NAND, NOR и еММС, а также драйвера устройств и система инициализации. Показаны механизмы увеличения срока службы устройств и надежного обновления в месте эксплуатации. Описаны потоки POSIX, которые могут оказать заметное влияние на время отклика и производительность готового устройства. Не обделены вниманием вопросы отладки и оптимизации платформы, а также выполнение приложений реального времени. Заключительные главы посвящены технике профилирования и трассировки приложений и ядра с помощью программ perf и Ftrace.
Краткое содержание книги:
- роль ядра Linux и выбор подходящего ядра для приложения;
- применение Buildroot и Yocto Project для быстрого и эффективного создания встраиваемой Linux-системы;
- создание специальных загрузчиков на основе U-Boot;
- применение perf и Ftrace для поиска узких мест;
- деревья устройств и отражение в них нового оборудования;
- написание приложений, взаимодействующих с драйверами устройств;
- проектирование и кодирование много-поточных приложений с потоками POSIX;
- измерение задержек в режиме реального времени и настройка ядра Linux с целью их минимизации.
Кому адресована эта книга:
Эта книга рассчитана на разработчиков программного обеспечения на платформе Linux и системных программистов, уже знакомых со встраиваемыми системами и желающих больше узнать о создании устройств, лучших в своем классе. Предполагается знание основ языка С и опыт системного программирования.