ARM Trouble Shoting :P

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

ARM Trouble Shoting :P

Post autor: SunRiver » 03 paź 2018, 0:06

Tak tak ARMY tez miewają swoje problemy i o dziwo można je zablokować jak AVR
Na szczęście niema tu tak przykrych konsekwencji jak w 8bitowcach i jest odwracalne :)
ale od początku ...


Grzecznie pracujemy sobie nad projektem, piszemy , sprawdzamy kolejny raz wgrywamy kod do naszego procka,
i znów poprawiamy i tak do znudzenia .... aż w końcu doszliśmy do miejsca gdzie wszystko jest super napisane
chcemy wgrać ostateczną wersję odpalamy 3rd software :

Obrazek

klikamy Connect ...

Obrazek

A tu zonk ... jak to przecież 20 min temu działało normalnie ...
Zaczynamy zatem gorączkowo sprawdzać połączenie programatora, przewody , itd .. niestety nie działa ...
No uwaliliśmy STM32 :(
Nic bardziej mylnego , ale takie zablokowanie się STM32 czy Kinetisa czasem miewa miejsce i moze być spowodowane np
zbyt długimi przewodami które wchłoną jakiś zakłócenia. Ich słabą jakością głównie właśnie gdy używamy interfejsu SWD
ma szanse się przytrafić taka niespodzianka :)

Na szczęście mozna sobie z nią poradzić :)
jednym ze sposobów jest podczas łączenia z mikrokontrolerem ST-Linkiem trzymanie mikrokontrolera na RESECIE
zobaczmy :)

Dla odmiany użyję STM32 ST-link Utility gdyż łatwiej nam będzie zaobserwować co i dlaczego
Używamy ST-Link v2 podłączony przez SWD do SUN EVB w której mam osadzony moduł SUN-1xxR
z mikrokontrolerem STM32F103RB.

Obrazek

teraz odpalamy STM32 ST-LINK Utility
W ustawieniach wybieramy Connect Under RESET :

Obrazek

Klikamy OK i nacisąwszy RESET na płytce trzymamy go i z Menu Target wybieramy CONNECT
po chwili puszczamy i ...

Obrazek

uff udało się mamy połączenie z naszym microkontrolerem ...
Na wszelki wypadek wykonamy zatem pełne kasowanie pamięci :)

O nie błąd nie można wykasować pamięci bo jest zablokowana --- !!!

Obrazek


no super ... ale nic się nie stało :) mając ST-Linka i STM32 ST-Link Utility możemy sobie poradzić
w bardzo prosty sposób:)
Gdy nawiązane mamy połączenie z naszym mikrokontrolerem z menu TARGET wybieramy Options BYTE
a tam ...

Obrazek

jak widac coś się pokićkało i sobie ustawił poziom zabezpieczeń na Level1 co widać na dole przy sektorach pamięci
Write protect :) Prosta sprawa klikamy UnSelect ALL poniżej i Klikamy Apply
Po czym

Pojawia nam się zielony napis w konsoli : Option bytes updated successfully.
Erase full Chip to tylko formalność : Flash memory erased

Obrazek

Nasz mikrokontroler wrócił do żywych :)

Oczywiście to nie jedyny sposób na Zablokowanie , Na szczęście nie przytrafia się to często, a ja wiem ze muszę zmienić
przewód JTAG - SWD na lepszej jakości i grubszy od taśmy AVG.
Tym Razem poszło prosto , czasem trzeba użyć J-Linka który ma narzędzia do odblokowywania STM32 i Kinetis

Profilaktycznie sprawdzam STM Cube Programera :

Obrazek

Wszystko działa prawidłowo połączenie , detekcja procka i kasowanie pamięci :)
.... z każdym bitem serca ....
💫SunDUINO
💦GitHUB
💦Google Drive
💦Sotton

Awatar użytkownika
l3n1n
Moderator
Posty: 322
Rejestracja: 28 paź 2017, 8:46
Lokalizacja: 3M

Re: ARM Trouble Shoting :P

Post autor: l3n1n » 03 paź 2018, 7:51

Dzięki Sun za świetny poradnik. Jak wiesz dopominałem się o niego przez dłuższy czas. Bo swego czasu doświadczyłem tej wątpliwej przyjemności jaka było zablokowanie ARMa. Wtedy mi pomogłeś i do tego skutecznie. I nie ważne że zablokowałem go przez ciebie :D :D :D. Jeszcze raz dzięki za to, że ci się chciało to zrobić.

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

Re: ARM Trouble Shoting :P

Post autor: SunRiver » 03 paź 2018, 16:52

heh zaiste bez bicia się przyznaję :)

Ale sposobów na zablokowanie STM'a jest wiele i często są różne objawy jednak zawsze można wyjść obronną ręką
z takich sytuacji i bynajmniej powód do paniki to nie jest a ubaw po pachy :)
.... z każdym bitem serca ....
💫SunDUINO
💦GitHUB
💦Google Drive
💦Sotton

ODPOWIEDZ