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

Arduino Duemilanove - błąd przy programowaniu

Bartek.k.k 22 Maj 2011 18:58 19979 40
REKLAMA
  • #1 9533491
    Bartek.k.k
    Poziom 21  
    Witajcie, dostałem od znajomego wyżej wymienione arduino lecz jest z nim jeden problem. Przy próbie zaprogramowania wysypuje błąd:

    avrdude: stk500_getsync(): not in sync: resp=0x00
    avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51


    Jak się dowiedziałem ten błąd występuje odkąd znajomy wyciągnął Atmege z podstawki i wsadził. Od tamtej pory nie chcę się zaprogramować. Do tego mogę dodać iż diody, które podczas programowania powinny migać leciutko migają. Pozdrawiam Bartekk!
  • REKLAMA
  • #2 9533597
    polprzewodnikowy
    Poziom 26  
    Może bootloader w ATmedze się "wysypał"? Zaprogramuj uC zwykłym programatorem.
  • REKLAMA
  • #3 9533620
    Bartek.k.k
    Poziom 21  
    Wszystko na to wskazuje. Wrzuciłem do Atmegi8 bootloader, ale niestety jest ona taktowana na zewnętrzny kwarc 11.059200 MHz, a w arduino jest 16mhz i nie wiem jak przetaktować atmege na 16mhz w programie mkAVRCalculator.

    Dodano po 22 [minuty]:

    Witam ponownie, bootloader wrzucony do Atmegi8 z taktowaniem 16mhz i dalej wywala ten sam błąd. Jedynie co się poprawiło to to, że dioda miga pełną mocą.

    Dodano po 26 [minuty]:

    Doszedłem teraz do tego błędu:
    avrdude: verification error, first mismatch at byte 0x0000
             0x3f != 0xff
    avrdude: verification error; content mismatch
  • #4 9534058
    mirekk36
    Poziom 42  
    wyłącz weryfikację podczas programowania fusebitów no i wyłącz w ogóle programowanie LockBitów - po co je męczysz ? ;) na tym etapie ... to stąd masz ten błąd powyżej. Jak wyłączysz Programowanie Lockbitów to i ten błąd zniknie
  • REKLAMA
  • #5 9535723
    Bartek.k.k
    Poziom 21  
    Zajme sie tymi fusebitami, gdy bede w domu. Przy okazji, jakim programem oprocz mkavrcalculator moge wrzucic bootloader do atmegi168? Ponyprog odpada, bo nie umiem sie nim poslugiwac i nie mam polaczenia z atmega


    PS Przepraszam za brak polskich znakow, lecz pisze z telefonu.
  • #6 9536004
    piotrva
    VIP Zasłużony dla elektroda
    A jaki masz programator? Korzystasz z tego na ft232rl na płytce arduino?
    Wiem, że podobno chodzi pod AVRDude, ale sam nie testowałem z braku takiej potrzeby (kilka programatorów ISP na stanie).
  • #7 9536035
    Bartek.k.k
    Poziom 21  
    Posiadam rowniez USBASP. Pozdrawiam
  • #9 9536231
    Bartek.k.k
    Poziom 21  
    piotrva napisał:
    To wrzuć przez AVRDude i USBASP ;-)


    Przez czystego avrdude nie dam rady, chyba że przez jakąś nakładkę graficzną.

    Dodano po 6 [minuty]:

    Niestety po wyłączeniu weryfikacji i nie programowaniu lock bitów dalej wyświetla się ten błąd:

    avrdude: verification error, first mismatch at byte 0x0000
             0x3f != 0xff
    avrdude: verification error; content mismatch
  • #10 9537391
    mirekk36
    Poziom 42  
    Bartek.k.k napisał:
    piotrva napisał:
    To wrzuć przez AVRDude i USBASP ;-)


    Przez czystego avrdude nie dam rady, chyba że przez jakąś nakładkę graficzną.


    eeeeh tam ;) dałbyś radę i bez nakładki graficznej - ale faktem jest że podając polecenie programowania z avrdude tak wprost z linii poleceń łatwo o pomyłkę i można odesłać nie jeden procek do "krainy wiecznych łowów" ;)

    Dodano po 6 [minuty]:

    Bartek.k.k napisał:
    Niestety po wyłączeniu weryfikacji i nie programowaniu lock bitów dalej wyświetla się ten błąd:

    avrdude: verification error, first mismatch at byte 0x0000
             0x3f != 0xff
    avrdude: verification error; content mismatch


    Pokaż może screenshot z programu - tuż przed wciśnięciem klawisza do programowania procka - bo coś chyba totalnie źle robisz???
  • #11 9537420
    Bartek.k.k
    Poziom 21  
    Ja posłałem 1 atmege w wieczny odpoczynek przez urwanie kilku nóżek :/ Wyginają się strasznie jak je wyciągam z płytki stykowej.

    Arduino Duemilanove - błąd przy programowaniu

    Proszę. Pozdrawiam Bartekk!
  • #12 9537485
    janbernat
    Poziom 38  
    Bo się delikatnie podważa układ wąskim śrubokrętem najpierw z jednej strony, potem z drugiej i tak parę razy.
    Oczywiście po odłączeniu zasilania.
  • Pomocny post
    #13 9537526
    mirekk36
    Poziom 42  
    Najpierw zawsze zaprogramuj sobie poprawnie Fusebity w JEDNEJ OPERACJI - np na zewnętrzny kwarc

    A dopiero POTEM w kolejnej operacji wgraj wsad HEX

    po co robisz to jednocześnie ??? wprawdzie to nie musi sprawiać błędu - ale sam sobie wydłużasz cały proces a nieraz nawet masz błąd programowania bo nie przestawiasz programowej zworki SLOW_SCK o której już pisałem....

    Jeszcze raz przypomnę, gdy kupujesz procka z fabryki to taktowany jest on z wewn. oscylatora 1MHz. Wtedy warto rozwinąć to pole "Slow SCK" i ustawić na 4 pozycję od góry. Następnie przestawić fusebity na kwarc zewnętrzny i zaprogramować fusebity ! tylko fusebity!

    od tego moemntu procek śmiga już szybciej

    wtedy wykrywasz jeszcze raz procka, wyłącza ci się to programowe "Slow SCK" i wtedy wybierasz wsad do wgrania. Zaleta jest taka że teraz wgrywa ci się on dużo szybciej

    Poza tym wszystkim to robisz i tak błąd, i nawet jak zaprogramujesz poprawnie wsadem procka to nadal nie będzie działał ci bootloader bo fusebity masz ustawione tylko CKSEL do zmiany taktowania. A w ogóle nie masz ustawionych fusebitów:

    BootFlash section size

    oraz

    Boot Reset Vector Enabled

    -----------------------------------------------

    ale to jeszcze NIC !!!! najgorsze co robisz to - to wyciąganie procka o którym piszesz i połamanie mu nóg.

    No coś ty!!! masz możliwość programowania ISP a ty wyciągasz procka i przekładasz do jakiejś tam kociej podstawki programatora??? czyli na własne życzenie uwsteczniasz się do średniowiecza ??? ;)

    przecież możesz bez problemu włożyć wtyczkę programatora do płytki stykowej i ani razu go nie wyciągać żeby przeprogramować. Ja nigdy w życiu jeśli chodzi o AVR'y - podkreślami NIGDY ! - nie wyjmuję procka żeby go zaprogramować z żadnego układu. Czy to płytka stykowa czy gotowy układ. Zawsze na płytce mam złącze żeby to do niej podłączyć programator.

    I tobie też to proponuję - bo tak to jeszcze nie jednego uśmiercisz wyłamując mu nogi....

    a przecież jeszcze pouśmiercasz ich parę gdy zaczniesz programować Fusebity np samym AVRDUDE i coś ci się pomyli .... tzn nie życzę ci tego broń boże ..... i oby nigdy to nie miało miejsca....
  • #14 9537703
    Bartek.k.k
    Poziom 21  
    mirekk36 napisał:
    Najpierw zawsze zaprogramuj sobie poprawnie Fusebity w JEDNEJ OPERACJI - np na zewnętrzny kwarc

    A dopiero POTEM w kolejnej operacji wgraj wsad HEX

    po co robisz to jednocześnie ??? wprawdzie to nie musi sprawiać błędu - ale sam sobie wydłużasz cały proces a nieraz nawet masz błąd programowania bo nie przestawiasz programowej zworki SLOW_SCK o której już pisałem....

    Jeszcze raz przypomnę, gdy kupujesz procka z fabryki to taktowany jest on z wewn. oscylatora 1MHz. Wtedy warto rozwinąć to pole "Slow SCK" i ustawić na 4 pozycję od góry. Następnie przestawić fusebity na kwarc zewnętrzny i zaprogramować fusebity ! tylko fusebity!

    od tego moemntu procek śmiga już szybciej

    wtedy wykrywasz jeszcze raz procka, wyłącza ci się to programowe "Slow SCK" i wtedy wybierasz wsad do wgrania. Zaleta jest taka że teraz wgrywa ci się on dużo szybciej

    Poza tym wszystkim to robisz i tak błąd, i nawet jak zaprogramujesz poprawnie wsadem procka to nadal nie będzie działał ci bootloader bo fusebity masz ustawione tylko CKSEL do zmiany taktowania. A w ogóle nie masz ustawionych fusebitów:

    BootFlash section size

    oraz

    Boot Reset Vector Enabled

    -----------------------------------------------

    ale to jeszcze NIC !!!! najgorsze co robisz to - to wyciąganie procka o którym piszesz i połamanie mu nóg.

    No coś ty!!! masz możliwość programowania ISP a ty wyciągasz procka i przekładasz do jakiejś tam kociej podstawki programatora??? czyli na własne życzenie uwsteczniasz się do średniowiecza ??? ;)

    przecież możesz bez problemu włożyć wtyczkę programatora do płytki stykowej i ani razu go nie wyciągać żeby przeprogramować. Ja nigdy w życiu jeśli chodzi o AVR'y - podkreślami NIGDY ! - nie wyjmuję procka żeby go zaprogramować z żadnego układu. Czy to płytka stykowa czy gotowy układ. Zawsze na płytce mam złącze żeby to do niej podłączyć programator.

    I tobie też to proponuję - bo tak to jeszcze nie jednego uśmiercisz wyłamując mu nogi....

    a przecież jeszcze pouśmiercasz ich parę gdy zaczniesz programować Fusebity np samym AVRDUDE i coś ci się pomyli .... tzn nie życzę ci tego broń boże ..... i oby nigdy to nie miało miejsca....


    Nie wiem jak Panu dziękować. Arduino śmiga niczym Polskie koleje. Dziękuje gorąco wszystkim, którzy pomogli mi w uruchomieniu arduino. Oczywiście "Pomógł" leci. Teraz pytanie, jakim programem postawić na nogi atmege168? Pozdrawiam Bartekk!
  • #15 9537770
    mirekk36
    Poziom 42  
    Spróbuj do tej ATmega168 podłączyć zewnętrzny kwarc np 8MHz - jeśli nie będzie z nią kontaktu to spróbuj podłączyć do nóżki XTAL1 zewnętrzny oscylator RC (czyli kondek 22pF oraz rezystor 2,2K) Tzn kondek od VCC do rezystora a druga noga rezystora do GND. Nóżke XTAL1 do miejsca gdzie łączy się rezystor z kondkiem .

    To może zadziałać jeśli niechcąco fusebity przestawiłeś na zewn oscylator RC

    jeśli nie zadziała to poszukaj sobie w necie jak zrobić najprostszy generatorek TTL (ze dwie bramki i nawet bez kwarca - nawet żeby generował jakieś kilkadziesiąt do kilkuset kHz) - i też podaj to na XTAL1 z wyjścia bramki TTL ....

    Jak to nie pomoże no to masz większego ZONKA - i już będziesz musiał sobie np złożyć FuseDoktora (układ) kolegi manekinen - poszukaj na forum na pewno znajdziesz ;)
  • #17 10379582
    pracz2
    Poziom 13  
    Ja również mam problem z Bootloader tylko w arduino uno "2".
    Posiadam programator vp-390 wellon i za jego pomocą chciałbym wgrać boot'a ale jak bym tego nie robił to nie chce mi działać. Programowana kość to atmega 328P hex do niego to optiboot_atmega328.hex. Ale po wgraniu nie działa co robię źle?
    Arduino Duemilanove - błąd przy programowaniu
    To printscreen z programu.
    Dodam, że próbowałem wgrać zgrany wsad z inego UNO ale ta metoda też nie zadziała
    Proszę o pomoc w reanimacja mojego boot'a :) arduino

    Pozdrawiam
    .
  • #18 10381802
    piotrva
    VIP Zasłużony dla elektroda
    Tu nawet nie masz chyba poprawnego połączenia ISP programatora z procesorem (niekoniecznie w warstwie fizycznej - może problem tkwi w ustawieniach częstotliwości komunikacji/fusebitach procesora) - na to wykazują informacje na screenie!!
  • REKLAMA
  • #19 10383294
    pracz2
    Poziom 13  
    Nie rozumiem co masz na myśli poprawne połączenie ISP układ został wyjęty z arduino i wpięty w postawkę zif. Programator oczywiście obsługuje ten układ a ustawienia fuse są takie same jak avr fuse calculator, który znaduję się na stronce poniżej. Vcc=4V
    http://www.engbedded.com/fusecalc/
    Może mój wsad jest nie taki jak powinien btć do arduno uno ver.2. Jakby, ktoś posiadał to prosił bym o linka bądź o wrzucenie go na forum.

    Dziękuję za zainteresowaniem się moim przypadkiem.
  • #20 10399505
    pracz2
    Poziom 13  
    Co robię źle, że nie mogę zaprogramować tego układu.

    Na zdjęciu moje ustawienia
    Arduino Duemilanove - błąd przy programowaniu

    Pozdrawiam
  • #21 10457486
    Bartek.k.k
    Poziom 21  
    Też miałem problemy, bo ciągle źle fusebity ustawiałem. Wrzuć ten wsad: ATmegaBOOT_168_atmega328.hex i ustaw fusy wg. poniższego schematu:

    Boot Flash section size = 1024 words Boot start address = $1C00; [BOOTSZ=00]; default value
    Boot Reset Vector Enabled (default address = $0000); [BOOTRST=0]
    Brown-out detection disabled; [BODLEVEL=111]
    Ext. Crystal Osc.; Frequency 8.0 - MHz; Startup time PWRDWN/RESET: 16K CK/14 CK + 64ms; [CKSEL=1111 SUT=0]

    Jak pamiętam w tej linijce jest błąd:

    Ext. Crystal Osc.; Frequency 8.0 - MHz; Startup time PWRDWN/RESET: 16K CK/14 CK + 64ms; [CKSEL=1111 SUT=0]

    Ponieważ wg. mkavrcalculator wartość CKSEL to 1111 oraz SUT = 11, a nie 0 dla

    Ext. Crystal Osc.; Frequency 8.0 - MHz; Startup time PWRDWN/RESET: 16K CK/14 CK + 65ms;
  • #22 10458520
    pracz2
    Poziom 13  
    Jak tylko sprawdzę te ustawienia to napiszę jaki uzyskałem rezulatat.
    Czy udało mi się zaprogramować moje arduino :)
    dziekuję za zainterowanie
  • #23 10469859
    pracz2
    Poziom 13  
    Niestety nie daje się zaprogramować może uległ uszkodzeniu podczas jak za pierwszym razem źle ustawiłem fuse. Programator jest uniwersalny ale tej kości nie udaje mi się nim zaprogramować. Zamówiłem drugiego A328P i spróbuje jeszcze raz i zobaczę czy się uda.
  • #24 10469934
    Bartek.k.k
    Poziom 21  
    Co wypluwa konsola avrdude przy próbie zaprogramowania?
  • #25 10470426
    pracz2
    Poziom 13  
    avrdude nic nie wypluwa bo ja to robię za pomocą programatora uniwersalnego PROGRAMATOR VP 390

    Przy ładowaniu oprogramowania mam takie oknoArduino Duemilanove - błąd przy programowaniu

    a przy starcie taki komunikat Arduino Duemilanove - błąd przy programowaniu

    Ustawienia Fuse takie jak zaproponowałeś.

    A jeżeli chodzi o averdude to chyba nie mogę go użyć bo niby jak?
  • #26 10546624
    jpserwis
    Specjalista AGD
    Mam podobny problem, płytka avt5272 i komunikat z arduino IDE:
    avrdude: stk500_getsync(): not in sync: resp=0x00
    Pod drugim komputerem z ubuntu wyświetla, że nie odpowiada programator.
    Zainstalowałem przez dapa bootloader i to samo. Kupiłem nową atmegę168 + wgranie bootloadera i to samo.
    Konwerter ft232 działa, atmega wysyła i odbiera po rs. Bootloader wgrywany przez arduino ide więc fusebity sam ustawia. MkAvrCalculator nie działa z m168?
  • #28 10546788
    jpserwis
    Specjalista AGD
    Ale nie free, a ja tylko do jednej rzeczy potrzebuję a i tak nie wiem, czy zadziała.

    Dodano po 3 [minuty]:

    Arduino tak ustawia fusebity do bootloadera:
    C:\arduino-1.0\hardware/tools/avr/bin/avrdude -CC:\arduino-1.0\hardware/tools/avr/etc/avrdude.conf -v -v -v -v -patmega168 -cdapa -F -e -Ulock:w:0x3F:m -Uefuse:w:0x00:m -Uhfuse:w:0xdd:m -Ulfuse:w:0xff:m

    Może to coś z tym?
  • #29 10552859
    fcapri
    Poziom 12  
    Witam
    Podłącze się do tego tematu bo chyba jest najbardziej odpowiedni do mojego problemu.
    Mam płytkę avt5272 która jest zgodna z Arduino Duemilanove, po dodaniu STK200 do listy obsługiwanych programatorów w arduino udało mi się wgrać bootloader do atmegi168 i niby wszystko jest ok ale jednak nie do końca. Gdy wgram bootloader i nadal mam podpięte obydwa kable (usb i lpt od stk200) mogę wgrać program testowy( mrugajacy;) ) ale gdy chce wgrać go drugi raz już wywala błąd komunikacji i na diodach komunikacyjnych widać że moduł nie odpowiada. Dopiero po ponownym wgraniu bootloadera da się wgrać program. Po odpięciu kabla od stk w ogóle nie chce się nijak komunikować. Czy może spotkał się ktoś z takim problemem?

    Dzięki i pozdrawiam
  • #30 10557258
    jpserwis
    Specjalista AGD
    A program wgrywasz po usb czy nadal przez stk? Ja miałem duży problem z programowaniem po lpt i okazało się, że mam za długi kabel.
REKLAMA