Архитектура встраиваемых систем
Здесь можно купить книгу "Архитектура встраиваемых систем" в печатном или электронном виде. Также, Вы можете прочесть аннотацию, цитаты и содержание, ознакомиться и оставить отзывы (комментарии) об этой книге.
Место издания: Москва
ISBN: 978-5-93700-206-8 (рус.). – ISBN 978-1-80323-954-5 (англ.)
Страниц: 334
Артикул: 112866
Возрастная маркировка: 16+
Краткая аннотация книги "Архитектура встраиваемых систем"
Книга, которую вы держите в руках, продолжает серию «Книжная полка Истового Инженера», которая издается при поддержке компании YADRO. Это издание подготовлено к публикации Московским институтом электроники и математики им. А. Н. Тихонова НИУ ВШЭ совместно с «ДМК Пресс».В книге описываются принципы работы и взаимодействия различных компонентов в реальных системах. Представлен общий обзор процесса разработки встраиваемых систем; показано, как настроить среду разработки, рассматриваются структура, механизмы загрузки и управление памятью встраиваемой системы. Вы изучите программный интерфейс и драйверы устройств, узнаете, как устанавливать связь через TCP/IP, как повысить безопасность устройств интернета вещей. Наконец, вы на практике познакомитесь с многопоточными операционными системами, самостоятельно разработав планировщик, и научитесь использовать механизмы доверенного выполнения с аппаратной поддержкой.Издание предназначено для программистов и инженеров, желающих освоить область разработки встраиваемых систем.
Содержание книги "Архитектура встраиваемых систем : разработка защищенных и подключенных устройств с примерами кода на C"
От издательства
Автор
Рецензент
Научный редактор русского перевода
Предисловие
Предисловие от научного редактора русского перевода
Часть I. Введение в разработку встраиваемых систем
Глава 1. Встраиваемые системы с практической точки зрения
1.1. Определение предметной области
1.1.1. Встраиваемые Linux-системы
1.1.2
1.1.3. Аппаратная архитектура
1.1.4. Типичные затруднения
1.1.5. Многопоточность
1.2. ОЗУ
1.3. Флеш-память
1.4. Универсальный ввод/вывод (GPIO)
1.4.1. АЦП и ЦАП
1.4.2. Таймеры и ШИМ
1.5. Интерфейсы и периферийные устройства
1.5.1. Асинхронная последовательная связь на основе UART
1.5.2. SPI
1.5.3. I2C
1.5.4. USB
1.6. Подключенные системы
1.6.1. Особенности распределенных систем
1.7. Механизмы изоляции
1.8. Базовая платформа
1.8.1. Базовая архитектура ARM
1.8.2. Микропроцессор Cortex-M
1.9. Заключение
Глава 2. Рабочая среда и оптимизация рабочего процесса
2.1. Обзор рабочего процесса
2.1.1. Компилятор C
2.1.2. Компоновщик
2.1.3. Инструмент автоматизации сборки Make
2.1.4. Отладчик
2.1.5. Цикл разработки встраиваемых систем
2.2. Текстовый редактор или интегрированная среда
2.3. Инструментарий GCC
2.3.1. Кросс-компилятор
2.3.2. Кто компилирует компиляторы
2.3.3. Компоновка исполняемого файла
2.3.4. Преобразование двоичного формата
2.4. Взаимодействие с целевым устройством
2.4.1. Сеанс GDB
2.5. Тестирование
2.5.1. Функциональные тесты
2.5.2. Аппаратные инструменты
2.5.3. Внешнее тестирование
2.5.4. Эмуляторы
2.6. Заключение
Часть II. Базовая архитектура встраиваемых систем
Глава 3. Шаблоны архитектуры встраиваемых систем
3.1. Управление конфигурацией проекта
3.1.1. Контроль версий
3.1.2. Отслеживание деятельности
3.1.3. Проверка кода
3.1.4. Непрерывная интеграция
3.2. Организация исходного кода
3.2.1. Аппаратная абстракция
3.2.2. Промежуточный уровень
3.2.3. Код приложения
3.3. Соображения безопасности
3.3.1. Устранение уязвимостей
3.3.2. Применение криптографии
3.3.3. Аппаратная криптография
3.3.4. Запуск ненадежного кода
3.4. Жизненный цикл проекта встраиваемой системы
3.4.1. Определение этапов проекта
3.4.2. Прототипирование
3.4.3. Рефакторинг
3.4.4. API и документация
3.5. Заключение
Глава 4. Процедура загрузки
4.1. Технические требования
4.2. Таблица векторов прерываний
4.2.1. Код запуска
4.2.2. Обработчик сброса
4.2.3. Размещение стека
4.2.4. Обработчики отказов
4.3. Схема памяти
4.4. Сборка и запуск загрузочного кода
4.4.1. Make-файл
4.4.2. Запуск приложения
4.5. Загрузка в несколько этапов
4.5.1. Загрузчик
4.5.2. Сборка образа
4.5.3. Отладка системы с поэтапным загрузчиком
4.5.4. Общие библиотеки
4.5.5. Удаленное обновление прошивки
4.5.6. Безопасная загрузка
4.6. Заключение
Глава 5. Управление памятью
5.1. Технические требования
5.2. Отображение памяти
5.2.1. Модель памяти и адресное пространство
5.2.2. Область исполняемого кода
5.2.3. Области оперативной памяти
5.2.4. Области доступа к периферийным устройствам
5.2.5. Системная область
5.2.6. Порядок транзакций памяти
5.3. Стек выполнения
5.3.1. Размещение стека
5.3.2. Переполнение стека
5.3.3. Закрашивание стека
5.4. Управление динамическим выделением памяти
5.4.1. Пользовательская реализация
5.4.2. Использование библиотеки newlib
5.4.3. Ограничение кучи
5.4.4. Несколько пулов памяти
5.4.5. Распространенные ошибки использования динамической памяти
5.5. Блок защиты памяти
5.5.1. Регистры конфигурации MPU
5.5.2. Программирование MPU
5.6. Заключение
Часть III. Аппаратные модули и интерфейс связи
Глава 6. Периферийные устройства общего назначения
6.1. Технические требования
6.1.1. Побитовые операции
6.2. Контроллер прерываний
6.2.1. Настройка прерываний от периферийных устройств
6.3. Системное время
6.3.1. Настройка состояний ожидания флеш-памяти
6.3.2. Настройка источника тактовых импульсов
6.3.3. Распределение тактовых импульсов
6.3.4. Включение SysTick
6.4. Таймеры общего назначения
6.5. Линии ввода/вывода общего назначения (GPIO)
6.5.1. Конфигурация выводов
6.5.2. Цифровой выход
6.5.3. Широтно-импульсная модуляция
6.5.4. Цифровой вход
6.5.5. Ввод, управляемый прерыванием
6.5.6. Аналоговый вход
6.6. Сторожевой таймер
6.7. Заключение
Глава 7. Интерфейсы локальной шины
7.1. Технические требования
7.2. Принцип работы последовательного канала
7.2.1. Синхронизация тактов и символов
7.2.2. Физические линии шины
7.2.3. Программирование периферийных устройств
7.3. Асинхронная последовательная шина на основе UART
7.3.1. Описание протокола
7.3.2. Программирование контроллера
7.3.3. Hello world!
7.3.4. Функция printf библиотеки newlib
7.3.5. Получение данных
7.3.6. Ввод/вывод с использованием прерываний
7.4. Шина SPI
7.4.1. Описание протокола
7.4.2. Программирование приемопередатчика
7.4.3. Транзакции по шине SPI
7.4.4. Передача данных по шине SPI на основе прерываний
7.5. Шина I2C
7.5.1. Описание протокола
7.5.2. Затягивание тактов
7.5.3. Несколько ведущих на одной шине
7.5.4. Программирование контроллера
7.5.5. Обработка прерываний
7.6. Заключение
Глава 8. Управление питанием и энергосбережение
8.1. Технические требования
8.2. Конфигурация системы
8.2.1. Аппаратная часть системы
8.2.2. Управление тактированием
8.2.3. Управление напряжением
8.3. Режимы работы с низким энергопотреблением
8.3.1. Конфигурация глубокого сна
8.3.2. Режим остановки
8.3.3. Режим ожидания
8.3.4. Интервалы пробуждения
8.4. Измерение мощности
8.4.1. Отладочные платы
8.5. Проектирование встраиваемых приложений с низким энергопотреблением
8.5.1. Замена циклов ожидания спящим режимом
8.5.2. Глубокий сон во время длительных периодов бездействия
8.5.3. Выбор тактовой частоты
8.5.4. Переключение профилей питания
8.6. Заключение
Глава 9. Распределенные системы и архитектура интернета вещей
9.1. Технические требования
9.2. Сетевые интерфейсы
9.2.1. MAC
Ethernet
Wi-Fi
Низкоскоростные беспроводные персональные сети (LR-WPAN)
Промышленные расширения канального уровня LR-WPAN
6LoWPAN
Bluetooth
Сети мобильной связи
Сети дальней связи с низким энергопотреблением (LPWAN)
9.2.2. Выбор подходящих сетевых интерфейсов
9.3. Интернет-протоколы
9.3.1. Частные реализации стандартных протоколов
9.3.2. Стек TCP/IP
9.3.4. Драйверы сетевых устройств
9.3.5. Выполнение стека TCP/IP
9.3.6. Использование сокетов
9.3.7. Протоколы без установления соединения
9.3.8. Mesh-сети и динамическая маршрутизация
9.4. TLS
9.4.1. Защита связи через сокет
9.5. Протоколы приложений
9.5.1. Протоколы сообщений
9.5.2. Архитектурный шаблон REST
9.5.3. Распределенные системы – единые точки отказа
9.6. Заключение
Часть IV. Многопоточность
Глава 10. Параллельные задачи и планирование
10.1. Технические требования
10.2. Управление задачами
10.2.1. Блок задач
10.2.2. Переключение контекста
10.2.3. Создание задач
10.3. Реализация планировщика
10.3.1. Вызовы супервайзера
10.3.2. Планировщик совместного выполнения
10.3.3. Параллелизм и кванты времени
10.3.4. Блокировка задач
10.3.5. Ожидание ресурсов
10.3.6. Планирование в реальном времени
10.4. Синхронизация
10.4.1. Семафоры
10.4.2. Мьютексы
10.4.3. Инверсия приоритета
10.5. Разделение системных ресурсов
10.5.1. Уровни привилегий
10.5.2. Сегментация памяти
10.5.3. Системные вызовы
10.6. Встраиваемые операционные системы
10.6.1. Выбор операционной системы
10.6.2. FreeRTOS
10.6.3. Riot
10.7. Заключение
Глава 11. Доверенная среда выполнения
11.1. Технические требования
11.2. Песочница
11.3. TrustZone-M
11.3.1. Тестовая платформа
11.3.2. Защищенные и незащищенные области выполнения
11.4. Разделение системных ресурсов
11.4.1. Атрибуты безопасности и области памяти
11.4.2. Флеш-память и водяные знаки
11.4.3. Конфигурация GTZC и защита SRAM на основе блоков
11.4.4. Настройка безопасного доступа к периферийным устройствам
11.5. Сборка и запуск примера
11.5.1. Включение TrustZone-M
11.5.2. Безопасная точка входа в приложение
11.5.3. Компиляция и компоновка приложений защищенной среды
11.5.4. Компиляция и компоновка приложений незащищенной среды
11.5.5. Переходы между средами выполнения
11.6. Заключение
Предметный указатель
Все отзывы о книге Архитектура встраиваемых систем : разработка защищенных и подключенных устройств с примерами кода на C
С книгой "Архитектура встраиваемых систем" читают
Внимание!
При обнаружении неточностей или ошибок в описании книги "Архитектура встраиваемых систем : разработка защищенных и подключенных устройств с примерами кода на C (автор Даниэле Лакамера)", просим Вас отправить сообщение на почту help@directmedia.ru. Благодарим!
и мы свяжемся с вами в течение 15 минут
за оставленную заявку