Настройка Blue Pill Board в STM32CubeIDE: 8 шагов
Настройка Blue Pill Board в STM32CubeIDE: 8 шагов

Видео: Настройка Blue Pill Board в STM32CubeIDE: 8 шагов

Видео: Настройка Blue Pill Board в STM32CubeIDE: 8 шагов
Видео: STM32: Очень быстрый старт на STM32CubeIDE 2025, Январь
Anonim
Настройка Blue Pill Board в STM32CubeIDE
Настройка Blue Pill Board в STM32CubeIDE

Blue Pill - это очень дешевая плата для разработки на базе ARM. В качестве процессора используется STM32F103C8, имеющий 64 кбайт флеш-памяти и 20 кбайт оперативной памяти. Он работает на частоте до 72 МГц и является самым дешевым способом заняться разработкой встроенного программного обеспечения для ARM.

Большинство примеров проектов и способы описания программирования доски Blue Pill с использованием среды Auduino. Хотя это работает и является способом начать работу, у него есть свои ограничения. Среда Arduino немного защищает вас от лежащего в основе оборудования - это цель его разработки. Из-за этого вы не сможете воспользоваться всеми функциями, которые предлагает процессор, а интеграция операционной системы реального времени на самом деле не поддерживается. Это означает, что среда Arduino не получила широкого распространения в промышленности. Если вы хотите сделать карьеру в области разработки встроенного программного обеспечения, Arduino - хорошая отправная точка, но вам нужно двигаться дальше и использовать среду разработки, которая используется в промышленных масштабах. ST предлагает полностью бесплатную среду разработки для своих процессоров под названием STM32CubeIDE. Это широко используется в промышленности, поэтому к нему стоит перейти.

Однако, и это очень важно, STM32CubeIDE устрашающе сложен и представляет собой сложную программу для использования. Он поддерживает все функции всех процессоров ST и позволяет их тщательно настраивать, чего вы не встретите в IDE Arduino, потому что все это сделано за вас.

Вам необходимо настроить плату в качестве первого шага в STM32CubeIDE. IDE знает о собственных платах разработки ST и настраивает их для вас, но Blue Pill при использовании процессора ST не является продуктом ST, поэтому вы здесь сами по себе.

Это руководство проведет вас через процесс настройки платы Blue Pill, включения последовательного порта и написания текста. Это немного, но это важный первый шаг.

Запасы

STM32CubeIDE - скачать с сайта ST. Вам необходимо зарегистрироваться, и загрузка займет некоторое время.

Доска Blue Pill. Вы можете получить их на ebay. Вам нужен тот, на котором есть настоящий процессор ST, а на некоторых его нет. На ebay увеличьте изображение и найдите логотип ST на процессоре.

Отладчик / программатор ST-LINK v2, доступный на ebay за несколько фунтов.

Последовательный кабель FTDI TTL-USB 3,3 В для выхода и 2 соединительных провода типа папа-мама для его подключения.

Программа последовательного терминала, такая как PuTTY.

Шаг 1: Создание нового проекта

Создание нового проекта
Создание нового проекта
Создание нового проекта
Создание нового проекта
  1. Запустите STM32CubeIDE, а затем в меню выберите File | New | STM32 Project.
  2. В поле поиска номера детали введите STM32F103C8.
  3. В списке MCU / MPUs вы должны увидеть STM32F103C8. Выберите эту линию, как на изображении выше.
  4. Нажмите "Далее.
  5. В диалоговом окне «Настройка проекта» дайте проекту имя.
  6. Оставьте все остальное как есть и нажмите Готово. Ваш проект появится слева на панели Project Explorer.

Шаг 2: настройка процессора

Настройка процессора
Настройка процессора
Настройка процессора
Настройка процессора
Настройка процессора
Настройка процессора
Настройка процессора
Настройка процессора
  1. На панели Project Explorer откройте свой проект и дважды щелкните файл.ioc.
  2. На вкладке «Проект и конфигурация» разверните «Ядро системы» и выберите «SYS».
  3. В разделе SYS Mode and Configuration в раскрывающемся списке Debug выберите Serial Wire.
  4. Теперь выберите RCC в списке System Core чуть выше SYS, который вы выбрали выше.
  5. В разделе RCC Mode & Configuration в раскрывающемся списке High Speed Clock (HSE) выберите Crystal / Ceramic Resonator.
  6. Теперь снова в разделе «Категории» откройте «Подключение» и выберите USART2.
  7. В разделе «Режим и конфигурация USART2» в раскрывающемся списке «Режим» выберите «Асинхронный».
  8. Теперь выберите вкладку Clock Configuration и перейдите к следующему шагу.

Шаг 3: настройка часов

Настройка часов
Настройка часов

Теперь вы можете увидеть довольно устрашающую диаграмму часов, но ее нужно настроить только один раз. Это сложнее всего описать здесь, поскольку диаграмма сложна. Все, что вам нужно изменить, выделено на изображении выше.

  1. Плата Blue Pill поставляется с кристаллом 8 МГц на плате, и это то, что по умолчанию соответствует диаграмме конфигурации часов, поэтому нам не нужно это менять.
  2. В разделе PLL Source Mux выберите нижний вариант HSE.
  3. Справа установите PLLMul на X9.
  4. Справа снова под System Clock Mux выберите PLLCLK.
  5. Справа снова под APB1 Prescalar выберите / 2.
  6. Вот и все. Если вы видите какие-либо части диаграммы, выделенные фиолетовым цветом, значит, вы сделали что-то не так.

Шаг 4. Сохраните и создайте

  1. Сохраните конфигурацию.ioc с помощью Ctrl-S. Когда вас спросят, хотите ли вы сгенерировать код, выберите «Да» (и отметьте «Запомнить мое решение», чтобы вас не спрашивали каждый раз). Вы можете закрыть файл.ioc.
  2. Теперь выполните сборку из меню Project | Build Project.

Шаг 5: Добавление кода

Добавление кода
Добавление кода
Добавление кода
Добавление кода

Теперь мы добавим код для использования настроенного нами последовательного порта.

  1. В Project Explorer откройте Core / Src и дважды щелкните main.c, чтобы отредактировать его.
  2. Прокрутите вниз, пока не найдете функцию main (), и добавьте код, показанный ниже, чуть ниже комментария / * КОД ПОЛЬЗОВАТЕЛЯ НАЧАЛО 3 * /, затем снова выполните сборку.

HAL_UART_Transmit (& huart2, (uint8_t *) «Привет, мир! / R / n», 15U, 100U);

Затем он подключает оборудование и запускает его.

Шаг 6: Подключение оборудования

Подключение оборудования
Подключение оборудования
Подключение оборудования
Подключение оборудования

Подключение ST-LINK v2

ST-LINK v2 должен был поставляться с ленточным кабелем с 4-жильным разъемом «мама-мама». Вам необходимо выполнить следующие подключения:

Синяя таблетка для ST-LINK v2

GND к GND

CLK в SWCLK

DIO в SWDIO

От 3,3 до 3,3 В

См. Первое изображение выше.

Подключение последовательного кабеля

Если вы вернетесь к файлу.ioc и посмотрите на схему микросхемы справа, вы увидите, что линия Tx UART2 находится на контакте PA2. Для этого подключите контакт с маркировкой PA2 на плате Blue Pill к соединению с желтым проводом на последовательном кабеле FTDI. Также подключите один из контактов заземления Blue Pill (помеченный G) к черному проводу последовательного кабеля FTDI.

См. Второе изображение выше.

Шаг 7: отладка

Отладка
Отладка
Отладка
Отладка

Подключите последовательный кабель FTDI и запустите последовательный терминал на скорости 115200 бод. Затем подключите ST-LINK v2, и все готово.

  1. В STM32CubeIDE выберите Run | Debug. Когда появится диалоговое окно «Отладка как», выберите «Приложение STM32 Cortex-M C / C ++» и нажмите «ОК».
  2. Когда появится диалоговое окно «Изменить конфигурацию», просто нажмите «ОК».
  3. Отладчик остановится на первой строке main (). В меню выберите «Выполнить | Возобновить» и проверьте наличие сообщений в последовательном терминале.

Шаг 8: делать больше

Вот и все, ваше первое приложение STM32CubeIDE настроено и запущено. Этот пример мало что делает - просто отправляет некоторые данные из последовательного порта.

Чтобы использовать другие периферийные устройства и писать драйверы для внешних устройств, вам придется снова заняться этим устрашающим редактором конфигурации! Чтобы помочь, я создал серию примеров проектов STM32CubeIDE, которые настраивают и проверяют все периферийные устройства на процессоре Blue Pill в небольших, простых для понимания проектах. Все они имеют открытый исходный код, и вы можете делать с ними все, что захотите. Каждое периферийное устройство настроено, а затем имеет образец кода для его изолированного (почти!) Тестирования, так что вы можете сосредоточиться на одновременной работе только одного периферийного устройства.

Также имеются драйверы для внешних устройств, от простых микросхем EEPROM до датчиков давления, текстовых и графических ЖК-дисплеев, модема SIM800 для TCP, HTTP и MQTT, клавиатур, радиомодулей, USB, а также интеграции с FatFS, SD-картами и FreeRTOS.

Их все можно найти на Github здесь …

github.com/miniwinwm/BluePillDemo