====== STM32 Nucleo F401RE: руководство по использованию ====== ===== Введение ===== Nucleo – это семейство плат, имеющих на «борту» программатор и предоставляют большие возможности для разработчика. Обычно, чем больше возможностей, тем выше сложность в освоение и знакомстве. К счастью, семейство Nucleo не имеет этого недостатка: благодаря среде mbed стало легко очень просто познакомиться. Среда mbed существует в трёх вариантах: * **WEB версия** - среда разработки, работающая в браузере; * **Desktop версия** - среда разработки, работающая на компьютере; * **CLI версия** - среда разработки, работающая в консоли. Продемонстрируем работу с Desktop-версией среды Mbed на аналоге «Hello world» в мире микроконтроллеров – blink (программа, мигающая светодиодом). ===== План действий ===== Плата Nucleo прошивается очень просто: при подключении к компьютеру она определяется как «флешка». Вы просто нажимаете одну кнопку, и прошивка сохраняется на эту «флешку». И всё – плата прошита. Прошивки мы будем разрабатывать в среде mbed. mbed – это среда разработки. Чтобы воспользоваться ею, необходимо скачать среду и зарегистрироваться на сайте. Пользоваться средой можно абсолютно бесплатно. Итак, вот последовательность наших действий: - Скачивание и установка Mbed Studio; - Заходим в среду разработки; - Создаём программу; - Пишем код; - Транслируем код в прошивку; - Записываем прошивку на плату. Поехали! ===== - Скачивание и установка mbed IDE ===== Доступ к сайту **mbed** с территории России временно закрыт. Воспользуйтесь VPN соединением или скачайте установщик с нашего сайта Для начала перейдём на сайт [[http://developer.mbed.org/|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, АЦП, ШИМ и многое другое. В качестве обучения будет очень полезно выполнить [[http://wiki.amperka.ru/мини-проекты-arduino-breadboard:оглавление|20 экспериментов]]. ===== Полезные ресурсы ===== * [[http://developer.mbed.org/handbook/Homepage | Документация по классам mbed]] * [[http://www.youtube.com/watch?v=aC3LPwLPMJc | Видеообзор Nucleo от Амперки ]] * [[http://www.youtube.com/watch?v=BrMw5TNQROo | Ознакомительный видеоролик от производителя (ENG)]] ===== Установщик среды mbed ===== * {{ :products:stm32-nucleo-f401re:mbedstudio-1.4.5-windows.zip |}} * {{ :products:stm32-nucleo-f401re:mbedstudio-1.4.5-linux.zip |}} *