Есть в природе вот такая забавная штучка на базе микроконтроллера STM32F103.
В своём составе имеет:
Версия OpenOCD из репозитория поддерживает встроенный отладчик под именем rlink.
Если отладка на реальном железе не нужна, можно пойти другим путём и воспользоваться встроенными возможностями контроллера STM32 - загрузчиком через UART1.
Простейший загрузчик можно получить по адресу http://freehg.org/u/iar/stm32loader/
В данный момент программа находится в разработке, но уже позволяет читать, стирать, записывать и проверять Flash память МК.
STM32 Primer для возможности загрузки через последовательный порт UART1 требует некоторых доработок.
Нам потребуется внести изменения в следующих зонах платы:
Для подключения к ПК нам потребуется Serial порт с TTL3.3v уровнями сигнала. Очень хорошо на эту роль подходит дата-кабель от мобильных телефонов на базе чипа Prolific PL-2303.
Следует учесть, что вывод TX serial порта мы подключаем к точке RxD на плате, а вывод RX порта к точке TxD.
Резистор R48 подтягивает ногу процессора Boot1 к питанию. Нам же надо переместить его так, что бы вывод был подтянут к земле.
Резистор R42 нулевого сопротивления заменяем резистором номиналом 10К.
Для того, что бы МК после сброса входил в режим загрузчика, точка Boot0 должна быть притянута к напряжению питания (лог. 1). Это можно сделать либо замыканием выводов посадочного места резистора R49, либо прямым подключением к выводу nRTS TTL Serial порта.
Для внешнего сброса МК можно подпаятся к точке Reset. Это может быть обычная кнопка между Reset и GND или транзисторный ключ подключённый к выводу nDTR TTL Serial порта.
Дискуссия