Приветствую уважаемые подписчики и читатели моего блога.
Иногда по работе я занимаюсь составлением документации к техническим проектам. Это разовые заказы, но довольно интересные. Конечно, с самими проектами я вас ознакомить на своей странице не смогу, но могу дать обзор на составляющие компоненты некоторых из них.
Микроконтроллеры STM32 сделаны на основе процессорных ядер Cortex-M3, Cortex-M4, Cortex-M4F, Cortex-M7F. Перечисляю наиболее часто используемые.
Cortex-M3 содержит в себе непосредственно само центральное процессорное устройство (32-битное ЦПУ), а также систему прерываний, системный таймер, систему отладки и карту памяти. Прерывание это сигнал, сообщающий о каким-либо событии. При поступлении этого сигнала приостанавливается выполнение кода и обрабатывается функция прерывания.
Также процессор имеет 4 Гб адресного пространства, ОЗУ, устройство ввода — вывода, коммуникационные каналы. Cortex-M3 имеет несколько шин, которые позволяют выполнять одновременно несколько операций.
Все процессоры Cortex имеют гарвардскую архитектуру. Архитектура фон Неймана имеет однородную память микропроцессора, в нее записываются программы. В отличие от архитектуры фон Неймана в гарвардской нельзя произвести запись в память программ, что исключает возможность сбоя или разрушения управляющей программы. Для работы с программной памятью и с памятью данных используются системные шины.
Cortex-M4 по своей структуре схож с Cortex-M3, отличается только системой команд DSP (Digital Signal Processor).
Процессор Cortex-M4F имеет блок вычислений с плавающей точкой FPU.
Все микроконтроллеры STM32 подразделяются на две группы: PL (Performance Line) и AL (Access Line). PL имеет тактовую частоту до 72 МГц, AL до 36 МГц. Имеются еще отличия в устройстве ввода/вывода (УВВ): в первом случае это полный набор УВВ, во втором ограниченный.
На рынке сегодня представлено большое количество различных микроконтроллеров семейства STM32 со всеми вышеперечисленными процессорами.
Самым, пожалуй главным достоинством микроконтроллеров STM32 является их совместимость с программной средой Arduino IDE. По сути, это своего рода следующая ступень после Arduino.
Для работы с STM32 для начала скачиваем и устанавливаем Arduino IDE. В данной статье я не стану рассказывать на том, как это сделать — информация по установке Arduino IDE есть на официальном сайте Arduino.ru, а также ее полно в интернете. У меня русскоязычная версия, поэтому я выложу пошаговую инструкцию для нее.
Итак, открываем Arduino IDE, в открывшемся окне выбираем меню Фал — Настройки. В открывшемся меню Настройки выбираем Дополнительные ссылки для менеджера плат и вставляем туда следующую ссылку:
http://dan.drown.org/stm32duino/package_STM32duino_index.json (ссылка взята из открытых источников интернета)
https://dan.drown.org/stm32duino/package_STM32duino_intex.json
Затем внизу в меню нажимаем ОК.
После этого открываем в Arduino IDE меню Инструменты — Менеджер плат. В списке появившегося меню появится STM32.