Я сколько юзаю STM'ки — пока еще не сталкивался с нуждой шить их именно по JTAG.
Он по сути зачем нужен:
1. Прошивка нескольких чипов за 1 подключение программатора — актуально если на платке например 4 штуки прошиваемых чипа, и платок этих 10 тыс. штук.
В таком случае JTAG сбережет время крупной производственной линии... Но тут есть одна фишка.
Универсальный программатор JTAG, умеющий шить все бренды микрух — это достаточно профессиональная и не дешевая штука.
Программатор например чисто Altera, чисто STM32, или чисто Xilinx будут шить только свои микрухи.
2. Boundary scan — JTAG умеет смотреть осстояние ножек и юзается на той же производственной линии для обнаружения закоротов после пайки.
Эту фичу правда умеет так же лишь профессиональный программатор.
Короче с STM'ками, и если пользователь — самопальщик, у которого партии девайсов от 1-й и до 20-ти штук...
То можно вообще не париться, шить через SWD. Можно даже с бортового программатора на платках Discovery.