Może postarajmy się jakoś uporządkować informacje, by kolega jednak ruszył do przodu.
1. Zarówno płytki Discovery jak i Nucleo na złączu SWD
nie podają napięcia zasilania na pinie 1. Tak samo zdecydowana większość programatorów oryginalnych jak i udających te oryginalne nie wyprowadza napięcia zasilania. Piny opisane jako TVCC, VTG, Vtarget służą do podawania napięcia na bufory -
jeśli oczywiście one
tam są. Jak można się przekonać klony często ich nie mają i ten pin jest po prostu niepodłączony.
2. Procesor na płytce adaptora
trzeba zasilić z dodatkowego źródła napięcia 3,3V. W przypadku Nucleo/Discovery napięcie to wypada podać też na pin 1 złącza SWD bo wbudowany tam programator dokonuje jego pomiaru. W przypadku klonów będzie to raczej bezcelowe z uwagi na braki w implementacji wskazane wyżej.
Jeśli łączysz sam adaptor bez innych peryferii to możesz wykorzystać zasilanie 3,3V jakie płytki Nucleo/Discovery udostępniają na pinach po bokach.
3. Wszystkie piny zasilania procesora - VDD, VDDA, VBAT trzeba podłączyć razem do źródła napięcia zasilania. Tak samo wszystkie masy do masy. Masa adaptora musi być połączona z masą programatora. 3,3V już nie koniecznie jak wynika z opisu powyżej.
4. W przypadku SWD z Nucleo/Disco łączymy wyprowadzenia sygnałowe złącza: SWCLK (pin 2), SWDIO (pin 4), nRST (pin 5) z odpowiednimi wyprowadzeniami procesora. Korzystając z Keila trzeba też wejść w zakładkę Debug, wybrać
ST-Link Debugger i w ustawieniach wybrać
Port: SW. Mogą wystąpić też dodatkowe problemy z połączeniem, o których pisze Keil
http://www.keil.com/support/docs/3662.htm Z reguły trzeba będzie zaznaczyć opcję "Connect under reset".
5. W przypadku ST-LINK-a i wykorzystania JTAG-a, łączymy jego piny sygnałowe z odpowiednimi wyprowadzeniami procesora. Reszta jak punkt wyżej z tym, że ma być ustawiony
Port: JTAG.
6. W sporadycznych przypadkach trzeba obniżyć prędkość zegara ST-LINK-a w
Max. Clock. Ale to zdarza się gdy procesor już był używany w jakiejś aplikacji, która przestawia taktowanie procesora.