Программирования микроконтроллеров stm32 arduino

Saved searches

Use saved searches to filter your results more quickly

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

Getting Started

  • Getting Started
    • Upload methods
    • FAQ
    • Core
      • Core version
      • Core Callback
      • Analog
      • HardwareSerial
      • HardwareTimer
      • SPI
      • I2C
      • CMSIS DSP
      • EEPROM emulation
      • Servo
      • Remembering variables across resets
      • Libraries
        • Introduction
        • Built-in (delivered with the core package)
        • Dedicated
        • Expansion boards
        • Official from Arduino
        • Third party
        • Advanced usages
          • Contributing
            • Add a new variant (board)
            • Using git repository
            • Astyle
            • Definitions
            • Build options (build_opt.h)
            • HAL module configuration
            • Board support based on a core
            • Connectivities
              • BLE
              • LoRa
              • CMake support
                • CMake presentation
                • Setup
                • Quickstart guide
                • Introduction to CMake
                • Functions reference
                • Arduino (in)compatibility
                • Advanced usage
                • cubeIDE
                Clone this wiki locally

                Download and install Arduino software (IDE) for the required OS. (Windows, Linux or Mac instructions)

                About Boards manager concept

                Arduino.cc IDE allows to add easily new board thanks the «Boards Managers«. More information about «Boards Managers» is available on Arduino.cc official website:

                The corresponding STM32 cores packages are provided thanks to:

                Follow the below steps to get STM32 boards installed to your Arduino IDE.

                Add STM32 boards support to Arduino

                This is the needed step to get STM32 targets added to Arduino. So carefully follow the following steps.

                1- Launch Arduino.cc IDE. Click on «File» menu and then «Preferences«.

                Preferences

                The «Preferences» dialog will open, then add the following link to the «Additional Boards Managers URLs» field:

                2- Click on «Tools» menu and then «Boards > Boards Manager«

                The board manager will open and you will see a list of installed and available boards.

                Select «Contributed» type.

                Select the «STM32 MCU based boards» and click on install.

                After installation is complete an «INSTALLED» tag appears next to the core name.

                You can close the Board Manager.

                Now you can find the STM32 boards package in the «Board» menu.

                Select the desired boards series: Nucleo-64 / Nucleo-144 / Discovery / .

                Then you can find the Nucleo-64 boards available in a sub-menu of the «Tools» menu.

                To upload through SWD (STLink), Serial or DFU, STM32CubeProgrammer needs to be installed. See Upload methods.

                If you have any issue to download/use a package, you could file an issue on Github.

                If you have any issue to download a package, ensure to not be behind a proxy.

                Else configure the proxy in the Arduino.cc IDE (open the «Preferences» dialog and select «Network» tab).

                1. Connect a board to the computer USB port. For this example: Nucleo L476RG
                2. Launch the Arduino software
                3. Select the Nucleo L476RG board in two steps:

                a. From the «Tools > Board» menu, select the STM32 boards groups: Nucleo-64

                b. Then from the «Tools > Board part number» menu, select the Nucleo L476RG

                1. Select the serial port from the «Tools > Port» menu
                  • On Mac, it’s something like /dev/tty.usbmodem-1511.
                  • On Windows, it’s often the highest-numbered COM port. In this example, it’s COM5
                  • On Linux, it’s something like /dev/ttyACM0.

                (Or unplug the board, check the menu, and then plug the board and check what new port appears)

                Depending of the board, several upload methods could be proposed, thanks the «Tools > Upload Method» menu.

                Источник

                Программирование STM32 Blue Pill через USB порт с помощью Arduino IDE

                Плата разработки STM32F103C8, также известная как STM32 Blue Pill («синяя таблетка»), отличается невысокой стоимостью и хорошей производительностью благодаря наличию в ее составе микропроцессора на основе архитектуры ARM Cortex M3. Также ее существенным достоинством является возможность ее программирования с помощью Arduino IDE, что делает ее исключительно удобной для всех радиолюбителей, знакомых с платформой Arduino.

                Внешний вид проекта программирования платы STM32 Blue Pill через USB порт

                В предыдущей статье на нашем сайте мы рассмотрели основы работы с платой STM32 Blue Pill и ее программирование с помощью Arduino IDE. Но у той статьи есть один существенный недостаток – для программирования платы STM32 Blue Pill нам приходилось использовать FTDI программатор и необходимо было переключать джампер boot 0 между режимами программирования и работы платы, что было достаточно неудобно. При этом порт mini-USB в составе платы STM32 Blue Pill совершенно не использовался.

                В данной статье для загрузки программы в плату STM32F103C8 через USB порт мы будем использовать загрузчик, разработанный компанией LeafLabs для плат Maple mini. Данный загрузчик можно записать в плату STM32 в качестве прошивки, после чего мы сможем использовать USB порт платы STM32 для загрузки в нее программ как это делается для большинства плат Arduino.

                Примечание : на момент публикации оригинала данной статьи (ссылка на оригинал приведена в конце статьи) данный загрузчик был еще экспериментальным и сейчас, возможно, существуют уже более «стабильные» загрузчики для решения задачи загрузки программ в плату STM32F103C8.

                Необходимые компоненты

                1. Плата разработки STM32F103C8T6 (STM32 Blue Pill) (купить на AliExpress).
                2. Плата FTDI (3.3V) (купить на AliExpress).
                3. Макетная плата.
                4. Соединительные провода.

                Схема проекта

                Для программирования платы STM32 Blue Pill непосредственно через USB порт нам сначала необходимо загрузить в нее программу (загрузчик) Maple boot loader. Для этого нам необходимо использовать FTDI программатор, подключенный к контактам Rx и Tx платы STM32 как показано на следующем рисунке.

                Схема подключения к плате STM32 Blue Pill платы FTDI

                Внешний вид собранной конструкции проекта показан на следующем рисунке.

                Внешний вид собранной конструкции проекта

                Убедитесь в том, что перед записью в плату загрузчика (boot loader) джампер boot 0 на плате установлен в положение 1 (режим программирования). Когда загрузчик будет загружен в плату этот джампер можно будет вернуть в исходное положение (рабочий режим).

                Положения джампера платы STM32 для переключения между режимами программирования и работы

                Загрузка Maple Boot loader в плату разработки STM32

                Подключите FTDI программатор к плате STM32 как показано на рисунке выше и выполните следующую последовательность шагов.

                Шаг 1. Скачайте бинарный файл (bin file) загрузчика с репозитория github.

                Шаг 2. Далее нам необходимо скачать и установить программное обеспечение STM Flash loader чтобы загрузить скачанный бинарный файл в плату STM32. Для этого перейдите по данной ссылке, открывшуюся страницу пролистайте вниз и там нажмите на get software.

                Ссылка для скачивания STM Flash loader

                Шаг 3. Для скачивания этого программного обеспечения вам необходимо будет ввести свой E-mail – на него будет выслана ссылка для скачивания программного обеспечения. По указанной ссылке вы снова перейдете на данный веб-сайт, на котором вам снова необходимо будет нажать на get software, после чего начнется процесс скачивания. Он будет не очень быстрым, поэтому придется немного подождать.

                Иногда данное письмо попадает в каталог вашей почты со спамом, поэтому проверьте и его на наличие данного письма.

                Шаг 4. После того как вы скачали и установили программное обеспечение убедитесь что ваша плата STM32 подключена к компьютеру с помощью FTDI программатора. После этого запустите на выполнение установленный STM Flash loader. Он автоматически обнаружит COM порт, к которому произошло подключение нашей платы. В нашем случае это COM4. Остальные настройки оставьте без изменения как показано на следующем рисунке.

                Установка настроек STM Flash loader

                Шаг 5. Нажмите на кнопку Next дважды и STM Flash loader автоматически определит и выведет на экран характеристики вашей платы как показано на следующем рисунке. В нашем случае тип платы оказался STM32F1 с объемом флэш памяти 128 Кбайт.

                Отображение характеристик платы в STM Flash loader

                Шаг 6. Выберите пункт Download to device и укажите местоположение вашего бинарного файла с загрузчиком (который мы скачали на 1-м шаге). Нажмите на next.

                Выбор настроек записи загрузчика в STM Flash loader

                Шаг 7. STM Flash loader скачает ряд необходимых файлов как показано на рисунке ниже и начнется процесс загрузки прошивки.

                Процесс загрузки прошивки в STM Flash loader

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

                Завершение процесса загрузки прошивки в STM Flash loader

                Подготовка Arduino IDE для работы с платой STM32

                Для этого выполните следующую последовательность шагов.

                Шаг 1. Если у вас еще не установлена Arduino IDE, то скачайте и установите ее по этой ссылке. Убедитесь, что в процессе ее установки вы выбрали правильную операционную систему.

                Шаг 2. После установки Arduino IDE нам необходимо скачать и установить в нее пакеты для работы с платой STM32. Для этого в Arduino IDE откройте пункт меню File -> Preferences.

                Шаг 3. Откроется новое диалоговое окно. В данном окне в поле additional Boards Manager URL вставьте следующую ссылку:

                Добавление поддержки плат STM32 в Arduino IDE

                Шаг 4. После этого откройте пункт меню Tool -> Boards -> Board Manager. Откройте окно менеджера плат, в нем выполните поиск “STM32F1” и установите найденный пакет.

                Шаг 5. После того как пакет будет установлен откройте каталог C:\Program Files (x86)\Arduino\hardware\Arduino_STM32-master\drivers\win, в котором вы найдете установочные файлы install_drivers.bat и install_STM_COM_drivers.bat.

                Шаг 6. Установите оба этих bat файла. В результате вы увидите DOS экраны как показано на следующем рисунке.

                Установка файла install_drivers.bat

                Установка файла install_STM_COM_drivers.bat

                Теперь Arduino IDE подготовлена к программированию платы STM32 (Blue Pill) и необходимые драйверы для этого установлены.

                Программирование платы STM32 (Blue Pill) через USB порт

                Отключите от платы STM32 FTDI программатор. Подключите плату к компьютеру через порт micro-USB как показано на рисунке ниже. Убедитесь что джампер 0 находится в положении 0 (рабочий режим). Теперь, при программировании платы STM32 через USB порт у нас нет необходимости переключать джампер 0 между положениями 0 и 1 для загрузки программы в плату и ее запуска на выполнение.

                Подключение платы STM32 Blue Pill к компьютеру с помощью USB кабеля

                В этом случае ваш компьютер должен обнаружить подключенную плату STM32 самостоятельно (автоматически). Подождите немного пока для работы с ней установятся необходимые драйверы. Затем откройте диспетчер устройств и посмотрите к какому COM порту подключилась ваша плата. В нашем случае она подключилась к порту COM8 под именем Maple Mini.

                Обнаружение подключенной платы STM32 в диспетчере устройств

                Затем в Arduino IDE откройте пункт меню Tools, пролистайте его вниз и в нем найдите плату Generic STM32F103C series как показано на рисунке ниже. Убедитесь, что выбран вариант 64k Flash type, скорость CPU 72 МГц и измените метод загрузки на STM32duino Bootloader. Также выберите правильный COM порт в соответствии с тем, который вы определили в диспетчере устройств.

                Выбор платы Generic STM32F103C series в Arduino IDE

                После осуществления всех этих настроек проверьте правый нижний угол Arduino IDE – в нем вы должны увидеть произведенные настройки.

                Проверка сделанных настроек в правом нижнем углу Arduino IDE

                Теперь Arduino IDE готова к программированию платы разработки STM32 Blue Pill. Загрузим в нее стандартный пример программы мигания светодиодом.

                Местоположение примера программы мигания светодиодом для платы STM32 в Arduino IDE

                В этом примере программы нам необходимо сделать небольшие изменения. В программе по умолчанию используется контакт PB1 для управления встроенным светодиодом, в нашей же плате встроенный светодиод подключен к контакту PC13 – этот момент необходимо изменить в программе. Полный исправленный код программы приведен в конце данной статьи.

                Светодиод в представленном примере будет мигать с интервалом в 1 секунду.

                Источник

                Читайте также:  Программирование пульта nice flo2r
Оцените статью