По мне так лучше оригинал взять. У этого ведь не только SWO нет, но и VPP, которым он, по сути, подгоняет свои логические уровни под уровни отлаживаемой платы.
Кстати, а в чем делался демо-пример. У меня Keil при любом использовании printf генерирует дико глючную и виснущую прошивку, которую невозможно отлаживать.
Оригинал дороже, да и на всех отладочных платах, которые мне известны питание проца всегда 3.3В. В итоге данный программатор хорошо снижает порог вхождения в STM32.
Кстати, делал такую доработку после того, как китайский ST-Link отказался работать с SystemWorkbench. На форуме http://www.openstm32.org/ мной описано подключение вывода Reset. Мой коллега даже отказался от работы с SystemWorkbench, потому что не смог запустить отладку.
Подскажите, а как определяется скорость на SWO? На скрине у вас 72 МГц — она совпадает с частотой HSE/HSI таргета, или на такой частоте работает отладчик?
К сожалению, в openOCD не допилили поддержку SWO через STlink.
Попробуйте прошить STlink в JLink (есть официальная прошивка от segger.com).
У меня JLink (копия), консолька через openOCD работает.
Для ленивых любителей отладочных printf-ов: в EmBitz есть такая неблагозвучная (для русского уха) штука как EBmonitor. Работает без SWO. Есть нюансы, но в общем случае — очень удобно.
Так и в IAR можно выводить отладочную информацию через библиотеку semihosting, в таком случае физически нога SWO не нужна, но есть свои минусы в скорости работы
Вот-вот, semihosting тормозит ядро на время вывод. Ebmonitor же практически не влияет на скорость, но зато может терять сообщения. Вдобавок это фишка только EmBitz.
Но очень удобно. Вспоминаю сколько времени я убил на semohosting в Keil — аж трясет :)
Доработка китайского ST-Link v2: добавляем интерфейс вывода отладочной информации SWO и ногу Reset