Programator/DEBUGER ST-LINK v2-1

To co nie widoczne gołym okiem ,a jednak obecne i przydatne ...
ODPOWIEDZ
Awatar użytkownika
SunRiver
Administrator
Posty: 480
Rejestracja: 08 paź 2017, 11:27
Lokalizacja: Opole
Kontakt:

Programator/DEBUGER ST-LINK v2-1

Post autor: SunRiver » 29 lip 2018, 17:36

Nowiutki i świetny oraz kompaktowy ST-Link v2-1
posiadający złącza JTAG/SWD dla STM32 oraz SWIM dla STM8
jak też i stanowiący adapter USB UART ...

Obrazek

opis oczywiście na blogu:

https://www.sunduino.pl/stmicroelectron ... link-v2-1/

miłej lektury ...
.... z każdym bitem serca ....
💫SunDUINO
💦Google+
💦Kanał Youtube
💦Sotton

Awatar użytkownika
SunRiver
Administrator
Posty: 480
Rejestracja: 08 paź 2017, 11:27
Lokalizacja: Opole
Kontakt:

Re: Programator/DEBUGER ST-LINK v2-1

Post autor: SunRiver » 30 lip 2018, 17:41

Uzupełnienie wpisu na stronie :)

DIODA/DIODY STATUSOWE :

Dioda ta jest 2 kolorowa czerwono-zielona jej znaczenie jest następujące :
  • Miga na czerwono ---> Nie zainstalowane sterowniki ST-Linka (należy pobrać ST-Link Utility i zainstalować)
  • Świeci na czerwono ---> ST-Link wykryty i podłączony -- bez czynny
  • Miga na przemian czerwona/zielona ---> trwa komunikacja z układem docelowym
  • Świeci na zielono ---> ostatnia operacja przebiegła prawidłowo
  • Świeci na pomarańczowo ?? (mieszanka zieleni i czerwieni) --> Komunikacja z układem docelowym nie powiodła się
Firmware Upgreade

Można wykonać na 2 sposoby

1. W programie STM ST-link Utility wybieramy z menu ST-Link --Firmware update
2. W programie ST-linkUpgreade

zalecam używanie 2 opcji jest dostępne nowsze firmware :)
w obu przypadkach klikamy Device Connect i widzimy jakie jest firware do upgreade i jakie jest w naszym programatorze ....

Obrazek

jeśli nowsze ... klikamy YES to wszystko...

Obrazek

Jeśli zobaczymy taki komunikat po kliknięciu Device Connect oznacza to że nie jesteśmy w trybie bootloadera DFU , odpinamy USB i podpinamy ponownie i klikamy Device Connect .


PROBLEMY Z STM32

STM32 jak wszystkie mikrokontrolery mają zabezpieczenia pamięci FLASH dokłądnie są 3 poziomy

1. poziom 0 --- "niezabezpieczony"
2. poziom 1 --- "chroniony przed odczytem"
3. poziom 2 --- "pełna blokada układu -- wyłączone SWD/JTAG"

Zwykle podczas pracy i w naszych układach będziemy mieli poziom zabezpieczeń ustawiony na 0 czyli bez ochrony , niemniej może się zdażyć przy dużej ilości kabli podczas testów że pojawią się zakłócenia w programowaniu i nasz STM32 nagle odmawia połączenia. Pewnie jakimś magicznym cudem przełączył się na poziom 1 albo mamy procka z odzysku z jakiegoś urządzenia ... nic strasznego poziom 1 można przestawić na 0 ale .... operacja ta kasuje pamięc FLASH (układ jest czysty jak nowy ze sklepu) , aby tego dokonać musimy :

a/. uruchomić ST-Link Utility i trzymając reset na układzie docelowym w menu TARGET wybieramy Connect.
b/. po połączeniu puszczamy reset na naszej płytce z STM32 z menu TARGET wybieramy Option BYTES ustawiamy na górze READ OUT Protection na Disabled oraz sprawdzamy na dole Flash sectors protection ... powinno być wszędzie No Protection jeśli nie

Obrazek

wystarczy odznaczyć ptaszki i klikamy Apply...
po chwili nasz układ jest odblokowany ....

Posiadacze J-Linka w skrajnych wypadkach mogą użyć STM_unlock z pakietu Seggera
w przypadku problemów z połaczeniem/wykryciem układu lub kasowaniem wgrywaniem
firmware -- operacja również wymaga trzymania układu docelowego w RESECIE podczas
działania.

______________________________________________________________________________

U W A G A !!

Poziom 2 jest nieodwracalny wiec jeśli jesteś grekiem lub foreste unikaj jak
święconej wody tej zakładki :)

Właczenie poziomu 2 zabezpieczeń wyłącza SWD/JTAG i taki układ nigdy nie będzie
możliwy do zaprogramowania jakimkolwiek programatorem. Jest to nieodwracalne.

_______________________________________________________________________________
.... z każdym bitem serca ....
💫SunDUINO
💦Google+
💦Kanał Youtube
💦Sotton

Awatar użytkownika
SunRiver
Administrator
Posty: 480
Rejestracja: 08 paź 2017, 11:27
Lokalizacja: Opole
Kontakt:

Re: Programator/DEBUGER ST-LINK v2-1

Post autor: SunRiver » 25 wrz 2018, 18:41

Miałem ostatnio kilka pytań na blogu w kwestiach formalnych związanych z pracą z ST-Linkiem.
Postaram się wiec tu do nich odnieść i tym samym uzupełnić kilka spraw których nie opisałem.

1. Czy mały klon z chin lub fragment płytki z Nucleo są pełnoprawnym ST-Linkiem i jak z legalnością tych pierwszych ?

Tak to pełnoprawne programatory ST-Link ale ograniczone do interfejsu SWD, który zasadniczo jest wystarczający do pracy
z mikrokontrolerami STM32 i przy okazji oszczędza miejsce na płytce w porównaniu z typowym JTAG 20pin.
W przypadku klonów w odróżnieniu od J-Linka trudno mówić o klonie gdyż samo STM udostępnia wszelkie materiały
dotyczące ST-Linka jak listy boom , czy schematy (zwłaszcza tych na płytkach Discovery i Nucleo)- wydaje się być właściwe
chyba nazwanie ST-Linka debugerem OpenHardware , gdyż nie dostajemy tylko źródeł firmware, ale wersje binarne już tak.
Aczkolwiek co oryginał to oryginał :)

2. Do czego służy serial number w ST-Linku ??

A do czego może służyć ?? Jest to numer seryjny urządzenia nadawany podczas programowania , i jest numerem unikalnym
teoretycznie nie powinny się znaleźć 2 takie same numery. Firma STM nie tworzy jak Segger jakiś wymagań licencyjnych wiec
zasadniczo niema prawdopodobnie on znaczenia licencyjnego. Jako że ST-Link działa i tak tylko z mikrokontrolerami STM32
oraz te wyposażone w SWIM j/w opisany również do programowania STM8.

Niemniej numer ten jest nad wyraz użyteczny do rozróżniania podłączonych ST-Linków. Wam się pewnie nie zdarzy ale mi się zdarza
równolegle pracować na kilku płytkach na raz np. SunDuinowy EVB i Discovery. Pół biedy gdy program i mikrokontrolery są te same np. 051
ale gdy są to różne hardware i różne projekty można się pogubić. A dzięki SN możemy łatwo rozróżnić ST-Linki i w wielu środowiskach
np Attolic TS czy Keil przypisać konkretny USB SN do projektu i tym samym bez kłopotu zawsze zaprogramować właściwy procek.

3. Czy używanie ST-Linka usuwa bootloader z pamięci mikrokontrolera ??

Jeśli używałeś Flash Loader demonstratora i teraz masz już ST-Linka i wykonałeś ERASE całego Flasha, nic się nie stało
fabryczny bootloader jest tam nadal :) i dalej można go używać :) Dlatego zawsze są dwa sposoby programowania STM32.
Jest to bardzo przydatne, jeśli z jakiegoś powodu ST-Link zostanie uszkodzony lub nie będzie go pod ręką, nadal mamy opcję
bootloadera. Jak widać STM Myśli o wszystkim :)

4. Czym się różnią ST-Link / ST-Link v2 / ST-Link ISOL ? Bo nie wiem już co wybrać

W zasadzie ST-link / ST-link v2 / ISOL to to samo urządzenie oczywiście różnią się obudową z wyglądu :)
ale nie tylko. W odróżnieniu od ST-Link/ST-Link v1 ma 2 kolorową diodę statusową (jej znaczenie opisałem wyżej)
oraz ST-Link v2 toleruje sygnały 5V dla interfejsu JTAG, a poprzednik 3v3. Ponadto ma oddzielny interfejs SWIM dla STM8.
Zaś wersja ISOL posiada galwaniczną izolację interfejsu od układu docelowego przez co ma być bardziej bezpieczny.

Dlatego też nieważne jaki wybierzesz. Wybierając pełnego ST-Linka v2 bo w zasadzie niema już chyba dostępnych v1
poza używkami czy też ISOL (trochę droższy) masz do dyspozycji pełny JTAG , SWD i SWIM oszczędzasz czas który się marnuje
podczas zabaw z Bootloaderem.

5. Co mi daje zmiana oprogramowania ST-Link na J-Link w Nucleo czy Discovery?

Segger J-link to niewątpliwie najlepszy i najszybszy dostępny Debuger/programator dla rdzeni ARM. Jest zdecydowanie jednym
z najbardziej popularnych programatorów i dosyć drogich :) (pomijam EDU i OBEDU) Ich zaletą jest obsługa wszystkich dostępnych
na rynku mikrokontrolrów z rdzeniem ARM i nie tylko, ale też jest obsługiwany przez wszystkie środowiska dla ARM.

Zmiana oprogramowania ST-Link na J-Link pozwala na używanie lepszego oprogramowania niż tylko ST-Link Utility, które bywa
trudne w współpracy z Środowiskami opartymi o eclipse wymaga używania zewnętrznego oprogramowania itd ...
I dlatego może być podyktowane używaniem płytki z wbudowanym programatorem w innych środowiskach.
Oczywiście problem nie dotyczy Attolic True Studio który ma własny świetny serverGDB dla ST-Link , o czym nie pomyślało
STM i nie stworzyło swojego. Można się oczywiście bawić w TEXANE , czy OpenGDB co bywa tez upierdliwe i czasem nie do końca
działa jak chcemy.
 ! Wiadomość z: SunDUINO

Tak zmodyfikowany St-link jest obwarowany licencyjnie , ponadto nie umożliwia zaprogramowania innych układów ARM poza takim jak
jest na płytce do której był dodany. Tak więc Otrzymujecie tylko możliwość używania oprogramowania Segger J-Link, a nie samego
J-Linka.
Dlatego też jeśli chcecie używać tylko STM32 lepiej nabyć ST-Linka lub używać tego który jest dodany do Nucleo/Discovery,
Jeśli zaś chcecie używać innych ARM jak: NXP, Kinetis,STM32 itd ... polecam zakupić oryginalnego J-Linka (obecnie najtańszy jest EDU)

6. Słyszałem że jest ST-Link v2.1, ale nawet na stronie STM go nie ma gdzie można go dostać ??

No tak ... Oficjalnie najnowszą wersją jest ST-Link v2 , zaś v2.1 to rozwinięcie ST-Linka dodanego do płytek Discovery i Nucleo
różni się tym że posiada dodatkowo na potrzeby środowiska mBed virtualny port UART, czyli jest też widoczny jako Virtualny port
Com na USB do komunikacji szeregowej.

Strona produktu: STM ST-Link

UFF...

Jeśli macie jeszcze jakieś pytania piszcie tutaj postaram się odpowiedzieć.
.... z każdym bitem serca ....
💫SunDUINO
💦Google+
💦Kanał Youtube
💦Sotton

Awatar użytkownika
tungu
Użytkownik
Posty: 16
Rejestracja: 21 maja 2018, 17:44

Re: Programator/DEBUGER ST-LINK v2-1

Post autor: tungu » 25 wrz 2018, 20:55

No to pytanie, które mnie nurtuje:
Z opisów wnoszę, ze różnica ST-Link v2/ST-Link v2.1 jest software'owa (są 3 różnice jak pamiętam). Czy zatem będzie teoretyczna możliwość upgrade'u wersji wsadu v2 ISOL do v2.1 i czy będzie to warte?
m.

Awatar użytkownika
SunRiver
Administrator
Posty: 480
Rejestracja: 08 paź 2017, 11:27
Lokalizacja: Opole
Kontakt:

Re: Programator/DEBUGER ST-LINK v2-1

Post autor: SunRiver » 25 wrz 2018, 20:58

nie wymaga przeróbki hardwerowej i zmiany firmware ,
.... z każdym bitem serca ....
💫SunDUINO
💦Google+
💦Kanał Youtube
💦Sotton

ODPOWIEDZ