logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

ATMEGA8 – brak możliwości zapisu flash i fuse, odczyt działa, błąd weryfikacji lfuse/hfuse

Kabuto15 13 Wrz 2007 13:50 3986 6
REKLAMA
  • #1 4279119
    Kabuto15
    Poziom 19  
    Posty: 336
    Pomógł: 30
    Ocena: 5
    Mam nastepujacy problem. Nie moge zaprogramowac jednej z Atmeg8. Korzystam z programatorow STK200 i USBASP (zazwyczaj korzystam z usbasp, ale w razie watpliwosci uruchamiam stk-a).
    Problem wyglada nastepujaca. Nie moge zmienic fusebitow, ani wrzucic nic do flasha mojej atmegi. Lockbitow nie zmienialem (wszystkie 11).
    Moge zczytac sygnature oraz ustawienia fusow, ale nie moge ich inaczej konfigurowac.
    W avrdude probujac wgrac cos do flasha wyskakuje komunikat o bledzie weryfikacji lfuse i hfuse. Probujac zmienic lfuse i hfuse rowniez wyskakuje taki komunikat. Po takich zabiegach musze wypiac programator odlaczyc zasilanie procesora i wszystko wraca do normy.

    W bascomie w zakladce lock/fuse bits moge odczytac bity konfiguracyjne, ale po ich zmianie i zapisie (write fs) procesor nie odzywa sie. Co ciekawe po restarcie zasilania wraca do poprzedniego stanu.

    Dla jasnosci. Kwarc 12MHz (lfuse: 0xef, hfuse: 0xc9). Zasilanie dobrze stabilizowane. Inne Atmegi w takiej samej konfiguracji sprzetowej programuja sie. Lock bity nie ruszane, programowanie SPI wlaczone, pin PC6 ustawiony jako pin resetu.
    Moim podejrzeniem jest ze ten procesor padl, ze wzgledu na duza ilosc zapisow na nim. Nie jestem w stanie powiedziec jak duza, ale byc moze nawet >10000. Co sadzicie na ten temat? Pozdrawiam.
  • REKLAMA
  • #2 4279308
    bvr
    Poziom 14  
    Posty: 175
    Pomógł: 3
    Ocena: 67
    Miałem kiedyś podobnie zablokowany procesor. Teoretycznie mógłby pomóc programator równoległy (wysokonapięciowy), w moim przypadku jednak nie zadziałał. Według mnie czas który poświecisz na dochodzenie i próby nie jest wart tych kilku złotych za nowy układ.
  • REKLAMA
  • #3 4279460
    Jdsoul
    Poziom 23  
    Posty: 501
    Pomógł: 47
    Ocena: 10
    Cześć jeśli odczytujesz sygnaturę tzn. że komunikacja po SPI jest ,
    czy próbowałeś skasować atmegę na zero :)

    I czy możesz odczytać biedaczkę bit po bicie :) zobaczyć co ma na serduszku po reseciku powinna mieć same 1.

    Zauważyłem na nieco innym procku Atmela jakieś błędy w budowie pamięci flash ponieważ na moim programatorze poprawne zaprogramowanie procesorków uzyskuję co któreś programowanko :)
    Niesamowicie pomaga co któreś programowanie zaprogramowanie czystej pamięci tz. pliku o pełnej pojemności pamięci wewnętrznej złożonej z samych FFh. Teoretcznie powinno to samo zadziałać po ERASE ale czasem jest inaczej - w końcu to tylko fizyka :)

    Spróbuj ...

    Dodano po 30 [minuty]:

    A co do ilości zapisów :( to nie ma paniki ten , jeden z procków AT89C2051 eksploatuje już w celach doświadczalnych ze cztery lata i ciągle daje się zapisać i odczytać, a cykli :) :) :) że ho ho...

    Dodano po 4 [minuty]:

    Nawet do 100 w jednej sesji , bo nie lubie debugować softwarowo oprogramowania , ze względu na wygodę łatwiej jest zaprogramować układ i zobaczyć jak to działa :) to takie minusy technologii flash, Jak były EPROMY kasowalne ultra fioletem to się człowiek 5 razy zastanowił i wszystko sprawdził zanim zaczął programowanie :)
  • #4 4280923
    Kabuto15
    Poziom 19  
    Posty: 336
    Pomógł: 30
    Ocena: 5
    Jdsoul napisał:

    czy próbowałeś skasować atmegę na zero :)

    Tak wszelkie próby zapisu (skasowania/erasowania) zakończone niepowodzeniem.
    Jdsoul napisał:

    I czy możesz odczytać biedaczkę bit po bicie :)

    Tak. Atmega daje sie zczytywac. I wszystko wygląda OK.

    Jdsoul napisał:

    Zauważyłem na nieco innym procku Atmela jakieś błędy w budowie pamięci flash ponieważ na moim programatorze poprawne zaprogramowanie procesorków uzyskuję co któreś programowanko :)


    Kiedyś również miałem podobne problemy. Pomogło skrócenie przewodów łączących programator z procesorem, bliskość kwarca itd. Wymagane też były dokładne luty i połączenia. Nie wydaje mi się żeby to była wina pamięci flash.

    Jdsoul napisał:

    Jak były EPROMY kasowalne ultra fioletem to się człowiek 5 razy zastanowił i wszystko sprawdził zanim zaczął programowanie :)


    Oczywiście przy kasowaniu epromów zastanawiające są aspekty medyczne ;)

    Podsumowując, atmege uznam za niezdolną do pracy. Nie mam programatora równoległego, być może w przyszłości sprawdzę ją również pod tym kątem.
  • REKLAMA
  • #5 4281917
    Jdsoul
    Poziom 23  
    Posty: 501
    Pomógł: 47
    Ocena: 10
    Masz rację :) co do budowy programatora:) był zrobiony amatorsko i pracował w oparciu o czasy generowane przez port równoległy komputera, więc może jego jakość była nieszczególna i być może Atmela pomówiłem, za co kolegów z góry przepraszam ;) [eszcze mnie CBcoś ścigać będzie :(]

    Co zaś do Atmegi :) możesz sobie w sumie darować programator równoległy, bo z noty wynika że dość łatwo ją wprowadzić w stan kasowania. Odpowiednie piny i 12V oraz 5V podane w odpowiedniej kolejności na odowiednie wejścia , a i jeszcze jeden pin do +5V i reszta do masy. i masz chip ERASE.

    Problemem mogą być co najwyżej zależności czasowe, ale można zastosować prosty impulsator monostabilny na 74121 i uzyskać te 6 100ns impulsów sterując portem LPT. W sumie to czas poświęcony na budowę programatora dość szybko się zwraca :), jak toś nie lubi bawić się emulatorami :)

    Zbudowałem kiedyś takie cuś na czterech PCF8574 i dwóch stabilizatorkach, dodałem sterowanie z portu LPT (i2c + kilka pinów na 7417) i teraz w bardzo krytycznych sytuacjach żaden "rzadki" procesor i pamięć nie jest straszna:) no chyba, że któryś producent wymyśli jakieś "swoje" napięcie programowania , lub stwoje "specjalne" tryby wprowadzania procesora w tryb programowania :) silnie zależne czasowo:(

    Oczywiście nie nazywałbym tego programatorem, a raczej wyrobem programatoropodbnym , żadnych podstawek , za każym razem na nowo pisany soft pod DOS zgodnie ze specyfikacją układu itd obsługa tylko plików bin.

    Do PonyProg to moja zabawka się nigdy umywać nie będzie :( jest to urządzenie do zadań "bardzooo" specjalnych.

    Ma tylko jedną zaletę :) mam je do wyłącznego użytku i nie muszę prosić producenta o aktualizację softu:), a obsługuje zapis, veryfikacje i odczyt oczywiście w zakresie udostępnionym przez producenta.

    A co do aspektów medycznych kasowania pamięci EPROM to jest całkiem banalna metoda :) :) :) :) :) zostawić niezaklejone okienko pamięci na kilka dni (około 7-8 ) na bezpośrednim słoneczku, nie przez szybę oczywiście.
    Mogę prawie zagwarantować , że ze 30% produkowanych EPROMów się podda, niepokorne trzeba będzie jednak potraktować profesjonalnym kasownikiem około 5h.
  • REKLAMA
  • #6 4282247
    Kabuto15
    Poziom 19  
    Posty: 336
    Pomógł: 30
    Ocena: 5
    Jdsoul napisał:

    ... zostawić niezaklejone okienko pamięci na kilka dni (około 7-8 ) na bezpośrednim słoneczku, nie przez szybę oczywiście.
    Mogę prawie zagwarantować , że ze 30% produkowanych EPROMów się podda, niepokorne trzeba będzie jednak potraktować profesjonalnym kasownikiem około 5h.


    Musze ten pomysł podsunąć znajomemu. Do dziś nie może skasować eproma nawet za pomocą lampy, a już kilka modeli wypróbował ;) I z tego co wiem, chyba już zaniechał tych prób.
  • #7 4282781
    Jdsoul
    Poziom 23  
    Posty: 501
    Pomógł: 47
    Ocena: 10
    Co zrobisz opala, grzeje i rurki z PCV kruszy na miazgę to i z skasowanie EPROMA poradzi.:) Kochane słoneczko :)

    Dodano po 6 [minuty]:

    Chodzi o konkretną częstotliwość fal UV którą przepuszcza to nieszczęsne okienko oraz o czas ekspozycji. Światło dzienne jest szerokopasmowe, zaś różne kwarcówki są poza pasmem szybki, stąd problemy szanownego kolegi, ale jest prosty sposób na zbudowanie kasownika :)
    Bierzemy żarówkę jarzeniową do zastosowań w oświetleniu w lampach zewnętrznych taką do instalacji ulicznych. Owijamy kilkoma warstawmi jakiego materiału tkaniny foli i prbujemy delikatnie stłuc szkło zewnętrzne z luminoforem :)
    W środku jest drugi żarnik , który jest niczym innym jak pożądaną przez naś kwarcówką z "korzystnym" zakresem fal :) Podłączamy do gniazda zasilanie i mamy świetny 150W kasownik, tylko należy do niego wykonać szczelną obudowę z chłodzenie i nie włączać conajmniej bez ciemnych okularów bo za efekty działania UV na oczy nie ręczę.

    Dodano po 1 [minuty]:

    Świetnie nadaje się również do Positivu do obróbki płytek PCB :)

Podsumowanie tematu

✨ Problem dotyczy programowania mikrokontrolera ATmega8, gdzie możliwy jest odczyt sygnatury i fusebitów, lecz zapisu do pamięci flash oraz zmiany fusebitów (lfuse, hfuse) nie da się przeprowadzić z powodu błędów weryfikacji. Używane programatory to STK200 i USBasp. Próby zapisu kończą się błędami, a po odłączeniu zasilania i programatora mikrokontroler wraca do poprzedniego stanu. Zasilanie jest stabilne, kwarc 12 MHz, fusebity ustawione na lfuse: 0xEF, hfuse: 0xC9. Wskazano, że problem może wynikać z jakości połączeń, długości przewodów programatora, bliskości kwarcu oraz ewentualnych uszkodzeń mikrokontrolera. Sugerowano użycie programatora wysokonapięciowego (równoległego) do kasowania mikrokontrolera, choć w praktyce może to być nieopłacalne. W dyskusji pojawiły się także porady dotyczące programowania pamięci flash poprzez wielokrotne zapisywanie pełnej pamięci (wypełnionej 0xFF) oraz metody fizycznego kasowania EPROM-u za pomocą lamp UV o odpowiedniej długości fali i czasie ekspozycji. Wskazano również na możliwość problemów z czasowaniem sygnałów programatora i konieczność precyzyjnego sterowania impulsami programującymi.
REKLAMA