Быстрый старт с Ubuntu, RIOT OS и STM32F0discovery

 

Производитель ST Microelectronics предоставляет удобные и недорогие отладочные средства для своих микроконтроллеров STM32 — это линейки плат Discovery и Nucleo. Платы содержат встроенный отладчик ST-Link, поэтому для загрузки кода в контроллер и отладки нужно всего лишь подключить USB кабель к компьютеру.

Пример такой платы — stm32f0discovery, на которой располагается чип STM32F051:

Этот гайд о том, как установить все необходимые пакеты в Ubuntu, как собрать приложение на операционной системе RIOT OS и как прошить исполняемый файл в микроконтроллер.

 

Сначала необходимо установить git (клиент системы контроля версий), libusb (библиотеки для работы с USB), cmake (программа автоматизации сборки), gcc-arm-none-eabi и binutils-arm-none-eabi (набор компиляторов и утилит для сборки кода под микроконтроллеры ARM). Сделать это можно одной командой: 

sudo apt install git libusb-1.0-0-dev cmake gcc-arm-none-eabi binutils-arm-none-eabi

 Для прошивки микроконтроллеров STM32 через отладчик ST-Link в Linux используется утилита st-flash. Для неё нет бинарника в репозитории, поэтому её необходимо собрать из исходников. Скачиваем исходники: 

 Переходим в скачанную папку: 

cd stlink

 Запускаем автоматическую генерацию конфигурации сборки: 

cmake .

 Точка в предыдущей команде обязательна – она говорит, что исходники лежат в текущей папке.

 Собираем утилиты: 

make

 Устанавливаем их в системе: 

sudo make install

 На этом моменте утилита st-flash появилась в папке stlink. Её можно будет вызывать, например, так: «~/stlink/st-flash»

 Перейдём в домашнюю папку: 

cd

 Стянем себе RIOT: 

 Перейдём в папку riot: 

cd riot

 Перейдём в папку с примерами: 

cd examples

 Перейдём в папку с примером «Hello World»: 

cd hello-world

 Соберём код, указав, что мы работаем с платой stm32f0discovery: 

BOARD=stm32f0discovery make

 В этот момент в нашей папке появилась подпапка bin/stm32f0discovery, в которой лежит исполняемый файл формата hex, готовый к прошивке. Прошиваем его следующей командой: 

sudo ~/stlink/st-flash --format ihex write bin/stm32f0discovery/hello-world.hex 

Готово! 

Желаю всем больших успехов!

 

 

 

 

 

Метки: STM32 , discovery, Ubuntu, RIOT OS, manual, STM32F0

Добавить комментарий


Защитный код
Обновить