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.

AT91SAM7S dziwne zachowanie, flash, JTAG, ERASE

kleki 24 Kwi 2007 18:17 1246 4
  • #1 24 Kwi 2007 18:17
    kleki
    Poziom 28  

    Dziwna (jak dla mnie, póki co) sprawa z µP jak w temacie. Mam JTAG Wiggler pod LPT. Wszystko "śmigało" jak trzeba. Bawię się w wolnych chwilach w programowanie mikrokontrolerka. Ostatnio trochę przerwy, więc zabrałem zestaw DIY do pracy. Podpinam wszystko do zasilania, komputera. Próba załadowania flasha działającym programem i niespodzianka - "verification error". Wszystko dobrze, wcześniej też były błędy, ale wszystko dziłało. Teraz porównuję plik wynikowy z tym, co udało się zczytać z flasha i okazuje się, że w mikrokontrolerze są same zera... Już miałem poskładać zabawki, ale spróbowałem jeszcze raz podać Vdd na ERASE. Bingo! Zadziałało, mogę ładować prg. Moje pytanko do lepszych znawców tematu - co zrobiem nie tak? Gdzie jest burek pogrzebany? Ładowałem program z takimi samymi ustawieniami w środowisku (CrossWorks), w sumie tylko wykasowałem hardware'owo flasha... (przynajmniej wydaje mi się, że właśnie to zrobiłem). JTAG-owi przysługuje jakiś loader w pamięci mikrokontrolera?
    Pojawia mi się taki komunikat
    "Downloading Loader.exe to Macraigor Wiggler (20 Pin)", więc wnioskuję, że coś tam trafia do flasha oprócz "właściwego" programu.
    Jeszcze jedna sprawa, taka nieduża - jak dokłądnie przprowadzić całkowite "czyszczenie" mikrokontrolera? Podaję Vdd na ERASE i tyle, czy podpiąć ERASE do Vdd, załączyć zasilanie, zdjąć zasilanie i odłączyć ERASE od Vdd... A może jeszcze jakoś inaczej? Jak to zrobić poprawnie i pewnym sposobem?

    pzdr

  • #2 24 Kwi 2007 18:33
    elektromarek
    Poziom 11  

    hej :)
    W crossstudio masz opcje kasowania :erase all lub range (zakres pamięci) - znajduje sie to w menu wigglera (prawy przycisk). Co do błędów, też to miałem, ja się łącze z wigglera 14 pin mimo że fizycznie mam 20sto pinowca

  • #3 24 Kwi 2007 19:04
    kleki
    Poziom 28  

    Nie, nie - ja kasowałem flasha przez podanie wysokiego stanu na nóżke mikrokontrolera. Wiem - po JTAG-u da się wysłać rozkaz kasowania flasha, ale nie wiem na ile to skuteczne, tzn. czy kasuje również ten domniemany loader, bity NVM (coś takiego znalazłem w dokumentacji).

    Mówisz, że podając rozkaz po JTAG-u to wszystko wróci do punktu wyjścia? Jak to jest dokładnie?

    pzdr

  • #4 24 Kwi 2007 19:17
    elektromarek
    Poziom 11  

    Dokładnie... to mogą wiedziec tylko projektanci z atmela :D a Ci z Rowleya to sami do końca nie wiedzą co stworzyli, na własnej skórze sie przekonuje o tym- jestem stąłym bywalcem ich serwisu internetowego :cry: Prawde mowiąc nie sprawdzałem jak głeboko sięga to "erase", możesz sprawdzić zawartośc flasha po kasowaniu, ale z tymi bitami to trudno wyczaić. A tak wogóle co one robią ? to są te od blokady stronic flasha?
    A ten loader rezyduje w SRAMie wiec jest tymczasowy i szybko ginie (pisałem Ci dzis w mailu i w poście tutaj)

  • #5 24 Kwi 2007 19:38
    kleki
    Poziom 28  

    Ponoć NVM-y mają właśnie blokować dostęp do flash-a, więc jestem również zainteresowany ich kasowaniem. :-) Wiadomo, jak zablokujesz klocek podczas zabawy, to fajno jest móc go "zczyścić" do zera. :-)

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