Текущий проект направлен на демонстрацию примеров работы с микроконтроллером MDR32F9Q2I (K1986BE92QI).
В примерах используются библиотеки (местами даже в "перемешку") CMSIS для ядера CorteM3, SPL_MDR32 и LOCM3 (последняя является имитацией под Libopencm3, подробнее о ней будет ниже).
Для удобства удобства отладки программы, в проект добавлены:
*.SVD
-файл для отладки в среде разработки с возможностью использования точек-остановы;- адаптированая для IDE VSCode в связке с плагином Cortex-Debug библиотека SEGGER-RTT (Real Time Transfer for embedded targets), позволяющая осуществлять сообщения от МК в консоль среды отладки посредством протокола Serial Wire Debug (SWD) (см. подробнее в
/lib/Debug
).
Данная библиотека не является полноценным продуктом и не стремится реализовать полноценную поддержку библиотеки в составе Libopencm3 для MDR32. Она создана только с целью демонстрации упрощенного понимания примеров работы с микроконтроллером MDR32.
В текущей виде поддерживается только микроконтроллер MDR32F9Q2I (K1986BE92QI)
За основу библиотеки была взята библиотека Libopencm3 из-за своей простоты синтаксиса и функционального подхода (что по нашему мнению, является ниболее удобным подходом для освоения возможностей МК на примерах).
По этой причине, в исходном коде присутствует много комментариев этой библиотеки. Но так же, присутствуют комментарии, появившиеся при интеграции на микроконтроллер MDR32 (или комментарии артефакты). Их появление обусловлено тем, что МК имеет отличимую архитектуру регистров привычной переферии от той архитектуры, на которую ориентировались создатели библиотеки Libopencm3.
При прочтении исходного кода рекомендуется обращать внимание, на комментарии, так как там есть ряд заметок, которые указывают на различия в использовании api библиотеки с учетом на индивидуальность MDR32. При этом, сохранение их бизнес-цели было максимально приближено к оригиналу.
Также, состав api-методов, поддерживающих переферию, в текущей библиотеке пополняется по мере использования этой самой переферии в примерах текущего проекта.
Если вы имеете возможность дополнить библиотеку новыми методами поддержки переферии, то приглашаем поучаствовать в развитии библиотеки для MDR32.