====== 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 |}}
*