Это старая версия документа!
Через переходник USB-UART подключите микроконтроллер в выходам A9 и A10, которые соответствуют выходам `USART1_TX` и `USART1_RX` соответственно.
После этого микроконтроллер надо перевести в режим прошивки. На многих платах для этого есть специальная перемычка. Например, для платы с МК STM32F103C8T6 из предыдущей заметки, — это будет дальняя от кнопки перезагрузки перемычка в положении 1:
Если перемычки нет, то необходимо замкнуть ногу BOOT0 на 3.3 вольта. Для безопасности лучше использовать резистор номиналом 50–200 Ом, но возможно замкнуть контакт и напрямую.
Осталось перезагрузить контроллер, чтобы он перешел в режим прошивки через UART.
Скачайте и установите приложение FLASHER-STM32:
http://www.st.com/en/development-tools/flasher-stm32.html
Работа с приложением достаточно очевидна. Значок светофора, показывает зеленый, при успешном подключении к контроллеру. А также становится доступен диалог выбора файла прошивки с различными опциями загрузки. Полезны опции очистки памяти и проверки записанных данных.
В последних версиях GNU/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
Автор заметки: И.А. Денисов
Другая хорошая статья: http://www.avislab.com/blog/stm32_st_link_ru/