STM32 Nucleo: быстрый старт с mbed

Введение

Nucleo — это семейство плат, поддерживающих онлайн среду разработки mbed. Платы этого семейства предоставляют большие возможности для разработчика. Однако обычно, чем больше возможностей, тем выше сложность в освоении и, особенно, тем труднее знакомство. К счастью Nucleo лишён этого недостатка: благодаря среде mbed с возможностями этой платфоры очень просто познакомиться. Покажем это на примере разработки аналога «Hello, world» для микроконтроллерного мира — программы, моргающей светодиодом.

План действий

Плата Nucleo прошивается очень просто: при подключении к компьютеру она определяется как «флешка». Вы просто копируете файл прошивки на эту «флешку». И всё — плата прошита. Прошивки мы будем разрабатывать в среде mbed.

mbed — это онлайн среда разработки. Чтобы воспользоваться ею, необходимо просто зарегистрироваться. Пользоваться средой можно абсолютно бесплатно.

Итак, вот последовательность наших действий:

  1. регистрируемся на сайте;
  2. заходим в среду разработки;
  3. создаём программу;
  4. пишем код;
  5. транслируем код в прошивку;
  6. записываем прошивку на плату.

Поехали!

1. Регистрация в онлайн сервисе mbed.org

Для получения доступа к среде mbed необходимо зарегистрироваться. Зайдите на сайт mbed.org и пройдите стандартную процедуру регистрации. Она бесплатна. Мы ещё не имеем аккаунта, поэтому выбираем регистрацию нового. У нас второй раз спрашивают, не были ли мы зарегистрированы ранее. Отвечаем «не были». Вводим свои данные. Необходимо указать настоящий почтовый ящик. После окончания процедуры регистрации вам придёт письмо со ссылкой для подтверждения того, что введённый почтовый адрес действительно принадлежит вам.

2. Выбор платы

Можно начинать программировать? Ещё нет. Надо указать системе, какие платы у вас есть. Для это зайдите в раздел «Platforms»…

…и выберите свою плату (в нашем случае это Nucleo-F401RE).

Откроется страница выбранной платы. Справа будет кнопка добавления платы в список имеющихся у вас.

3. Создание проекта

Теперь можно открыть среду разработки…

…и создать новую программу.

При этом вам потребуется выбрать программу, которая будет взята за основу и плату. Мы выбираем Blinky — «моргалку». С ней нам вообще ничего писать не придётся, это уже готовый проект, моргающий светодиодом.

4. Работа в среде

Окно среды разработки поделено на три части: окно файлов проекта (слева), окно редактора кода (справа) и окно сообщений сборки (внизу). Найдите в окне файлов проекта файл main.c и дважды кликните по нему. Вы должны увидеть следующий код:

#include "mbed.h"
 
DigitalOut myled(LED1);
 
int main() {
    while(1) {
        myled = 1; // LED is ON
        wait(0.2); // 200 ms
        myled = 0; // LED is OFF
        wait(1.0); // 1 sec
    }
}

Как видите, пример простой. Документация к классам доступна прямо из среды разработки. В списке файлов вашей программы есть пункт «mbed», который файлом на самом деле не является. Он содержит документацию по классам, функциям и типам. Также, документация доступна онлайн на сайте проекта.

5. Сборка проекта и прошивка платы

Перед сборкой программы подсоедините устройство по USB к компьютеру. Оно должно определиться в системе как новый носитель информации. По сравнению с Arduino mbed имеет весомое преимущество: установка драйверов для этой платформы не требуется. Для сборки программы и прошивки платы нажмите кнопку «Compile». Откроется окно с предложением сохранить файл прошивки на вашем компьютере. Сохраните файл прямо на диск, который появился при подключении платы. Прошивка начнётся автоматически по окончании записи файла. После прошивки устройство перезагрузится (диск на короткое время пропадёт и появится снова).

Что дальше?

Теперь вы умеете создавать программы, транслировать их в файл прошивки для вашей аппаратной платформы и прошивать. Пользуясь документацией, вы можете теперь писать полноценные программы, управляющие не только светодиодами. В вашем распоряжении классы для работы с аналоговыми входами, UART, АЦП, ШИМ и многое другое.

В качестве обучения будет очень полезно выполнить 20 экспериментов.

Полезные ресурсы