====== STM32 UART bootloader ====== Микроконтроллеры STM32Fx позволяют переключаться в режим загрузчика, с помощью которого через UART1 можно считывать и записывать бинарный код в оперативную память и flash память кристалла. Для перевода контроллера в режим загрузчика следует при включении питания или сбросе поддерживать высокий уровень напряжения((через резистор ~10K)) на выводе BOOT0 и низкий уровень напряжения((так же через резистор ~10K)) на выводе BOOT1((совмещён с одной из из сигнальных ног процессора)). Компания ST предоставляет библиотеку под Windows для работы с загрузчиком контроллера. К сожалению исходные коды этой библиотеки закрыты, поэтому потребовалось написать собственное кроссплатформеное решение. В данный момент программа находится в разработке, исходный код можно получить по адресу http://mercurial.intuxication.org/hg/stm32loader Лоадер умеет: * Стирать, записывать, проверять и считывать код из flash и других областей памяти микроконтроллера. * Работать с raw бинарными файлами. * Показывать версию бутлоадера и ID микроконтроллера. Подсказку по ключам командной строки можно получить командой 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 {{tag>arm cortex stm32 loader soft python}}