Си для встраиваемых систем
Си для встраиваемых систем
О книге
Данную книгу не стоит рассматривать как практическое руководство по программированию конкретного микроконтроллера; повествование построено по возможности абстрагировано от конкретной реализации, хотя все примеры и приводятся для МК stm32f103c8. Цель книги не в том, чтобы научить читателя работать с определенным микроконтроллером, а в том, чтобы ввести его в курс дела, изложить в достаточно сжатой форме основные концепции и приемы. Для кого она? Нетривиальный вопрос. С одной стороны, она для начинающих, так как повествование ведется начиная от экскурса в историю через базовые концепции (представление чисел, системы счисления) и синтаксис языка Си. С другой стороны, «чтиво» не из легких: рассмотрена работа компилятора, некоторые особенности архитектуры ядра Cortex-M, переключение контекста выполнения, оптимизация кода и т. д. Также сделана попытка показать уместность использования разных подходов в организации ПО: от простого суперцикла до ОСРВ (на примере FreeRTOS). В конце приведены ответы на наиболее популярные вопросы, связанные с написанием прошивок.
Содержание
- Благодарности
- От автора
- Предисловие
-
Целевая платформа
- История встраиваемых систем
- Микроконтроллер и ядро ARM Cortex-M3
- Особенность встраиваемых систем
- Прогулка по уровням абстракции
- Самопроверка
-
Представление информации
- Порядок байтов
- Системы счисления
- Беззнаковые и знаковые целочисленные
- Вещественные числа
- Что лучше?
- Самопроверка
-
Инструменты
- Система контроля версий Git
- Компиляторы и IDE
- Статический анализатор кода
- Самопроверка
-
Язык и компилятор
- Почему именно Си?
- Модульность
- Компилятор GCC
-
Утилита
make
- Область видимости
- Самопроверка
-
Язык Си
- Препроцессор
- Типы данных
- Модификаторы
- Преобразование типов
- Указатели и массивы
- Структуры, битовые поля, перечисления и объединения
- Операторы
- Управляющие конструкции
- Функции
- Стандартная библиотека
- Самопроверка
-
Библиотеки МК
- Библиотека CMSIS
- Стандартная библиотека периферии
- Низкоуровневая библиотека
- Слой аппаратной абстракции HAL
-
Эффективный код для Cortex-M
- Типы данных и аргументы
- Условные операторы
- Переписываем циклы
- Аллокация регистров
- Вызов функции
- Организация структур
- Деление
- Полезные инструкции
- Самопроверка
-
Ошибки, сбои и тестирование
- Проверка кода компилятором
- Проверка кода утверждениями
- Обработка ошибок
- Модульное тестирование
-
Архитектура программного обеспечения
- DOS-стиль
- Windows-стиль
- ПО встраиваемых систем
- Линейная программа на главном цикле
- Главный цикл и прерывания
- Операционная система реального времени (ОСРВ)
- Заключение
- Самопроверка
-
Машина состояний
- Простое решение
- Событийный автомат
- Машина состояний на указателях на функции
- Таблица переходов
- Самопроверка
-
Операционная система FreeRTOS
- Установка и настройка
- Типы данных
- Работа с задачами
- Сопрограммы
- Управление памятью
- Взаимодействие потоков
- Пример проекта с использованим FreeRTOS
- Реализация
- Самопроверка
-
Дополнительные главы
- Таблица поиска
- Расчеты с фиксированной запятой
- Обработка аналоговых сигналов
- Коммуникация
- Загрузчик
- Энергосберегающий режим
- Где хранить настройки?
- Несколько действий на одной кнопке
- MISRA C и Сила Десяти Правил
- Случайные числа
-
Список литературы
- Документация
- Книги
- Статьи
- Прочее
- Изменения
- Примечания
60-дневная гарантия 100% удовлетворения от Leanpub
В течение 60 дней после покупки вы можете получить 100% возврат средств за любую покупку на Leanpub всего в два клика.
Технически это рискованно для нас, поскольку файлы книги или курса останутся у вас в любом случае. Но мы настолько уверены в наших продуктах и услугах, а также в наших авторах и читателях, что с радостью предлагаем полную гарантию возврата денег за всё, что мы продаем.
Узнать, насколько что-то хорошо, можно только попробовав, а благодаря нашей 100% гарантии возврата денег это можно сделать без всякого риска!
Так что нет причин не нажать кнопку "Добавить в корзину", не так ли?
Ознакомьтесь с полными условиями...
Получайте $8 с покупки за $10 и $16 с покупки за $20
Мы выплачиваем 80% роялти за покупки от $7.99 и выше, и 80% роялти минус фиксированную комиссию 50 центов за покупки в диапазоне от $0.99 до $7.98. Вы зарабатываете $8 с продажи за $10 и $16 с продажи за $20. Таким образом, если мы продадим 5000 невозвращенных копий вашей книги по $20, вы заработаете $80,000.
(Да, некоторые авторы уже заработали намного больше этого на Leanpub.)
Фактически, авторы заработалиболее $14 миллионов, создавая, публикуя и продавая на Leanpub.
Узнайте больше о писательстве на Leanpub
Бесплатные обновления. Без DRM.
Если вы покупаете книгу на Leanpub, вы получаете бесплатные обновления, пока автор обновляет книгу! Многие авторы используют Leanpub для публикации своих книг в процессе написания. Все читатели получают бесплатные обновления, независимо от того, когда они купили книгу и сколько заплатили (включая бесплатные книги).
Большинство книг Leanpub доступны в форматах PDF (для компьютеров) и EPUB (для телефонов, планшетов и Kindle). Форматы, в которых доступна книга, показаны в правом верхнем углу этой страницы.
Наконец, книги Leanpub не имеют никакой бессмысленной DRM-защиты, поэтому вы можете легко читать их на любом поддерживаемом устройстве.
Узнайте больше о форматах электронных книг Leanpub и где их читать