Предисловие

Сказать, что эта книга о языке программирования Си, не совсем правильно. Помимо самого языка, здесь задеваются вопросы архитектуры программ для встраиваемых систем и обсуждаются дополнительные вопросы, связанные с реализацией отдельных модулей. Книга — это попытка систематизировать информацию в области программирования микроконтроллеров, которую автору время от времени приходилось доносить до студентов.

С одной стороны, рассматриваются довольно сложные процессы: смена контекста выполнения, принципы работы операционных систем реального времени, — с другой стороны, книга не рассчитана на профессионалов: рассматриваются базовые концепции и понятия встраиваемых систем. Поэтому потенциальный читатель данной книги — это начинающий разработчик, выбравший конкретную архитектуру и желающий расширить свои знания.

Книгу вряд ли можно рассматривать как практическое руководство по программированию конкретного микроконтроллера. Повествование построено по возможности абстрагированно от конкретной реализации. Цель книги не в том, чтобы научить читателя работать с определенным микроконтроллером, а в том, чтобы ввести его в курс дела, изложить в достаточно сжатой форме основные концепции и приемы.

В начале дается краткая справка по истории встраиваемых систем, рассматриваются такие фундаментальные вещи, как представление информации в цифровой технике и архитектура ядра ARM Cortex-M. Далее идет описание инструментов, которыми пользуется разработчик: как работает GCC; зачем нужна система контроля версий; IDE. Приводится краткая справка по языку программирования Си (с набором задач), после чего обсуждается вопрос архитектуры программного обеспечения: от написания программ под «голое железо» (англ. bare metal) до использования операционных систем реального времени (на примере FreeRTOS).

Все примеры приведены для стандарта языка c99 и ядра Cortex-M3 (микроконтроллера stm32f103c8). Решая задачи по синтаксису языка, можно использовать какой-нибудь онлайн-компилятор или среду на локальной машине.


Назад | Оглавление | Далее