ST-Link V2 в маленьком корпусе

Самый недорогой программатор/отладчик ST-Link V2 на примере STM32F103CBT6.

фотка 1

Обязательно меняем провода на короткие

Итак первым делом меняем провода для соединения ST-LINK V2 с STM32F103C8T6 на короткие 10см.

Используем для соединения с STM32F103C8T6 только 4 провода (SWD интерфейс):

3.3V - 3.3V
GRD - GRD
SWDIO- DIO
SWCLK- CLK

Нет SWO трассировки

То есть не выведен отдельный провод PB3 SWO из программатора наружу.

Но в принципе программно SWO реализован внутри программатора. Только воспользоваться им нельзя. Белый провод это он и есть, а как подпаятся к ножке микросхемы программатора вопрос ?..

фотка 2

Как обновить внутреннее ПО

через программу ST-LINK Utility

Проверяем сначала связь с контроллером программой ST-LINK Utility:

Обе перемычки на STM32F103C8T6 в положении 0
запускаем, жмем Connect и все определяется ОК
щелкаем Settings и видим, что устройство определяется автоматически корректно (см.скриншот) , port = SWD, target Voltage=3.2V и т.д.

Обновление внутреннего ПО

Чтобы сделать Firmware Update в программе ST-LINK Utility надо установить перемычку в положение 1 (режим DFU). В результате должно получится примерно так, кнопка Yes активна:

фотка 3

Иногда , почему-то не удается сделать Firmware Update. Но помогает - закрытие всех программ, перезагрузка ПК (танцы с бубном).

По-видимому надо разобраться что устанавливать? - Hardware Reset (при SoftWare Reset у меня не срабатывает).

фотка 4

Важно! - в ST-Link V2 после прошивки (через Stm32-Link Utility) сохраняются старые настройки Mode (Normal|Hot Plug|Connect Undr Reset) и Reset Mode (Software System Reset|Core Reset|Hardware Reset).

Если не работает ничего - пытаемся разобраться с дополнительными настройками

Mode : Connect Under Reset можно выставить только с Reset Mode : Hardware Reset (Похоже по смыслу , что это тот самый режим когда надо ручками кнопку Reset нажимать и перемычка в 1 д/б).

The “Connect Under Reset” option allows to connect to the target using a reset vector catch before executing any instruction. This is useful in many cases like when the target contains a code that disables the JTAG/SWD pins.

Т.е. это похоже когда программа в начале своего исполнения отключает SWD возможности. Понятно отладка тут не будет возможна.

Mode : Normal возможен с Reset Mode : (Software System Reset|Core Reset|Hardware Reset) .
With “Normal” connection mode, the target is rest then halted. The type of reset is selected using the “reset Mode” option.

Mode : Hot Plug возможен с Reset Mode : (Software System Reset|Core Reset|Hardware Reset)

The “Hot Plug” option allows to connect to the target without halt or reset. This is useful to update the RAM addresses or the IP registers while the application is running.
И мы понимаем, что Hot Plug - пока этот режим нам не нужен никак.

Итак режим (Mode) и Reset Mode настраивается именно в ST-Link V2 через Stm32-Link Utility.

В Keil надо соответственно этому указать настройки.