Если программатор китайская копия ST-Link'a, то есть смысл снять металлический корпус и посмотреть распиновку на плате. Просто сдвигнаешь корпус в сторону от юсб разъема и он вытаскивается. У меня такое было, что на металическом корпуске нанесена распиновка я по ней подключал, но прогрмматор не определялся при прошивке из CubeIDE, но прекрасно определялся для обновления прошивки самого программатора. Оказалось, что шпаргалка на корпусе не соответсвует рельной распиновке контактов.