Микроконтроллеры STM32 с чем их едят и их особенности

Одной из первых фирм выпустившей в большой мир микроконтроллеры на ядре ARM Cortex-M3 является компания «STMicroelectronics». Начиналось всё не так и давно в 2007 году с появления двух семейств – «Performance Line» (STM32F103) и «Access Line» (STM32F101). На текущий момент МК STM32 представлены десятью основными линейками для различных задач. Основные их достоинства это «pin-to-pin» и полная программная совместимость по всем возможным линейкам. И это всё уместилось на ядре ARM Cortex-M3. Рассмотрим основные инструменты, для того что бы можно было начать работу с МК STM32
Микроконтроллеры STM32

1. Программный инструментарий для разработки программ по микроконтроллеры STM32

Самым лучшим с точки зрения оптимизации и компактности кода является инструментарий представленный фирмами «Keil» и «IAR Systems». Кроме этого к этим продуктам имеется широкий выбор дополнительного ПО: USB и TCP/IP-стеки, ОС реального времени, и многие другие особенности. Также стоит обратить внимания на популярный компилятора GCC. Он поддерживаемых много различных операционных систем и процессоров.

2. Оценочная плата для разработки

Для МК STM32 имеется широкий выбор оценочных плат. Например, недорогие модули «Махаон» и «Барракуда» Благодаря этому, у радиолюбителей отпадает необходимость самостоятельной сборки оценочных плат и программаторов.

Пример структуры типового микроконтроллера STM32
внутренняя структура микроконтроллера STM32
Пример проекта на микроконтроллере STM32 в среде Keil uvision 5

Среда программирования МК Keil обладает своими «внутренними» файлами, которые она применяет по умолчанию. Допустим некоторые файлы отвечают за конфигурацию периферии и т.п. Поэтому для того чтобы компилятор Keil понял скопированные файлы необходимо сделать следующую последовательность действий:

1. Шаг первый необходимо скачать нужные файлы настройки микроконтроллера

Для настройки проекта вам потребуется скачать архив для вашей платы с официального сайта www.st.com и распаковать его

2. Затем создаем папки проекта

Создаем 4 папки: cmsis – содержит файлы настройки МК; pl – файлы периферий; user – пользовательская папка, в ней находится главный исполняемый файл; startup – начальная инициализация.

3. Создаем такие же названия группы в среде программирования Keil u vision

Названия можно в принципе можно дать и другие, но чтобы не путаться лучше оставить такие же. Т.к это всего лишь группировка исполняемых файлов.

компилятор Keil
4. Копируем необходимые файлы в папки проекта

Затем нам необходимо скопировать из ранее скаченного архива, следующие файлы. В папку cmsis : " F:\Projects\STM32\Ex4\cmsis\system_stm32f30x.c"; system_stm32f30x.h и stm32f30x.h (настройка работы МК)

В папку pl копируем две папки из STM32F30x_StdPeriph_Driver это inc и src, в которых имеется много различных файлов для работы с периферией. Также в эту папку pl копируем файл stm32f30x_conf.h из любого проекта.

В папку startup необходимо разместить: "F:\Projects\STM32\Ex4\startup\startup_stm32f30x.s" В папке user создаем наш исполняемый файл main.c

5. Добавление файлов в проект

В среде программирования МК STM32 Keil нам потребуется добавить некоторые файлы в созданные ранее группы. В cmsis добавляем - system_stm32f30x.c; В pl все си-шные файлы периферии из папки src; В startup - startup_stm32f30x.s; А в user создаем файл main.cв.

Добавление файлов в проект в среде программирования Keil
6. Этап создания проекта

Открываем файл stm32f30x.h и убираем комментарий со строки: /* #define USE_STDPERIPH_DRIVER*/. В результате ПО Keil задействует ваши скопированные файлы.

7. Добавляем в наш проект типовую библиотеку core

Для этого нужно в менеджере проектов выбрать пункт Run-TimeEnviroment и поставить галочку в поле CMSIS. Затем открываем main.c и компилируем, если ошибок нет. Значит проект настроен правильно.

Этап создания проекта на микроконтроллере STM32