Nucleo – это семейство плат, имеющих на «борту» программатор и предоставляют большие возможности для разработчика. Обычно, чем больше возможностей, тем выше сложность в освоение и знакомстве. К счастью, семейство Nucleo не имеет этого недостатка: благодаря среде mbed стало легко очень просто познакомиться. Среда mbed существует в трёх вариантах:
Продемонстрируем работу с Desktop-версией среды Mbed на аналоге «Hello world» в мире микроконтроллеров – blink (программа, мигающая светодиодом).
Плата Nucleo прошивается очень просто: при подключении к компьютеру она определяется как «флешка». Вы просто нажимаете одну кнопку, и прошивка сохраняется на эту «флешку». И всё – плата прошита. Прошивки мы будем разрабатывать в среде mbed. mbed – это среда разработки. Чтобы воспользоваться ею, необходимо скачать среду и зарегистрироваться на сайте. Пользоваться средой можно абсолютно бесплатно. Итак, вот последовательность наших действий:
Поехали!
Доступ к сайту mbed с территории России временно закрыт. Воспользуйтесь VPN соединением или скачайте установщик с нашего сайта
Для начала перейдём на сайт mbed.org.
Промотаем страницу до раздела Compiler & IDE, в Mbed Studio нажимаем на Learn more
В открывшемся окне нажимаем кнопку Download for … с названием своей операционной системы.
Итогом нажатия кнопки Download for Windows стал установочный файл, который необходимо запустить.
В открывшемся окне ставим галочку напротив ST-Link drivers (необходимо для актуализации драйверов) и нажимаем клавишу next
В новом диалоговом окне нажимаем на клаву I Agree, тем самым соглашаясь с лицензионным соглашением
Укажем путь для установки IDE, мы оставили стандартный путь, и нажимаем кнопку Install.
При успешном выполнении всех шагов начнётся установка Mbed Studio.
В ходе установки Mbed Studio предложить установить драйвер для поддерживаемых плат, соглашаемся и устанавливаем драйвер.
После успешной установки Mbed Studio появиться окно Completing Mbed Studio Setup – поздравляем! Установка завершилась успехом. Ставим галочку на против Run Mbed Studio и нажимаем клавишу Finish.
После того как мы нажали кнопку Finish – Mbed Studio запуститься автоматически
На этом этапе нажимаем на надпись Create one now. Приложение автоматически откроет браузер с формой
В открывшейся форме нажимаем Create an account и вводим данные для создания аккаунта и ставим галочку напротив надписи I agree to Arm`s term and conditions of use.
После ввода данных в форму нажимаем клавишу Sign up и открываем свою почту. На почту придёт письмо с подтверждением аккаунта – подтверждаем и открываем Mbed studio. Вводим почту и пароль, которые ввели при регистрации, и нажимаем на кнопку Sign in
В открывшемся окне нажимаем кнопку Get started.
Поздравляем! Вы авторизовались в mbed можете использовать как Desktop версию, так и WEB-версию среду разработки.
Рассмотрим процесс создания программы в Desktop версии Mbed Studio. При первом запуске Mbed Studio нам необходимо нажать на кнопку +New program
Перед нами откроется новое диалоговое окно
Нам необходимо указать в Example program тип планируемой программы. Так как мы планируем мигать светодиодом, то выбираем mbed‑os‑example‑blinky
Остальные поля программа заполнит автоматически.
Mbed Studio подготовит основные файлы проекта
Подключаем STM32 Nucleo к компьютеру и в Mbed Studio открываем раздел Target.
В выпадающем списке мы должны увидеть раздел NUCLEO-F401RE с зелёным значком USB – это подключённая плата, выбираем её.
Подключив плату, выбираем файл main.cpp
Мы должны увидеть базовый код мигания светодиодом
#include "mbed.h" // Частота миганий в миллисекундах #define BLINKING_RATE 5000ms int main() { // Инициализация цифрового пина LED1 в качестве выхода #ifdef LED1 DigitalOut led(LED1); #else bool led; #endif while (true) { led = !led; ThisThread::sleep_for(BLINKING_RATE); } }
Убедимся, что в Build profile выбран режим Debug, и нажимаем на кнопку с молотком, которая запустит сборку и отладку проекта.
В разделе Output в самом начале могут появиться предупреждения [Warning], выделенные жёлтым цветом – это нормально, если на вашем компьютере установлена ещё одна среда для разработки на языке C++. В итоге мы должны увидеть сообщение о том, что код собран и запущен на плате.
Для записи кода на плату в Build profile выбираем режим Develop
И нажимаем на кнопку записи программы в память контроллера
Поздравляем! Вы успешно загрузили свой первый код в память STM32 Nucleo!
Теперь вы умеете создавать программы, транслировать их в файл прошивки для вашей аппаратной платформы и прошивать. Пользуясь документацией, вы можете теперь писать полноценные программы, управляющие не только светодиодами. В вашем распоряжении классы для работы с аналоговыми входами, UART, АЦП, ШИМ и многое другое.
В качестве обучения будет очень полезно выполнить 20 экспериментов.