Это старая версия документа!
Прошивка микроконтроллера через UART
Через переходник USB-UART подключите микроконтроллер в выходам A9 и A10, которые соответствуют выходам USART1_TX и USART1_RX соответственно.
- RX выхода переходника стоит подключать к TX, то есть к A9.
- TX выхода переходника стоит подключать к RX, то есть к A10.
Чтобы легче запомнить правильное подключение, обратите внимание, что R в алфавите идет первее T, также как 9 идёт первее 10.
После подключения микроконтроллер необходимо перевести в режим прошивки. На некоторых платах для этого есть специальная перемычка. Например, для платы с МК STM32F103C8T6 из предыдущей заметки, — это будет дальняя от кнопки перезагрузки перемычка в положении 1:
На некоторых платах имеются специальные кнопки BOOT0. Например плата STM32F401CСU6 имеет такую кнопку рядом с кнопкой перезагрузки.
Если нет ни перемычки ни кнопки, то необходимо замкнуть ногу BOOT0 на 3.3 вольта. Чтобы не испортить микроконтроллер лучше использовать резистор номиналом 50–200 Ом, однако возможно замкнуть контакт и напрямую.
Осталось перезагрузить контроллер, чтобы он перешел в режим прошивки через UART.
stm32flash
Кросс-платформенное консольное приложение stm32flash позволяет использовать встроенный загрузчик STM32 для загрузки новой программы в память микроконтроллера.
https://sourceforge.net/projects/stm32flash
++++Установка в Linux|
Выполните команду:
sudo apt install stm32flash
Чтобы не приходилось вводить sudo перед командой прошивки, добавьте пользователя в группу dialout:
sudo usermod -a -G dialout $USER
Чтобы изменения начали действовать, перезагрузите сеанс пользователя или компьютер.
++++
Команда:
stm32flash /dev/ttyUSB0
даст вывод:
stm32flash 0.7 http://stm32flash.sourceforge.net/ Interface serial_posix: 57600 8E1 Version : 0x22 Option 1 : 0x00 Option 2 : 0x00 Device ID : 0x0410 (STM32F10xxx Medium-density) - RAM : 20KiB (512b reserved by bootloader) - Flash : 128KiB (size first sector: 4x1024) - Option RAM : 16b - System RAM : 2KiB
Значит микроконтроллер успешно подключен и готов к прошивке.
Чтобы прошить программу в микроконтроллер используйте команду:
stm32flash -w Program.hex -v -g 0x0 /dev/ttyUSB0
Для прошивки через st-link
st-flash --format ihex write Mobx/Files/STM32F446RETest1.hex
Автор заметки: И.А. Денисов

