micro::bit v2 Embedded Discovery: учебник
Откройте для себя мир микроконтроллеров с помощью Rust!
Эта книга — вводный курс по встраиваемым системам на базе микроконтроллеров, в котором для обучения используется Rust, а не привычные C/C++.
Охват тем
В книге планируется рассмотреть следующие темы (со временем, надеюсь):
-
Как написать, собрать, прошить и отладить «встраиваемую» программу на Rust.
-
Функциональные блоки («периферия»), которые обычно есть в микроконтроллерах: цифровой ввод и вывод, широтно-импульсная модуляция (ШИМ, PWM), аналого-цифровые преобразователи (АЦП, ADC), распространённые протоколы связи, такие как Serial, I2C и SPI, и т. д.
-
Концепции многозадачности: кооперативная и вытесняющая многозадачность, прерывания, планировщики и т. д.
-
Концепции систем управления: датчики, калибровка, цифровые фильтры, исполнительные механизмы, управление без обратной связи, управление с обратной связью и т. д.
Подход
-
Рассчитано на новичков. Опыт работы с микроконтроллерами или встраиваемыми системами не требуется.
-
Практика прежде всего. Много упражнений, чтобы применить теорию на деле. Основную работу здесь выполняете вы.
-
Ориентация на инструменты. Мы активно используем инструменты, чтобы упростить разработку. Настоящая отладка с GDB и логирование появятся уже в начале. Светодиоды как средство отладки здесь не используются.
Чего в книге нет
Что выходит за рамки этой книги:
-
Обучение самому Rust. Материалов по этой теме уже достаточно. Мы сосредоточимся на микроконтроллерах и встраиваемых системах.
-
Исчерпывающий учебник по теории электрических цепей или электронике. Мы разберём лишь минимум, необходимый, чтобы понять принцип работы некоторых устройств.
-
Подробности вроде скриптов компоновщика и процесса загрузки. Например, мы будем использовать готовые инструменты, чтобы доставить ваш код на плату, но не станем подробно объяснять, как эти инструменты устроены.
Кроме того, я не планирую переносить материал на другие отладочные платы: книга целиком построена на отладочной плате micro:bit.
Сообщения о проблемах
Исходный код книги находится в этом репозитории. Если вы заметили опечатку или проблему в коде, сообщите о ней в трекере задач.
Другие ресурсы по встраиваемому Rust
Эта книга Discovery — лишь один из нескольких ресурсов по встраиваемому Rust, которые предоставляет Embedded Working Group. Полный список можно найти в The Embedded Rust Bookshelf. Там же есть часто задаваемые вопросы.