Микроконтроллеры STM32Fx позволяют переключаться в режим загрузчика, с помощью которого через UART1 можно считывать и записывать бинарный код в оперативную память и flash память кристалла.
Для перевода контроллера в режим загрузчика следует при включении питания или сбросе поддерживать высокий уровень напряжения1) на выводе BOOT0 и низкий уровень напряжения2) на выводе BOOT13).
Компания ST предоставляет библиотеку под Windows для работы с загрузчиком контроллера. К сожалению исходные коды этой библиотеки закрыты, поэтому потребовалось написать собственное кроссплатформеное решение.
В данный момент программа находится в разработке, исходный код можно получить по адресу http://mercurial.intuxication.org/hg/stm32loader
Лоадер умеет:
Подсказку по ключам командной строки можно получить командой stm32loader.py -h
Usage: ./stm32loader.py [-hqVewvr] [-l length] [-p port] [-b baud] [-a addr] [file.bin]
-h This help
-q Quiet
-V Verbose
-e Erase
-w Write
-v Verify
-r Read
-l length Length of read
-p port Serial port (default: /dev/ttyUSB0)
-b baud Baud speed (default: 57600)
-a addr Target address
./stm32loader.py -e -w -v example/main.bin
Дискуссия