8-900-374-94-44
[email protected]
Slide Image
Меню

Ардуино stm32: Начало работы с STM32 (Blue Pill) с помощью Arduino IDE: мигание светодиодом

STM32 «Blue Pill» в среде Arduino | arm

В этом руководстве (перевод [1]) рассматривается, как программировать платку на микроконтроллере STM32F103C8T6, так называемую «Blue Pill» [2] (часто эту плату называют Arduino STM32) с помощью Arduino IDE. Платки Blue Pill в изобилии продаются на AliExpress и Taobao, для поиска вбейте STM32 stm32f103c8t6.

Примечание: если Вы любите паять, то можно также самому заказать печатную плату Blue Pill онлайн-среде EasyEDA благодаря проекту [3]. Это модифицированный в сторону упрощения проект — заменен регулятор LDO на более удобный. Также изменены номинал резистора подтяжки USB и светодиоды индикации. Десяток плат обойдутся примерно $5, плюс доставка порядка $6.

[Что понадобится]

Платка STM32 «Blue Pill» или аналогичная:

Вид на верхнюю и нижнюю стороны плат STM32 «Blue Pill»

Отладчик ST-LINK/V2 для микроконтроллеров семейств STM8 и STM32:

Примечание: этот отладчик можно купить на AliExpress и Taobao по цене порядка $2. Подойдет и более старый отладчик ST-LINK или ST-LINK/v1, однако будьте внимательны к подключению отладчика через выводы SWDCLK, SWDIO, GND и +3.3V, цоколевки у разъема отладки могут различаться (см. врезку ниже).

Цоколевки разъема SWD адаптеров ST-Link

На цоколевках синим цветом выделены 4 провода, которыми адаптер подключается к микроконтроллеру STM32.

[STLink/STLink-V1]

Вид на штырьки разъема снаружи:

            +—-+
     T_JRST |1  2| 3V3
         5V |3  4| T_JTCK/T_SWCLK
       SWIM |5  6| T_JTMS/T_SWDIO
        GND |7  8| T_JTDO
   SWIM RST |9 10| T_JTDI
            +—-+

[STLink-V2]

Вид на штырьки разъема снаружи:

            +—-+

        RST |1  2| SWCLK
       SWIM |3  4| SWDIO
        GND |5  6| GND
       3. 3V |7  8| 3.3V
         5V |9 10| 5V
            +—-+

Еще один возможный вариант цоколевки:

            +—-+
        RST |1  2| SWDIO
        GND |3  4| GND
       SWIM |5  6| SWCLK
       3.3V |7  8| 3.3V
         5V |9 10| 5V
            +—-+

[Конфигурирование Arduino IDE]

Автор оригинальной статьи [1] использовал Arduino 1.8.1. Я экспериментировал в среде Arduino версии 1.8.13, и все описанное относится к ней. Так что вероятно, что в другой более-менее новой версии Arduino все также будет работать. Процесс по шагам:

1

. Зайдите в меню Файл -> Настройки (File -> Preferences) и кликните на кнопку справа от поля ввода «Дополнительные ссылки для Менеджера плат:» (Additional Boards Manager URLs).

2. В окно ввода URL вставьте ссылку

https://github. com/stm32duino/BoardManagerFiles/raw/master/STM32/package_stm_index.json

Закройте окна настроек кликами на OK.

3. Зайдите в меню Инструменты -> плата -> Менеджер плат… (Tools -> Board -> Board Manager). Для ускорения поиска нужного дополнения в выпадающем списке Тип (Type) выберите Внесены (Contributed). Прокрутите до STM32 Cores by STMicroelectronics и нажмите на кнопку Установка (Install).

Установка пакета поддержки STM32 займет несколько минут. Загрузятся утилиты компилирования и отладки ARM (ARM debugging/compiling toolchain).

4. Необходимо добавить поддержку ST-Link. Загрузите Arduino_STM32-master.zip по ссылке [4]. Создайте папку Arduino_STM32 в каталоге arduino-1.8.13\hardware\ (здесь arduino-1.8.13 это корневой каталог установки Arduino IDE, где находится исполняемый файл arduino.exe). Распакуйте содержимое архива Arduino_STM32-master.zip в папку arduino-1.8. 13\hardware\Arduino_STM32.

Перезапустите Arduino IDE.

5. Теперь надо сделать выбор используемой платы и программатора. Зайдите в меню Инструменты (Tools) -> Плата: (Board) -> STM32F1 Boards (Arduino_STM32) -> Generic STM32F103C series. Выбор может быть сделан на основе используемого на плате микроконтроллера.

Пример возможного выбора:

Плата: «Generic STM32F103C series»
Variant: «STM32F103C8 (20k RAM. 64k Flash)»

Upload method: «STLink»
CPU Speed(MHz): «72 MHz (Normal)»
Optimize: «Smallest (default)»

[Загрузка скетча]

Чтобы убедиться, что все работает, запишем в память STM32103 простейшую программу мигания светодиодом — традиционный «Hello World» в мире микроконтроллеров. Для этого зайдите в меню Файл -> Примеры -> 01.Basics -> Blink (File -> Examples -> 01.Basics -> Blink).

Загрузится скетч Blink.

Соедините STLink с платой Blue Pill четырьмя проводами (см. выше врезку «Цоколевки разъема SWD адаптеров ST-Link»):

Blue Pill STLink
3V3 3.3V
SWO
SWDIO
SWCLK SWCLK
GND GND

Перемычки BOOT0 и BOOT1 установите в положение 00, что соответствует запуску кода из памяти Flash.

Назначение перемычек BOOT0 и BOOT1

BOOT1 BOOT0 Откуда запустится программа
0 0 Внутренняя память программ FLASH
1 0
0 1 Системная память (встроенный в ROM загрузчик [6])
1 1 Внутренняя память RAM

Нажмите на круглую кнопку со стрелкой вправо (эквивалентно выбору в меню Скетч -> Загрузка Ctrl+U).

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

[Что дальше?]

Микроконтроллер серии STM32F1 (Arm® Cortex™-M) обладает широким набором аппаратных интерфейсов и возможностей использования.

Поэкспериментируйте с другими примерами кода и проектами из меню Файл -> Примеры. Будьте осторожны с использованием выводов USB- и USB+ (ножки портов PA11 и PA12) — они соединены с выводами коннектора microUSB. Также имейте в виду, что к выводам OSC32IN и OSC32OUT (ножки портов PC14 и PC15) подключен часовой кварцевый резонатор на 32.768 кГц.

[Ссылки]

1. How to program a STM32 Blue Pill with Arduino site:idyl.io.
2. Blue Pill STM32F103C8T6.
3. STM32F103 «Blue Pill» modified board.
4. rogerclarkmelbourne / Arduino_STM32 site:github.com.

5. Платы STM32 на сайте vcc-gnd (на китайском языке).
6. Загрузчик STM32F42xxx и STM32F43xxx.
7. 201222STM32F103C8T6-BluePill.zip — пакеты ПО, документация.

Программирование stm32 в arduino ide.

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

Высокие технологии начинают быстро двигаться вперёд. Первым из перспективнейших разделов в этой области является искусственный интеллект. Способности компьютерного интеллекта общепризнаны. Умные роботы-конструкторы учатся анализировать, а также выстраивать другую модель данных на основании уже имеющейся.

Искусственный Интеллект создан для того, чтобы воспроизводить интеллектуальную природу homo sapiens.

Cамый сложный и доступный путь понять Искусств. Интеллект — разработка программируемой настраиваемой модели, разработанной на основе Био. нейросетей. А также программное воплощение, реализация её математического сценария. Для воплощения этого нужны навыки азов компьютерной грамотности и электроники. При помощи современного конструктора построенного на плате Arduino можно создавать различные роботизированные умные конструкции, управляемые вычислительной сетью.

Практически все современные электронные устройства, учитывая конструкторы координируются микропроцессорами. Благодаря чему устанавливается их организация друг с другом. Как и сотрудничество с людьми. Платы Arduino выстраиваются на модульных узлах из известных типов процессоров, к примеру, таких как USB-Serial преобразователь FTDI FT232RL.

Код программирования конструкторов Ардуино опирается на C. Этот язык вполне прост в ознакомлении и включает в себя специфическую внутреннюю среду разработки. Что помогает воплощать необыкновенные замыслы тем, кто обладает только минимальными возможностями программирования.

В наши дни почти все старшеклассники с интересом осваивают начальный уровень разработки программ, а также микроконтроллеры. Теперь даже у ребят 4-5 классов представился шанс постичь полезные в будущем навыки. Кругом появляются курсы и школы изучения языков программирования и робототехники для ребят. В этих классах дети начинают использовать комп как ЭВМ для креативного развития, самим разрабатывать веб-сайты, заниматься с воображаемой реальностью, создавать простые компьютерные игры, но и проектировать экспериментальные роботизированные системы. Подростки самого разного возраста с первых лет обучения имеют возможность сориентироваться с подбором направления в компьютерных технологиях и оcознать нужно ли им повышать свое образование в web- области. Кроме этого, такого типа семинары обучают ребят моментально принимать решения, действовать в компании и суметь найти ответ из самых неординарных ситуаций.

Для сегодняшних подростков лучшим подарком будет электромеханический гаджет, например, программируемый конструктор. С его помощью школьник приобретет знания, нужные в обучении, и сумеет своими силами придумывать и разрабатывать разные изобретения, которые через некоторое время станут полезными для всего общества.

Переход с Arduino на микроконтроллеры STM32

Arduino — это фантастическая платформа для изучения электроники и создания экспериментальных прототипов, но обычно она непригодна для коммерческих продуктов. Узнайте, что нужно для перехода с Arduino на микроконтроллер STM32.

Опубликовано

Платформа Arduino предоставила любителям и стартапам невероятно низкий порог входа для разработки собственных встраиваемых устройств.

Широкий выбор плат для разработки, простой интерфейс программирования и загрузки, а также обширное сообщество делают его привлекательным выбором для разработчиков продуктов.

Однако по мере того, как потребности проекта растут и меняются с течением времени, платформа Arduino может начать ощущаться ограничивающей.

Получите БЕСПЛАТНОЕ руководство прямо сейчас: Полное руководство по микроконтроллерам STM32

Основной причиной этого является относительно ограниченный набор аппаратных средств, вызванный значительным объемом скрытой работы, необходимой для того, чтобы взять коммерческий микроконтроллер и полностью интегрировать его в программное обеспечение Arduino.

Большинство микроконтроллеров Arduino представляют собой 8-битные микросхемы AVR (с учетом ширины внутренней шины данных и архитектуры набора команд), и эти типы процессоров ограничены с точки зрения производительности ЦП.

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

Портативность и простота, в первую очередь, подчеркивается платформой.

По этим и другим причинам, когда приходит время повысить производительность и общую гибкость встроенного устройства, обычно наступает время отказаться от Arduino.

В огромном проценте встроенных систем в промышленности используются 32-разрядные микросхемы ARM, приводящие в действие такие устройства, как современные автомобильные компьютеры и многие другие.

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

Особенно популярным вариантом, сохраняющим многие преимущества платформы Arduino, являются микроконтроллеры серии STM32.

Благодаря тактовой частоте ЦП, достигающей 550 МГц, и огромному выбору микросхем они открывают совершенно новый мир возможностей.

Миграция — Программное обеспечение

Возможно, вы слышали о таких проектах, как STM32duino, цель которых — сделать некоторые популярные платы разработки STM32 совместимыми с платформой Arduino.

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

Наиболее значительным переходом от Arduino к STM32, безусловно, является опыт программирования.

Как правило, проект Arduino будет состоять из одного файла кода, «скетч», с вспомогательными библиотеками, сторонними или иными, включенными в более крупные проекты с использованием инструмента импорта библиотек Arduino и написания «#import » в верхней части файла эскиза.

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

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

Эти качества специфичны для платформы Arduino, поэтому скетчи Arduino также имеют собственное расширение файла .ino.

Фактическим языком, используемым платформой Arduino, является C++, язык общего назначения, чья истинная структура проекта и поддерживающие программы в значительной степени скрыты средой разработки Arduino IDE.

И C++, и его старший родственный язык C используют два типа файлов как часть кодовой базы, которую пользователь будет писать и/или взаимодействовать с ней программно: исходные файлы, определяемые расширением файла .cpp или .c, и файлы заголовков, определяется расширением файла .h.

Файл .ino функционально идентичен отдельному файлу .c. Там определены переменные, а также функции.

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

Это позволяет, например, существование библиотеки для умножения матриц, а фактическая логика для этого определяется в файле с именем «matrix. c».

Если несколько файлов хотят использовать эти функции, расточительно и фактически запрещено эффективно переопределять эти функции снова и снова, повторно включая «matrix.c».

Вместо этого создается второй файл, «matrix.h», содержащий объявления для этих функций, которые фактически являются просто указателями на функцию, которая была определена только в одном месте.

Теперь вместо этого мы можем просто включить «matrix.h» в каждый файл, который должен использовать библиотеку матриц, что не будет расточительно повторять полные определения функций.

Если эти идеи вам незнакомы, вам следует поискать вводные уроки по программированию на C/C++, поскольку эти концепции являются основополагающими в этом переходе.

Типичный проект C/C++ будет иметь исходный файл с именем main.c, который, как и файл .ino для Arduino, содержит точку входа в приложение, функцию с именем main .

Ключевое отличие состоит в том, что в отличие от файла скетча основная функция является единственной функцией «по умолчанию», которая запускается автоматически при запуске, в отличие от пары функций «настройка» и «цикл», упомянутых выше.

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

Это подводит нас к следующему важному элементу опыта программирования. Какое программное обеспечение используется для создания и загрузки кода, если не Arduino IDE?

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

Микроконтроллеры могут быть запрограммированы в среде «голого железа», что означает, что программист использует отдельные, обычно настроенные инструменты для редактирования кода, затем компилирует его в исполняемую программу и загружает в микросхему.

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

БЕСПЛАТНОЕ РУКОВОДСТВО: Введение в микроконтроллеры

Золотая середина заключается в использовании среды IDE, которая по-прежнему обеспечивает автоматическую компиляцию и загрузку для обеспечения интегрированного опыта, но позволяет снять покров с фактического написания кода и по-прежнему позволяет настраивать процесс компиляции/загрузки. ST, компания, которая производит микроконтроллеры STM32, предоставляет отличный пример этого в виде своей пользовательской IDE, STM32CubeIDE.

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

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

Возможно, его наиболее мощной функцией является интеграция с программным обеспечением для создания встроенного ПО STM32, которое предоставляет графический интерфейс для включения и настройки различных аппаратных компонентов в STM32 и автоматического создания встроенного ПО и функций настройки, соответствующих выбранным параметрам.

На следующем изображении показан инструмент распиновки, который доступен практически для каждого доступного микроконтроллера STM32. На изображении ниже используется микросхема STM32F401CCFx и настраивается ее интерфейс I2C1 (из 3 доступных).

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

Все параметры, выбранные в этом графическом интерфейсе, могут быть переданы в проект в виде автоматически сгенерированного кода путем сохранения конфигурации и выбора параметра «Создать код» на верхней панели инструментов.

Эта функция делает использование всех преимуществ мощных периферийных устройств, доступных для чипов STM32, невероятно простым и избавляет от необходимости тратить время на изучение таблицы данных, чтобы выяснить, как увеличить разрешение вашего аналого-цифрового преобразователя или установить вашу шину SPI в ведомый режим.

Эти параметры были аккуратно представлены в этом графическом интерфейсе! Полученные в результате сгенерированные файлы кода содержат закомментированные блоки, в которых можно написать собственный пользовательский код, который можно увидеть в файле main.c, видимом на предыдущем изображении.

И последнее, но не менее важное: при переключении на STM32 и использовании STM32CubeIDE становится доступным мощный интерфейс отладки в реальном времени, чего не хватает Arduino.

Динамическая отладка позволяет выполнять код построчно во время его выполнения. Вы можете размещать точки останова, чтобы приостанавливать свою программу на определенных строках для проверки, и даже просматривать в реальном времени, постоянно обновляя переменные, без необходимости писать один оператор печати или какой-либо другой код.

Просто нажмите кнопку отладки, когда будете готовы протестировать программу, и код автоматически скомпилируется, загрузится и приостановится в начале выполнения.

Отладка в режиме реального времени значительно повышает производительность при написании и тестировании кода, особенно для встраиваемых систем.

Миграция — аппаратное обеспечение

Еще один необходимый шаг при переходе от Arduino к STM32 — понимание и устранение ключевых аппаратных различий между двумя семействами.

Возможно, наиболее важным, особенно если ваше встроенное устройство встроено в специальную печатную плату, является то, что чипы STM32 используют логический уровень 3,3 В, в отличие от уровня 5 В, используемого в Arduino.

Хотя 3,3 В является более «стандартным» и также будет совместимо с чем-то вроде Raspberry Pi, это все же может быть резким переходом после того, как вы потратили столько времени на работу с уровнями 5 В, используемыми Arduino.

Это означает, что во всех поддерживающих схемах, печатных платах и ​​т. д., в которые вы интегрировали микроконтроллеры Arduino, теперь необходимо обеспечить наличие источника питания 3,3 В, который питает ваш микроконтроллер.

Кроме того, убедитесь, что любые входы, такие как контакты GPIO, считывающие состояние переключателя, или аналоговые контакты, считывающие переменный резистор, ограничены диапазоном от 0 до 3,3 В. Управление контактом GPIO с 5 В обычно разрушает чип!

При работе с такими протоколами связи, как SPI или I2C, либо настройте ведомое устройство (т. е. датчик) на версию 3,3 В, либо используйте преобразователь логического уровня между микроконтроллером и устройством.

Если вы монтируете микроконтроллер на заказную печатную плату, то также необходимо настроить окружающие схемы по сравнению с тем, что можно было сделать для микросхемы Arduino. Точные значения и практика могут немного отличаться от чипа к чипу, но обычно рекомендуется размещать керамический блокировочный конденсатор на каждом входе источника питания микроконтроллера.

Получите БЕСПЛАТНОЕ полное руководство по разработке нового электронного оборудования

Кроме того, требуется один или два обязательных внешних конденсатора, обычно называемых VCAP.

Чтобы в полной мере воспользоваться преимуществами более мощного аппаратного обеспечения, вы также можете снабдить микросхему STM32 внешним тактовым генератором и специальной микросхемой опорного напряжения для аналогового опорного вывода (это делает опорную точку АЦП чрезвычайно стабильной по сравнению с простым подключением к тому же источнику питания, который используется для питания).

Возможно, вы уже делали одну или все эти вещи раньше с микросхемами Arduino, но теперь их следует считать вдвойне важными. Нет смысла менять мощный чип, если он не может полностью раскрыть свой потенциал из-за шумного источника питания или аналогового опорного сигнала.

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

Те, кто создавал свои собственные печатные платы с микроконтроллерами, совместимыми с Arduino, вероятно, знакомы с программатором AVR-ISP, который подключается к интерфейсу SPI, а также к контакту сброса на микроконтроллере.

Это могло бы иметь форму 6-контактного разъема на печатной плате, который также присутствует на большинстве плат разработки Arduino, использующих микросхемы AVR. По умолчанию микросхема STM32 не может использовать ни один из этих интерфейсов для загрузки кода, а вместо этого использует интерфейс программирования по умолчанию для микроконтроллеров ARM, JTAG/SWD.

Распиновку этого интерфейса можно найти в Интернете, и она может иметь форму либо небольшого 10-контактного интерфейса, либо более крупного 20-контактного интерфейса.

В любом случае вам также потребуется приобрести совместимый отладочный зонд, который будет иметь ленточный кабель на одном конце для подключения к вашему интерфейсу JTAG/SWD, а на другом конце — порт USB для подключения к компьютеру.

Обратите внимание, что это обычно также относится к доскам разработки. Если вы можете загружать код на отладочную плату STM32 напрямую через USB, у вас, вероятно, есть плата Discovery, которая представляет собой отладочную плату производства ST со встроенным чипом для программирования.

Когда дело доходит до выбора отладочного зонда, наиболее простым вариантом является использование собственного отладочного зонда ST, разработанного специально для микросхем STM32, ST-Link. Это будет иметь гарантированную совместимость со всем программным обеспечением STM32Cube, описанным в предыдущем разделе, и, как правило, будет готово к работе из коробки.

Более продвинутые пользователи могут вместо этого использовать отладчики серии J-Link от SEGGER, совместимые с гораздо более широким спектром микроконтроллеров, чем просто микросхемы STM32.

Они могут похвастаться более мощными функциями отладки (такими как неограниченное количество точек останова в отлаживаемых программах) в сочетании с превосходным сопутствующим программным обеспечением. Эти отладочные зонды также официально совместимы с STM32CubeIDE с парой изменений в настройках.

Заключительные замечания

Существует множество отличий и сложностей, связанных с различиями между разработкой встроенного программного обеспечения на основе платы Arduino и STM32, и на эту тему можно было бы написать еще много статей.

Я надеюсь, что эта статья предоставила общий обзор, который поможет вам перейти и сделает прыжок менее пугающим. Если вы дошли до того, что подумываете сделать это для своего проекта, скорее всего, оно того стоит!

Эта статья была написана Brandon Alba , разработчиком встроенных систем с опытом создания встроенных систем с нуля. Брэндон обладает обширным опытом от проектирования печатных плат до операционных систем реального времени.

Другой контент, который может вам понравиться:

5 10 голосов

Рейтинг статьи

Как отладить STM32 с проектом Arduino и GDB?

× Не то, что вы ищете? Вы хотели вместо этого отладку USB/WiFi, трассировку и мониторинг производительности?

Часто задаваемые вопросы    | Драйверы USB [Не нужны для Black Magic]

Большинство плат ST теперь доступны из коробки для отладки в vMicro.

MXChip AZ3166 — это микросхема STM32F4 со встроенным отладчиком STlink v2. Конкретную информацию см. на странице MXCHIP. в плату, как в случае с платами Nucleo и Discovery, что устраняет необходимость во внешнем аппаратном отладчике.

 

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

Если у вас есть Nucleo/Discovery или другая плата со встроенным отладчиком, убедитесь, что перемычки установлены правильно, чтобы включить его в руководстве пользователя.

После этого никаких дополнительных подключений, кроме кабеля USB, не требуется.

Перемычки Nucleo Jumpers STM 32

Соединения внешнего отладчика

Если у вас нет встроенного отладчика, вы можете использовать внешний отладчик, который поддерживает SWD, для подключения к вашей плате, как показано в примерах ниже.

ПРИМЕЧАНИЕ. Интерфейсные соединения SWD

На платах — часто это просто определенные контакты на вашей плате или могут быть представлены в интерфейсе 2×5 (он маленький, с шагом 0,05 дюйма/1,27 мм), показанный на первое изображение на отладчике «Black Magic Pro»

В отладчиках — может быть представлен в маленьком интерфейсе 2×5 или в раскладке JTAG.

Имейте это в виду при поиске отладчика, вам может понадобиться больше выводов/выводов, чтобы соединить их с вашими целями….. Studio и установленное расширение vMicro

Откройте свой Sketch и выберите Debug > Hardware, а также соответствующий доступный отладчик, встроенный или внешний, и выберите соответствующую оптимизацию ( рекомендуется не использовать по умолчанию )

Возможно, вам потребуется установить дополнительный USB-драйвер на интерфейс 0 вашего отладчика, чтобы он мог работать с этим программным обеспечением. Проверьте список отладчиков здесь

Помните: новый драйвер, вам, возможно, придется сделать это снова, если в следующий раз вы подключите отладчик к другому USB-порту…..

 

Запустить отладчик

  1. Убедитесь, что вы выбрали конфигурацию отладки в диспетчере конфигураций Окно
  2. Если вы знаете, где вы хотите установить первую точку останова в своем коде, добавьте ее сейчас
  3. Чтобы запустить процесс отладки, вы можете:
    • Кнопка «Отладка > Присоединить к процессу», если ваш код уже загружен на плату STM32
    • «Отладка > Начать отладку», если ваш код не был загружен

Black Magic Примечание.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *