Инструменты пользователя

Инструменты сайта


ob:o7:stm32flash

Прошивка микроконтроллера через UART

Через переходник USB-UART подключите микроконтроллер в выходам A9 и A10, которые соответствуют выходам USART1_TX и USART1_RX соответственно.

  • RX выхода переходника стоит подключать к TX, то есть к A9.
  • TX выхода переходника стоит подключать к RX, то есть к A10.

После этого микроконтроллер надо перевести в режим прошивки. На многих платах для этого есть специальная перемычка. Например, для платы с МК STM32F103C8T6 из предыдущей заметки, — это будет дальняя от кнопки перезагрузки перемычка в положении 1:

Если перемычки нет, то необходимо замкнуть ногу BOOT0 на 3.3 вольта. Для безопасности лучше использовать резистор номиналом 50–200 Ом, но возможно замкнуть контакт и напрямую.

Осталось перезагрузить контроллер, чтобы он перешел в режим прошивки через UART.

Windows

Скачайте и установите приложение FLASHER-STM32:

http://www.st.com/en/development-tools/flasher-stm32.html

Работа с приложением достаточно очевидна. Значок светофора, показывает зеленый, при успешном подключении к контроллеру. А также становится доступен диалог выбора файла прошивки с различными опциями загрузки. Полезны опции очистки памяти и проверки записанных данных.

Linux

В последних версиях Linux приложение stm32flash доступно из стандартных источников приложений. В Ubuntu для установки приложения выполните команду:

sudo apt-get install stm32flash

Если так установить не удается, то установите приложение stm32flash с сайта: https://sourceforge.net/projects/stm32flash

Команда:

sudo stm32flash /dev/ttyUSB0

даст вывод:

stm32flash 0.5

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

Значит микроконтроллер успешно подключен и готов к прошивке.

Чтобы прошить программу в микроконтроллер используйте команду:

sudo stm32flash -w Program.hex -v -g 0x0 /dev/ttyUSB0

Удобно добавить пользователя в группу dialout, чтобы не приходилось вводить sudo перед командой прошивки.

sudo usermod -a -G dialout $USER

Автор заметки: И.А. Денисов

ob/o7/stm32flash.txt · Последние изменения: 2017/04/06 23:34 — иван_денисов