Elektroda.pl
Elektroda.pl
X

Wyszukiwarki naszych partnerów

Wyszukaj w ofercie 200 tys. produktów TME
Europejski lider sprzedaży techniki i elektroniki.
Proszę, dodaj wyjątek elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[STM32][ZL31ARM]Przywrócenie nominalnych funkcji na piny JTAGa

browarinho 29 Kwi 2012 20:54 1111 3
  • #1 29 Kwi 2012 20:54
    browarinho
    Poziom 10  

    Piszę program na stma wlutowanego na własną płytkę, który wgrywam przez fabrycznego bootloadera. Testy nowych funkcji robiłem na płytce ZL31ARM z wbudowanym ST-Linkiem. Na procesorze docelowym potrzebowałem piny przeznaczone domyślnie na JTAGa do innych celów, więc wyłączyłem go zmieniając rejestr funkcji alternatywnych. Oczywiście za którymś razem zapomniałem zmienić programu wgrywanego na płytkę testową i teraz JTAG nie chce nawiązać połączenia z stmem. Stąd moje pytanie czy można w jakiś sposób włączyć tego JTAGa z powrotem.

    Według datasheeta po resecie procesora JTAG zawsze jest aktywny. Dlatego myślałem, że programowanie będzie możliwe tym bardziej, że jtag ma wyprowadzony również pin reset. Jednak każda próba kończy się errorem:

    (TARGET_RESET_ERR) Failed to initialize target.

    Dodam, że używam TrueStudio.

    Próbowałem też dostać się do pinu boot0, żeby przeprowadzić programowanie przy pomocy bootloadera. Jednak jest on na stałe zwarty do masy. Próbowałem nożem przeciąć połączenie z masą, żeby dało się podać na ten pin "1", ale na razie mi nie wychodzi. Wiem jednak, że wgranie programu przy pomocy bootloadera na tą płytkę jest możliwe, bo znalazłem pdfa z jakimś kursem, gdzie niby im się udało wykorzystać bootloader.

    http://onyks.hosting.polibuda.info/index.php/projekty/kurs-arm/s07-obsluga-pamieci-flash

    w pdfie z tego linka na stronie 14 są dwa zdjęcia zmodyfikowanej płytki.

    Jeżeli ktoś wie jak odblokować STMa z tej płytki to bardzo prosił bym o pomoc.

    0 3
  • #2 29 Kwi 2012 21:05
    kemot55
    Poziom 30  

    Raczej ST-Linkiem tego procesora wprost nie podniesiesz. Nawet jak wymusisz reset i ST-link zacznie komunikację to za chwilę mądrala zrobi reset JTAGowy (programowy) i wszystko pójdzie na spacer. Spróbuj innego programatora np. "ulinka" lub "jlinka". Pozostają też piny Boot (tak jak pisałeś), ale przy rastrze 0.5mm to trzeba mieć trochę wprawy żeby to przełączyć. Nie musisz szukać bootloadera. Wystarczy, że procesor nie będzie próbował startować z flash'a a dalej to już STLINK sobie poradzi.

    0
  • #3 29 Kwi 2012 22:23
    browarinho
    Poziom 10  

    Udało mi się jakoś dostać do tych pinów od boota i zgodnie z podpowiedzią ruszyłem z ramu. Uruchomił się debugger i teraz da się normalnie programować. Dzięki za pomoc. Jednak jak by ktoś zdradził mniej inwazyjny sposób odblokowania takiego procka to był bym bardzo wdzięczny. W dokumentacji stlink utility znalazłem info o opcji "connect under reset" w SWD, która ma umożliwiać łączenie się z prockiem z nieaktywnymi pinami. Nie wiem dlaczego w jtagu tej opcji użyć nie można.

    0
  • #4 29 Kwi 2012 22:37
    gaskoin
    Poziom 38  

    Powinno się dać, JTAG też ma swój pin reset, który blokuje wykonywanie się kodu (gdy pin = 0) Chyba, że w st-linku o tym nie pomyśleli :)

    0
TME logo Szukaj w ofercie
Zamknij 
Wyszukaj w ofercie 200 tys. produktów TME
TME Logo