Пользователям Linux, желающим программировать микроконтроллеры фирмы STM.
Будем использовать:
MDK-ARM прекрасно работает под wine. Чтобы не было проблем с кодировкой при комментировании в своей программе, надо в uVision в меню Edit выбрать пункт «Configuration…» и на вкладке «Editor» выбрать кодировку (Encoding) UTF-8: «Encode in UTF-8 without signature».
Чтобы разобраться с texane/stlink, скачаем его для начала:
- если не установлен git (кто не знает: система контроля версий, должна быть у каждого программиста), установим:
sudo apt-get install git
- скачиваем texane/stlink с помощью git:
git clone git://github.com/texane/stlink.git
Теперь собираем:
- Удовлетворяем зависимости:
sudo apt-get install libusb-1.0 pkg-config libtool autoconf
- Собираем:
cd stlink
./autogen.sh
./configure
make
Не выходя из каталога stlink выполним пару команд:
sudo cp 49-stlinkv1.rules 49-stlinkv2.rules /etc/udev/rules.d
sudo udevadm control --reload-rules
чтобы у нас всегда был доступ к программатору ST-Link без прав суперпользователя.
Команда, чтобы прошить микроконтроллер:
~/stlink/st-flash write путь адрес
где:
путь
— путь к двоичному файлу прошивки (*.bin),
адрес
— шестнадцатеричный адрес в памяти (например, начало флеш-памяти в STM32: 0x08000000
).
Утилита st-flash позволяет также считывать данные, если вместо write
задать read
и указать поcле адреса объем данных в байтах.
Получить двоичный файл можно средствами MDK-ARM. Чтобы при сборке проекта генерировался двоичный файл, добавляем в настройках проекта на вкладке User в секцию «Run User Programm After Build/Rebuild» строку:
FromElf.exe --bin --output путь_к_bin путь_к_axf
где:
путь_к_bin
— путь к двоичному файлу, который будет генерироваться,
путь_к_axf
— путь к стандартному файлу прошивки, который по умолчанию генерируется при сборке проекта.
На панели uVision имеется кнопка «Load» для загрузки прошивки в микроконтроллер. Настроим поведение этой кнопки. В настройках проекта на вкладке Utilities выбираем «Use external Tool for Flash programming» и в поле «Command» добавляем: load-firmware.sh. Ставим галочку «Run Independent», чтобы интерфейс не зависал. В папке проекта создаем файл load-firmware.sh и добавляем в него следующие строки:
#!/bin/bash
~/stlink/st-flash write путь адрес
подставив путь к двоичному файлу и адрес начала флеш-памяти программируемого микроконтроллера. Файл необходимо сделать исполняемым.
Понравилось это:
Нравится Загрузка...