====== STM32 Nucleo: быстрый старт с mbed ====== {{ :быстрый-старт:nucleo_photo.jpg?nolink& |}} ===== Введение ===== //Nucleo// — это семейство плат, поддерживающих онлайн [[wpru>интегрированная среда разработки | среду разработки]] [[http://developer.mbed.org/ | mbed]]. Платы этого семейства предоставляют большие возможности для разработчика. Однако обычно, чем больше возможностей, тем выше сложность в освоении и, особенно, тем труднее знакомство. К счастью Nucleo лишён этого недостатка: благодаря среде mbed с возможностями этой платфоры очень просто познакомиться. Покажем это на примере разработки аналога «Hello, world» для микроконтроллерного мира — программы, моргающей светодиодом. ===== План действий ===== Плата Nucleo прошивается очень просто: при подключении к компьютеру она определяется как «флешка». Вы просто копируете файл прошивки на эту «флешку». И всё — плата прошита. Прошивки мы будем разрабатывать в среде mbed. mbed — это онлайн среда разработки. Чтобы воспользоваться ею, необходимо просто зарегистрироваться. Пользоваться средой можно абсолютно бесплатно. Итак, вот последовательность наших действий: - регистрируемся на сайте; - заходим в среду разработки; - создаём программу; - пишем код; - транслируем код в прошивку; - записываем прошивку на плату. Поехали! ===== - Регистрация в онлайн сервисе mbed.org ===== Для получения доступа к среде mbed необходимо зарегистрироваться. Зайдите на сайт [[http://developer.mbed.org/|mbed.org]] и пройдите стандартную процедуру регистрации. Она бесплатна. {{ :быстрый-старт:nucleo_index.png?direct&600 |}} Мы ещё не имеем аккаунта, поэтому выбираем регистрацию нового. {{ :быстрый-старт:nucleo_login.png?direct |}} У нас второй раз спрашивают, не были ли мы зарегистрированы ранее. Отвечаем «не были». {{ :быстрый-старт:nucleo_create_account.png?direct |}} Вводим свои данные. Необходимо указать настоящий почтовый ящик. После окончания процедуры регистрации вам придёт письмо со ссылкой для подтверждения того, что введённый почтовый адрес действительно принадлежит вам. {{ :быстрый-старт:nucleo_register.png?direct |}} ===== - Выбор платы ===== Можно начинать программировать? Ещё нет. Надо указать системе, какие платы у вас есть. Для это зайдите в раздел «Platforms»… {{ :быстрый-старт:nucleo_platforms.png?direct |}} …и выберите свою плату (в нашем случае это Nucleo-F401RE). {{ :быстрый-старт:nucleo_select_platform.png?direct |}} Откроется страница выбранной платы. Справа будет кнопка добавления платы в список имеющихся у вас. {{ :быстрый-старт:nucleo_add_platform.png?direct&600 |}} ===== - Создание проекта ===== Теперь можно открыть среду разработки… {{ :быстрый-старт:nucleo_open_compiler.png?direct&600 |}} …и создать новую программу. {{ :быстрый-старт:nucleo_new_program.png?direct&700 |}} При этом вам потребуется выбрать программу, которая будет взята за основу и плату. Мы выбираем Blinky — «моргалку». С ней нам вообще ничего писать не придётся, это уже готовый проект, моргающий светодиодом. {{ :быстрый-старт:nucleo_new_program_info.png?direct |}} ===== - Работа в среде ===== Окно среды разработки поделено на три части: окно файлов проекта (слева), окно редактора кода (справа) и окно сообщений сборки (внизу). Найдите в окне файлов проекта файл ''main.c'' и дважды кликните по нему. {{ :быстрый-старт:nucleo_open_main.png?direct&500 |}} Вы должны увидеть следующий код: #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», который файлом на самом деле не является. Он содержит документацию по классам, функциям и типам. Также, документация доступна [[http://developer.mbed.org/handbook/Homepage|онлайн]] на сайте проекта. {{ :быстрый-старт:nucleo_open_docs.png?direct&600 |}} ===== - Сборка проекта и прошивка платы ===== Перед сборкой программы подсоедините устройство по USB к компьютеру. Оно должно определиться в системе как новый носитель информации. По сравнению с Arduino mbed имеет весомое преимущество: установка драйверов для этой платформы не требуется. Для сборки программы и прошивки платы нажмите кнопку «Compile». Откроется окно с предложением сохранить файл прошивки на вашем компьютере. Сохраните файл прямо на диск, который появился при подключении платы. Прошивка начнётся автоматически по окончании записи файла. После прошивки устройство перезагрузится (диск на короткое время пропадёт и появится снова). {{ :быстрый-старт:nucleo_build.png?500 |}} ===== Что дальше? ===== Теперь вы умеете создавать программы, транслировать их в файл прошивки для вашей аппаратной платформы и прошивать. Пользуясь документацией, вы можете теперь писать полноценные программы, управляющие не только светодиодами. В вашем распоряжении классы для работы с аналоговыми входами, 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)]]