Это онлайн версия книги «Си для встраиваемых систем». В печатном формате её можно приобрести у нас в магазине, а в виде файла epub/mobi/pdf на площадке LeanPub.
Почему текст книги доступен онлайн?
Мы верим что знания должны быть свободными, поэтому по прошествию двух лет с момента публикации книга выложена в сеть в виде набора статей.
Что за книга, кому она адресована?
На русском языке мало литературы, посвященной программированию встраиваемых систем. Проводя занятия со своими студентами, листая форумы и натыкаясь на негодование от пользователей, я решился написать книжку.
Для кого она? Нетривиальный вопрос. С одной стороны, она для начинающих, так как повествование ведется начиная от экскурса в историю через базовые концепции (представление чисел, системы счисления) и синтаксис языка. С другой стороны, я бы не сказал, что «чтиво» легкое: рассмотрена работа компилятора, некоторые особенности архитектуры ядра Cortex-M, переключение контекста выполнения, оптимизация кода и т. д.
Также сделана попытка показать уместность использования разных подходов в организации ПО: от простого суперцикла до ОСРВ (на примере FreeRTOS). В конце приведены ответы на наиболее популярные вопросы, связанные с написанием прошивок.
Оглавление
Эпилог
Одной из первых встраиваемых систем был Apollo Guidance Computer; около 2 МГц тактовой частоты и 12 процессорных инструкций хватило, чтобы совершить самое невероятное и опасное путушествие за всю историю человечества.
- История встраиваемых систем
- Микроконтроллер и ядро ARM Cortex-M3
- Особенность встраиваемых систем
- Прогулка по уровням абстракции
- Самопроверка
- Порядок байтов
- Системы счисления
- Беззнаковые и знаковые целочисленные
- Вещественные числа
- Что лучше?
- Самопроверка
- Препроцессор
- Комментарии
- Типы данных
- Модификаторы
- Преобразование типов
- Указатели и массивы
- Массивы
- Структуры, битовые поля, перечисления и объединения
- Операторы
- Управляющие конструкции
- Функции
- Стандартная библиотека
- Самопроверка
- Библиотека CMSIS
- Стандартная библиотека периферии
- Низкоуровневая библиотека
- Слой аппаратной абстракции HAL
- Типы данных и аргументы
- Условные операторы
- Переписываем циклы
- Аллокация регистров
- Вызов функции
- Организация структур
- Деление
- Полезные инструкции
- Самопроверка
Ошибки, сбои, тестирование и отладка
Архитектура программного обеспечения
- DOS-стиль
- Windows-стиль
- ПО встраиваемых систем
- Линейная программа на главном цикле
- Главный цикл и прерывания
- Операционная система реального времени (ОСРВ)
- Заключение
- Самопроверка
- Простое решение
- Событийный автомат
- Машина состояний на указателях на функции
- Таблица переходов
- Самопроверка
- Установка и настройка
- Типы данных
- Работа с задачами
- Приоритеты задач
- Сопрограммы
- Управление памятью
- Взаимодействие потоков
- Пример проекта с использованием FreeRTOS
- Реализация
- Самопроверка
- Таблица поиска
- Расчеты с фиксированной запятой
- Обработка аналоговых сигналов
- Коммуникация
- Загрузчик
- Энергосберегающий режим
- Где хранить настройки?
- Несколько действий на одной кнопке
- MISRA C и Сила Десяти Правил
- Случайные числа
Спасибо автору за это творение. Оплатил книгу на leanpub за пару недель до ее появления здесь и нисколько не жалею об этом)