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ć.