24.41 USD
Наличие на складе:
Ожидаемое поступление (если вы сделаете заказ прямо сейчас): 28.11.2024; планируемая отправка: 29.11.2024
Ожидаемое поступление (если вы сделаете заказ прямо сейчас): 01.12.2024; планируемая отправка: 02.12.2024
Издательство: | ДМК Пресс |
Дата выхода: | январь 2017 |
ISBN: | 978-5-97060-483-0 |
Объём: | 360 страниц |
Масса: | 600 г |
Размеры(В x Ш x Т), см: | 24 x 17 |
Обложка: | мягкая |
Бумага: | офсетная |
Переводное издание: | Mastering Embedded Linux Programming |
Язык оригинала: | английский |
Организационно книга устроена так же, как жизненный цикл типичного проекта встраиваемой 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 с целью их минимизации.