Название: Встраиваемые системы на основе Linux (+code)
Автор: Симмондс К.
Издательство: ДМК Пресс
Год: 2017
Страниц: 360
Формат: PDF
Размер: 68 Мб
Язык: русский
Организационно книга устроена так же, как жизненный цикл типичного проекта встраиваемой 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 с целью их минимизации.