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

[ATmega32L-8AU][avrdude] Verification error

gelmi 12 Gru 2009 13:06 3138 2
REKLAMA
  • #1 7378022
    gelmi
    Poziom 10  
    Witam
    Mam Atmege32L. Programuję ją przez avrdude. Hex wgrywa się na wewnętrznym 1MHz i program działa. Jednak gdy zmieniam fusebity na zewnętrzny kwarc 8MHz:

    avrdude.exe -p m32 -c usbasp -U hfuse:w:0xD9:m -U lfuse:w:0xEE:m


    to przy próbie wgrania hexa pojawia mi się "verification error" już na pierwszym bajcie.
    Atmega nie jest zablokowana, bo mogę zmienić fusebity na domyślne za pomocą avrdude:

    avrdude.exe -p m32 -c usbasp -U hfuse:w:0x99:m -U lfuse:w:0xE1:m


    i znowu można wgrywać hexa.

    Kwarc jest podpięty 8MHz i cap 22p. Zmieniałem już kilka kwarców 8MHz (niskie, wysokie) i kondensatory z przedziału 22p-33p - przewlekane i smd. Zwarć na liniach XTAL nie ma. Niestety nie mogę sprawdzić zegara oscyloskopem. Programator to usbasp.
    Jakieś pomysły?


    Zapomniałem dodać, że jeżeli mam fusebity na 1 MHz i zaprogramuje na mruganie diodą co 8 sek i zmienię potem fusebity na kwarc 8 MHz to mruga mi co 1 sek. Tylko, że wtedy nie mogę zaprogramować ponownie atmegi, tylko muszę wrócić na 1 MHz i dopiero wtedy się udaje. Zworę "Slow" na programatorze usbasp mam cały czas włożoną.
  • REKLAMA
  • #2 7378497
    mirekk36
    Poziom 42  
    Ja nigdy takich problemów nie zauważyłem z USBASP a sporo go używam.

    Jedno co mi przychodzi do głowy to po pierwsze po co dajesz w ogóle zewnętrzny kwarc - skoro masz wewn oscylator 8MHz (ale ok to nie jest jakby tematem tego postu)

    Po drugie - daj dowolny kwarc i w ogóle nie dołączaj żadnych kondensatorów ;) żadnych ani 22pF ani 33pH - po prostu żadnych ;)

    po kolejne to po co zadajesz takie zagadki - typu ustawiam kwarc 8MHz za pomocą

    0xD9 oraz 0xEE

    czy nie lepiej byłoby dla ciebie gdybyś opisał jaką opcję wybierasz dla CKSEL ???? a tak trzeba sobie odszyfrowywać

    Jednak z tej deszyfracji wynika mi , że 0xD9 to właśnie twój pierwszy ZONK bo ustawiasz o ile się nie mylę:

    Cytat:
    Ext. Low-Freq. Crystal; Start-up time: 1K CK + 64 ms; [CKSEL=1001 SUT=01]


    może w ten sposób podpowiadaj ludzi0m co ustawiasz mniej więcej gdy pytasz - wtedy będzie szybciej i łatwiej coś podpowiedzieć. Ale ok - wybierasz właśnie kozią wartość CKSEL ;)

    dla kwarcu 8MHz spokojnie możesz ustawić CKSEL na 1111 i SUT na 11
    czyli:

    Cytat:
    Ext. Crystal/Resonator High Freq.;


    skoro już także programujesz CKOPT. A skoro programujesz CKOPT to tym bardziej powinieneś dać sobie spokój z kondkami przy kwarcu ;)

    Zresztą może to ci się kiedyś przyda dla zabawy z fusebitami i nie tylko przy AVRach

    https://www.elektroda.pl/rtvforum/topic1354542.html
  • #3 7381308
    gelmi
    Poziom 10  
    Problem rozwiązany, nie wiem dlaczego ale po wymianie kabla mogę zaprogramować atmege na większej szybkości.

    Dzięki za odpowiedź. W sumie to nie chciałem dawać zagadek, tylko po prostu jak bym pisał które bity ustawiam, to zaraz by ktoś się zapytał czy na pewno dobrze przeliczyłem na hexa :) Fusebity są dobre i sprawdzone, nie trzeba nic zmieniać. Kwarc dałem z tego względu, że niedługo będę go zmieniał na płytce na inny, żeby dobrać odpowiedniego baud'a do uarta, a w domu miałem tylko 8 i 16. Bez kondensatorów nauczony doświadczeniem wiem, że nie zawsze kwarc zaskoczy.

    Pozdrawiam i zamykam temat.
REKLAMA