Оглавление:

Программирование STM32 "Blue Pill" через Arduino IDE и USB: 8 шагов
Программирование STM32 "Blue Pill" через Arduino IDE и USB: 8 шагов

Видео: Программирование STM32 "Blue Pill" через Arduino IDE и USB: 8 шагов

Видео: Программирование STM32
Видео: STM32. C чего начать? Быстрый старт после Arduino. 2024, Ноябрь
Anonim
STM32
STM32

Сравнивая общую прототипную плату STM32F (то есть Blue Pill) с ее аналогом Arduino, легко увидеть, сколько у нее ресурсов, что открывает множество новых возможностей для проектов IOT.

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

Я опишу свой опыт получения одной из этих плат, не только настроенной с помощью Arduino IDE, но и через встроенный USB-разъем.

Я также покажу, как загрузить загрузчик с помощью ST-Link V2.

Шаг 1: Детали:

Части
Части
Части
Части

Вам понадобятся некоторые детали:

  1. Первое, что вам понадобится, это, конечно, прототип платы ST32F103. «Синяя таблетка» - это то, как ее знают, и вы можете купить ее по доступной цене во многих магазинах электронной коммерции.
  2. Модуль ST-Link V2
  3. Доска для хлеба и соединительные кабели

Шаг 2: Программное обеспечение, которое вам понадобится:

Программное обеспечение, которое вам понадобится
Программное обеспечение, которое вам понадобится
Программное обеспечение, которое вам понадобится
Программное обеспечение, которое вам понадобится
Программное обеспечение, которое вам понадобится
Программное обеспечение, которое вам понадобится
  1. Прежде всего, Arduino IDE. Если вы еще не загрузили его, это ссылка: https://www.arduino.cc/en/Main/Software. Я тестирую эту инструкцию с версиями 1.8.11, 1.8.12 и версией приложения, которые работают только для Windows 8 и 10. Я не буду описывать эту установку программного обеспечения, поскольку есть много информации о том, как это сделать.
  2. С сайта STM вам понадобится программное обеспечение, указанное ниже. Необходимо создать учетную запись:

    1. Драйвер ST-Link V2 для Windows:
    2. Утилита STM32-Link (https://my.st.com/content/my_st_com/en/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-programmers/stsw-link004.html).
  3. Тогда пришло время скачать загрузчик. Это то, что позволит Blue Pill подключаться к USB-порту компьютера. Это ссылка на это:

Обратите внимание, что вам также потребуется добавить платы в Arduino IDE. Я подробно объясню, как это сделать.

Шаг 3: общая прототипная плата STM32F103, синяя таблетка

STM32F103 Общая прототипная плата, синяя таблетка
STM32F103 Общая прототипная плата, синяя таблетка
STM32F103 Общая прототипная плата, синяя таблетка
STM32F103 Общая прототипная плата, синяя таблетка
STM32F103 Общая прототипная плата, синяя таблетка
STM32F103 Общая прототипная плата, синяя таблетка

Теперь краткое объяснение прототипа платы STM32F103, известного по «Blue Pill».

Это оборудование с открытым исходным кодом, похоже на Arduino Nano (почти такого же размера). Вы можете найти много разных производителей, но они очень внимательно следуют схемам, даже если проблемы.

Вы можете спросить: «Если это похоже на Arduino Nano, зачем мне переходить на другое оборудование?

Ответ прост. Как я уже говорил, если вашему проекту нужен более быстрый микроконтроллер, с большим количеством GPIO (всего 33), большим количеством и / или точными входами АЦП (10 входов с разрешением 12 бит), большим количеством аналоговых выходов (15), большим количеством интерфейсов связи и т. Д.; это тот микроконтроллер, который вам может понадобиться.

Вверху - распиновка и принципиальная схема.

А теперь несколько советов:

  1. Это микроконтроллер 3V3. Несмотря на то, что некоторые контакты устойчивы к 5 В, я предлагаю поддерживать высокий уровень аксессуаров в 3 В 3, иначе вы можете поджарить себе Blue Pill.
  2. Контакты PA11 и PA12 недоступны, так как они отвечают за связь через USB.
  3. Говоря о USB, вы найдете множество сайтов и блогов, в которых сообщается, что Blue Pill имеет неправильное значение подтягивающего резистора в портах. Соответственно, они обычно составляют 10 кОм вместо 4,7 кОм. Это может вызвать проблемы с USB-подключением. Если честно, у меня 3 платы, и у меня никогда не было проблем с подключением их к любому ноутбуку. Итак, я бы рекомендовал просто поработать над этим, если у вас действительно возникнут проблемы с подключением USB к компьютеру. Позднее я обнаружил схему, в которой сопротивление резистора действительно составляло 10 кОм. Подойдите к фигуре…. Решение - припаять резистор 1,5 кОм или 1,8 кОм между контактом PA12 и 5V vcc.
  4. При внимательном рассмотрении схемы также можно увидеть отсутствие защиты между линиями питания 5 В и USB 5 В. БУДЬТЕ ОСТОРОЖНЫ ИЛИ ПРОСТО избегайте использования нескольких источников питания. Вы можете поджарить USB-порт вашего компьютера, если, возможно, вы используете внешний источник питания 5 В, когда плата подключена к USB.

Шаг 4: USB-адаптер ST LINK V2

USB-адаптер ST LINK V2
USB-адаптер ST LINK V2
USB-адаптер ST LINK V2
USB-адаптер ST LINK V2
USB-адаптер ST LINK V2
USB-адаптер ST LINK V2
USB-адаптер ST LINK V2
USB-адаптер ST LINK V2

ST LINK V2 - это адаптер USB-SWD, предназначенный для задач отладки и программирования.

Если вы собираетесь серьезно работать с чипом STM32, вам понадобится этот инструмент. Это позволяет вам связываться с чипом напрямую через разъем головки SWB.

Есть много блогов и сайтов с инструкциями по загрузке с помощью адаптера USB-TTL, но я не смог найти ни одного, использующего этот инструмент для загрузки загрузчика.

Это также позволяет программировать Blue Pill с оригинальным загрузчиком с использованием программного обеспечения STM32Cube Programmer (возможно, в будущем я создам инструкции для этого).

Чтобы установить диск Windows, выполните следующие действия:

  1. Разархивируйте загруженный файл
  2. Запустите stlink_winusb_install.bat от имени администратора.
  3. По окончании нажмите кнопку.
  4. Подключите ST-Link V2 к любому доступному USB-порту компьютера.

Помните: это установит USB-устройство, а НЕ порт связи.

Шаг 5: Пора начинать настоящую работу: загрузка загрузчика STM32Duino

Пора начинать настоящую работу: загрузка загрузчика STM32Duino
Пора начинать настоящую работу: загрузка загрузчика STM32Duino
Пора начинать настоящую работу: загрузка загрузчика STM32Duino
Пора начинать настоящую работу: загрузка загрузчика STM32Duino

Перво-наперво: подключите ST-Link к Blue Pill. Это очень просто, если на корпусе будет нанесена маркировка ST.

Разъем ST-Link Blue Pill SWD

pin2- SWDIO pin2- SWIO (или IO на некоторых платах)

pin3- GND pin4- GND

pin6- SWCLKpin3- SWCLK (или просто CLK)

pin7- 3.3V pin1- 3V3

Распиновка ST-Link V2 - это четкая этикетка на корпусе.

Запустите программу «STM32 ST-Link Utility» (возможно, она уже установлена на вашем компьютере).

Как только программное обеспечение загружается, оно извлекает все данные из памяти Boot0. Если нет, нажмите «Подключиться к устройству», на вилке розетки со значком болта. Он также получит много информации о чипе STM32.

загрузить двоичный файл очень просто:

  1. Переместите перемычку "Boot0" в положение "1".
  2. Щелкните "Двоичный"
  3. Выберите файл загрузчика (.bin)
  4. В меню нажмите «Цель» и «Программа».

Это позволит загрузить Boot0 с новым загрузчиком.

  1. Верните перемычку "Boot0" в положение "0".
  2. Нажмите кнопку сброса.

ВНИМАНИЕ: Вам больше не потребуется перемещать перемычку Boot0 в положение «1» для загрузки программ, созданных в Arduino IDE.

Шаг 6. Пора заняться IDE Arduino

Время заняться Arduino IDE
Время заняться Arduino IDE

Вы могли заметить, что после загрузки «generic_boot20_pc13.bin» ваш USB-порт Blue Pill будет распознан диспетчером устройств компьютера как «Maple Serial (COMx)».

Чтобы подготовить Arduino IDE к работе с STM32, выполните следующие действия:

Шаг 7. Пора заняться IDE Arduino

Время заняться Arduino IDE
Время заняться Arduino IDE
Время заняться Arduino IDE
Время заняться Arduino IDE
Время заняться Arduino IDE
Время заняться Arduino IDE

Теперь вы можете заметить, что при подключении USB-порта к компьютеру он будет распознан как «Последовательный порт Maple (COMx)».

Теперь давайте подготовим Arduino IDE для программирования STM32. Откройте Arduino IDE, если еще не открывали:

  1. Перейдите в меню «Файл» и выберите «Настройки». Это откроет окно настроек.
  2. Щелкните значок в виде двойного квадрата рядом с текстовым полем «URL-адрес менеджера дополнительных плат».
  3. Внутри текстового поля скопируйте и вставьте ссылки ниже, по одной в каждой строке: https://dan.drown.org/stm32duino/package_STM32duino_index.jsonhttps://github.com/stm32duino/BoardManagerFiles/raw/master/STM32/package_stm_index.json нужны обе платы, установленные в этих ссылках.
  4. Теперь перейдите в меню «Инструменты» и выберите «Менеджер доски». Это откроет окно «Board Manager».
  5. Убедитесь, что в поле «Тип» выбрано «Все», а в текстовом поле - «STM32F1».
  6. Установите оба варианта.

Шаг 8: «Гран-финал»

В
В

Теперь вы можете ввести свой код и скомпилировать его.

Подключите «Blue Pill» и установите конфигурации, как на картинке. Обязательно выберите правильный порт.

Итак, теперь он готов загрузить код в «Blue Pill».

Надеюсь, это вам поможет!

Рекомендуемые: