Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Zawieszanie się AvrDude podczas programowania

tmkd 30 Aug 2009 09:54 2289 14
  • #1
    tmkd
    Level 11  
    Witam, mam problem z avrdude i programatorem usbasp, mianowicie zawiesza się on przy programowaniu. Zainstalował się poprawnie, ale gdy daje w avrdude-gui execute to na programatorze zaswieca się czerwona dioda i program przestaje odpowiadać. Co może być nie tak?
  • #2
    M. S.
    Level 34  
    Czy zainstalowałeś programator?
    Czy Windows poinformował o prawidłowości instalacji programatora i komputer daje sygnał jak wkładasz wtyczkę do USB?
    Czy w Dude wskazałeś programator?
    Czy wybrałeś dobrego procka?

    Ponadto polecam Burn O Mat - znacznie wygodniejszą nakladkę na Dude. Trzeba najpierw zainstalować Javę.
    Zawieszanie się AvrDude podczas programowania
  • #3
    tmkd
    Level 11  
    tak, wskazałem dobrego procka, programator się zainstalował. masz może opis wyjść dla wtyczki z takiego programatora, (2 rzedy po 5 stykow w każdym)?Korzystam z innego avrdude, bodajze z 5.2, zciagnałem z protech-micro.pl. Myslałem że zle zlutowałem procek, ale patrze miernikiem no i na wyjściach są napięcia (około 1v)
  • #5
    tmkd
    Level 11  
    Niestety nie widzę tam informacji o wyprowadzeniach z tego programatora na wtyczce
  • #6
    flapo213
    Level 21  
    Spróbuj sobie zainstalować eclipse + plugin do AVR-ów i tam Ci powinno zadziałać z kopa. Ja preferuję jednak gdy nie masz eclipsa poprostu z palca zapodać avrdude - jeśli nie wiesz jak wpisać i co to poszukaj w googlach jak inni to robią za pewne masę tego jest jak to z palca wklepcać. Pozdrawiam
  • #7
    tmkd
    Level 11  
    No znalazłem opis, i już wiem na 99procent że dobrze podpiałem, ale dalej ten sam problem. Dzieje się tak nawet gdy odepnę programator od avra.

    Dodano po 33 [sekundy]:

    Jak można sprawdzić czy avr jest ok, jakie napięcia powinien mieć na pinach?
  • #8
    Nagus
    Level 27  
    Prawdopodobnie to wiesza się GUI a nie avrdude...

    Po pierwsze masz historyczną wersję avrdude (5.2) - obecnie jest 5.6 (5.8 wersja rozwojowa).
    Po drugie spróbuj użyć avrdude z konsoli - będziesz miał wymalowane wszystko biało na czarnym (lub odwrotnie). Jak będzie działać z konsoli to wtedy możesz szukać GUI, które się nie wiesza...
  • #9
    tmkd
    Level 11  
    W konsoli jest info ze avr nie odpowiada. Kupie sobie jeszcze jednego i zobacze, może akurat podczas lutowania uszkodziłem.
  • #10
    Nagus
    Level 27  
    Mam podchwytliwe pytanie: czy w programowanym procku zwarłeś piny Reset i !SS?

    Usbasp jest tak popularny, że jego schemat i układ wyprowadzeń na złączu wygooglasz migiem.
  • #11
    tmkd
    Level 11  
    Nie, dlaczego miałbym to robić. Nie wiem od czego jest SS, na datasheetcie wiem że to jest 16 wyprowadzenie, reset jest 1. A powinienem to zrobić?
  • #12
    Nagus
    Level 27  
    No to wszystko jasne.
    Programowanie procka przez SPI odbywa się przy pinie RESET zwartym do masy. Zwykle używa się do tego pinu !SS, który w porcie SPI normalnie odpowiada za aktywowanie transferu. Czyli, jeśli SS ma spiąć RESET do masy, to te piny (na czas programowania) trzeba zewrzeć... I to masz w nocie katalogowej. Na schemacie usbasp-a jest taka ładna zworka zwana "Self programming"...
  • #13
    tmkd
    Level 11  
    Chodzi ci o piny mikrokontrolera?. Zwarłem pin RESET i SS ze sobą i nic.

    Dodano po 12 [minuty]:

    Pisałeś że programowanie odbywa się przy RESET zwartym do masy. Skoro niski stan na RST resetuje mikrokontroler to jak można go programować? Na RST mam 5v, zaś na SS 1v.

    Dodano po 29 [minuty]:

    Przeczytałem więcej o SPI w dokumentacji atmegi i z tego co rozumie to SPI pracuje jako MASTER lub SLAVE. Jeżeli ma być masterem to SS zwieram do VCC(na RST jest takie napiecie co na VCC wiec mogę też do RST) zaś jeżeli ma być SLAVE to zwieram do masy. Czy Podpinać do VCC i GND mikrokontrolera kabelki oznaczone jako VCC I GND od programatora? AVR jest zasilany z osobnego źródła, nie poprzez programator.

    Dodano po 4 [minuty]:

    Takie coś wyświetla avrdude
    avrdude: error: programm enable: target doesn't answer. 1
    avrdude: AVR device initialized and ready to accept instructions
    avrdude: Device signature = 0x000000
    avrdude: Yikes! Invalid device signature.
    avrdude: Expected signature for ATMEGA8 is 1E 93 07
    avrdude: safemode: lfuse reads as 0
    avrdude: safemode: hfuse reads as 0
    avrdude: setting erase-rewrite cycle count to 0
    avrdude: erasing chip
    avrdude: error: programm enable: target doesn't answer. 1
    avrdude: erase-rewrite cycle count is now 1
    avrdude: WARNING: can't write memory for cycle count, rc=-6
  • #14
    Nagus
    Level 27  
    Piny RESET i !SS programowanego układu mają być ze sobą zwarte przez cały czas programowania. W USBasp zadanie to pełni zworka selfprogramming, a zworki tej używa się przy wgrywaniu firmware do USBasp-a.

    RESET służy nie tylko do resetowania! Na przykład, przy programowaniu równoległym +12V podaje się właśnie na pin RESET.
    Jeżeli na SS i RESET masz różne poziomy logiczne to te piny zwarte nie są...

    Ty nie motaj się w czytaniu o SPI, skoro musisz zapoznać się z rozdziałem: Memory Programming oraz sekcją Serial Downloading i następnymi (ATmega8 str. 237). W pierwszym zdaniu jest określony stan pinu RESET podczas programowania szeregowego...

    Podsumowując:
    - w programowanym układzie zwierasz SS i RESET
    - do programowanego układu, począwszy od SCK, podłączasz z gniazda 10-pin programatora piny kolejno: 7, 9, 1, 5
    - zasilanie
  • #15
    tmkd
    Level 11  
    Problem rozwiązany, nie trzeba było w atmedze zwierac SS i RESET , założyłem zworkę SLOW CLK na programator i działa. Dzięki.