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

Atmega128 - błędy weryfikacji flasha przy programowaniu USBASP

sundayman 10 Paź 2014 01:57 1185 3
  • #1 14029565
    sundayman
    Poziom 26  
    Urządzenie z atmegą 128.

    Programuję sobie z użyciem MkAvr Calculatora (bo wygodny), albo np. SinaProg oraz programatora USBASP.

    No i od czasu do czasu zdarza się, że coś się przy programowaniu wywali, po czym oczywiście atmega przestaje dawać oznaki życia.

    Zatem za pomocą zestawu program + kabelek do LPT + generator 4Mhz stawiam atmegę na nogi. Znaczy resetuję fusy. (tutaj zapodany program dosowy i schemat kabelka ; http://www.edaboard.com/thread131804.html)

    Następnie wracamy do SinaProga - atmega się zgłasza, ustawiam ponownie fusy poprawnie.

    Wydaje się, że będzie dalej OK.
    Ale nieeeeee - programowanie flasha wywala przy weryfikacji błędy.
    Programowanie eeprom - ok.

    I tak sobie próbuję n-razy ten flash zaprogramować. Zawsze błąd weryfikacji. Po którymś razie - wywala się AVRDUDE, i atmega znowu wylatuje w kosmos. Znaczy fusy się znowu chrzanią.

    I tak można się bawić w kółko macieju.

    Mógłbym podejrzewać, że USBASP coś nie halo - ale jak wymienię atmegę na nową - będzie ok. (przerabiałem to).


    ostatnie wywalenie zrobiłem z MkAVrCalculator, i przy programowaniu flasha miałem włączony podglad AVR DUDE.

    I tenże mi wyświetlił na koniec programowania, że fusy zostały zmienione ; znaczy poprzednio była jakaś wartość (np. 3F) a teraz 00, i czy chcę przywrócić poprzednie wartości y/n.

    Oczywiście dałbym Yes, ale to okienko podglądu w MkAvrCalculator nie jest responsywne, więc oczywiście d..a blada i atmega padła.

    Ale - ważniejsze jest, że wygląda na to, że podczas programowania są czasem zmieniane wartości fusów i to jest ciekawe.

    Może ktoś mi to wyjaśnić, co się dzieje ?
    Raz, skąd się mogą brać te błędy przy programowaniu, a jeszcze ciekawsze - jakim że to cudem nie można po postawieniu atmegi na nogi poprawnie zaprogramowaniać flasha ?
  • #2 14029626
    sibit.pl
    Poziom 12  
    Czy częstotliwość programowania ISP nie jest przypadkiem za wysoka ?
    Przypominam iż częstotliwość SCK powinna być mniejsza niż 1/4 częstotliwości taktowania mikrokontrolera.
    Cytat:
    Zatem za pomocą zestawu program + kabelek do LPT + generator 4Mhz stawiam atmegę na nogi. Znaczy resetuję fusy.

    Czy na pewno są całkiem zresetowane ? Może przypadkiem jakiś lockbit zostaje.
    Źródłem tego rodzaju przygód może być również programator ;).
    Pozdrawiam.
  • #3 14030169
    tmf
    VIP Zasłużony dla elektroda
    Najpewniej jednak przyczyną jest złom pt. USBASP. Tam masz niebuforowane wyjście, przy dłuższej taśmie łączącej programator z programowanym układem pojawiają się zakłócenia, lub rozsynchornizowuje się transmisja i dzieją się cuda. Przede wszystkim skróć taśmę łączącą (10-15 cm to max nawet w przypadku firmowych, buforowanych programatorów Atmela), jeśli masz dostęp to sprawdź jak idzie programowanie na porządnym programatorze. Oczywiście zawsze warto sprawdzić połączenia, masy itd.
  • #4 14030985
    sundayman
    Poziom 26  
    Hm, sprawa z flashem się wyjaśniła. Nieco :)
    Otóż winny był avrdude. Korzystanie z ostatniej aktualnej wersji dała właśnie taki efekt. Dlaczego ? Nie mam pojęcie.

    Użycie starszej spowodowało, że program dało się zapisać poprawnie.

    Natomiast pozostaje zagadka, dlaczego od czasu do czasu przy programowaniu wywalają się fusy. I tutaj jestem gotów przyjąć, że USBASP nie jest specjalnie "bezpieczny". Kabelek mam o długości ok. 40 cm - więc może rzeczywiście za długi...
REKLAMA