Название: Си для встраиваемых систем
Автор: Тарасов Александр
Издательство: Leanpub
Год: 2019
Формат: djvu
Страниц: 267
Размер: 36 mb
Язык: русский
Рассмотрена работа компилятора, некоторые особенности архитектуры ядра Cortex-M, переключение контекста выполнения, оптимизация кода и т.д. Сделана попытка показать уместность использования разных подходов в организации ПО: от простого суперцикла до ОСРВ (FreeRTOS). В конце приведены ответы на наиболее популярные вопросы.
Оглавление
Благодарности
От автора
Предисловие
Целевая платформа
История встраиваемых систем
Микроконтроллер и ядро ARM Cortex-M3
Особенность встраиваемых систем
Прогулка по уровням абстракции
Самопроверка
Представление информации
Порядок байтов
Системы счисления
Беззнаковые и знаковые целочисленные
Вещественные числа
Что лучше?
Самопроверка
Инструменты
Система контроля версий Git
Компиляторы и IDE
Статический анализатор кода
Самопроверка
Язык и компилятор
Почему именно Си?
Модульность
Компилятор GCC
Утилита make
Область видимости
Самопроверка
Язык Си
Препроцессор
Типы данных
Модификаторы
Преобразование типов
Указатели и массивы
Структуры, битовые поля, перечисления и объединения
Операторы
Управляющие конструкции
Функции
Стандартная библиотека
Самопроверка
Библиотеки МК
Библиотека CMSIS
Стандартная библиотека периферии
Низкоуровневая библиотека
Слой аппаратной абстракции HAL
Эффективный код для Cortex-M
Типы данных и аргументы
Условные операторы
Переписываем циклы
Аллокация регистров
Вызов функции
Организация структур
Деление
Полезные инструкции
Самопроверка
Ошибки, сбои и тестирование
Проверка кода компилятором
Проверка кода утверждениями
Обработка ошибок
Модульное тестирование
Архитектура программного обеспечения
DOS-стиль
Windows-стиль
ПО встраиваемых систем
Линейная программа на главном цикле
Главный цикл и прерывания
Операционная система реального времени (ОСРВ)
Заключение
Самопроверка
Машина состояний
Простое решение
Событийный автомат
Машина состояний на указателях на функции
Таблица переходов
Самопроверка
Операционная система FreeRTOS
Установка и настройка
Типы данных
Работа с задачами
Сопрограммы
Управление памятью
Взаимодействие потоков
Пример проекта с использованим FreeRTOS
Реализация
Самопроверка
Дополнительные главы
Таблица поиска
Расчеты с фиксированной запятой
Обработка аналоговых сигналов
Коммуникация
Загрузчик
Энергосберегающий режим
Где хранить настройки?
Несколько действий на одной кнопке
MISRA C и Сила Десяти Правил
Случайные числа
Список литературы
Документация
Книги
Статьи
Прочее
Изменения