01. Общие сведения

STM32 являются довольно мощными 32-х битными контроллерами, построенными на ядре cortex, производитель компания STMicroelectronics.
Одно из важных преимуществ микроконтроллеров — использование PLL (ФАПЧ) за счет чего тактовая частота повышена (частота кварцевого резонатора умножается в N раз).
К примеру в старых AVR использовалась просто частота кварцевого резонатора, без умножителей.
Также у STM32 имеются достаточно продвинутые 16 и 32 битные таймеры.

Из наиболее интересных с которыми мне довелось поработать стоит выделить:

Cortex M0:
STM32F030 — по характеристикам продвинутый «аналог» Atmega8/168/328, работающий на частоте до 48МГц. Есть версия STM32F030F4P6 в корпусе TSSOP20

Cortex M3:
STM32F103 (STM32F103C8T6) — частота до 72МГц, имеется CAN и аппаратный USB
STM32F105 (STM32F105RTC6) — имеется 2 CAN

Cortex M4:
STM32F401RET6 — частота до 84МГц — если честно, STM32F407 лучше при почти тех же деньгах.
STM32F407 (STM32F407VGT6) частота до 168МГц и очень развитая периферия (описывать тут не буду)

Cortex-M7:
STM32F767zit6
С ним мне пока не пришлось много работать — из минусов т.к. у контроллера 2МБ flash -код собирается весьма долго.

Для отладки микроконтроллеров можно использовать программаторы ST-LINK, J-LINK (Segger), Ulink.
Из наиболее популярных сред разработки можно выделить IAR, Keil uVision, STM32CubeIDE (бесплатная среда от производителя м/к), Eclipse.
В настоящее время я использую Keil uVision и перехожу на STM32CubeIDE (визуально они схожи)

Для настройки периферии STM32 можно использовать STM32CubeMX с генератором кода (HAL/LL) -код получается весьма громоздким, но при работе со сложной периферией и большим ее объемом кодогенератор -большой плюс.
Также можно писать на CMSIS — вероятно самые быстродействующие программы (обращение идет напрямую к регистрам).
Ну и конечно на assembler, но с учетом периферии старших STM32 это м.б. сложно.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *