Как было указано в предисловие к этому циклу заметок изучение программирования микроконтроллеров STM32 будет осуществляться на базе оценочной платы STM32F4DISCOVERY с установленным на ней микроконтроллером STM32F407VGT6 на базе ядра ARM®Cortex®-M4. Ниже приводятся ссылки на ресурсы и документы, должные оказать помощь в этом начинании.
Пара русскоязычных статей, дающих общее представление о железе, с которым предстоит иметь дело:
- Лидер по производительности среди ядер Cortex-M4 – STM32F4xx. В статье приводится обзор и основные характеристики серии МК STM32F4хх, ядра Cortex-M4, периферийных модулей, коммуникационных интерфейсов, режимов работы.
- Оценочная плата STM32F4DISCOVERY. Немного слов о плате и том, что на ней.
Самая подробная информация по семейству МК STM32F407xx от производителя, сконцентрирована на этой странице. В начале идёт описание ключевых особенностей серии, а далее — ссылки на pdf файлы, содержащие различную информацию, включая примеры программирования отдельных узлов (раздел Application Notes содержит описания примеров и алгоритмы, а в разделе Tools and Software на вкладке Embedded Software можно скачать проекты с исходниками). Внизу страницы расположены ссылки на краткое описание аппаратных и программных инструментов, применяемых в разработке.
В настоящее время, из этого изобилия интересуют следующие документы:
- RM0090: STM32F405/415, STM32F407/417, STM32F427/437 and STM32F429/439 advanced ARM®-based 32-bit MCUs. Талмуд в 1744 страницы. Основное справочное руководство (далее, для краткости, упоминаемое как СР — Справочное Руководство), описывающее несколько серий, различающихся размером памяти, периферией, типами корпусов, но, в целом, соответствующих однотипной модели архитектуры и программирования. В руководстве можно найти описание архитектуры системных шин, организации памяти, периферийных устройств, их регистров и битовых полей.
- DS8626: ARM Cortex-M4 32b MCU+FPU, 210DMIPS, up to 1MB Flash/192+4KB RAM, USB OTG HS/FS, Ethernet, 17 TIMs, 3 ADCs, 15 comm. interfaces & camera. Датащит (далее ДЩ), описывающий специфические особенности серий STM32F405xx и STM32F407xx. К нему рекомендуется обращаться для уточнения информации из СР, часто на это в СР прямо указывается.
- PM0214: STM32F3, STM32F4 and STM32L4 Series Cortex®-M4 programming manual. Руководство по программированию (далее ПР — программистское руководство) нескольких серий МК, базирующихся на ядре Cortex®-M4. В нём описывается ядро Cortex-M4 и внутренняя периферия ядра с точки зрения программирования, а так же набор машинных инструкций ядра. Это руководство будет особенно полезно при программировании на Ассемблере и рассмотрении написанных на нём примеров. А так же для лучшего понимания архитектуры этих вычислительных систем.
Страница STMicroelectronics посвящённая STM32F4DISCOVERY. На ней присутствует её краткое описание, а также ссылки на документацию и примеры. Сейчас требуется один документ:
- UM1472: Discovery kit with STM32F407VG MCU . Описание платы с расположенными на ней компонентами, положения джамперов, разводки пинов МК, принципиальные электрические схемы. Эта информация необходима как для экспериментов с уже находящимися на плате компонентами — светодиодами, кнопками, акселерометром и другими, так и при подключении к плате дополнительных компонентов, так как некоторые пины МК могут уже оказаться задействованными, и могут потребоваться дополнительные шаги, если возникнет необходимость подключать к ним внешние компоненты, или, в некоторых случаях, такового лучше не делать совсем.
Помимо указанных документов, помощь, связанную с информацией по структурам и функциям языка Си, используемых при программировании МК STM32, можно получить непосредственно через систему помощи CoIDE, о чём планируется сказать несколько слов при создании первых проектов на Си.