Skocz do zawartości

Problem z zaprogramowaniem ATmega8. AVR Burn-o-mat.


pawel147

Pomocna odpowiedź

Witam, próbowałem zaprogramować ATmega8 zgodnie z instrukcją z artykułu:[Programowanie] Szybki start z WinAVR. Wszystko jest dobrze aż do momentu programowania pamięci układu AVR. Wybierając opcję [WINAVR] Program wyskakuje następujący błąd:

> "make.exe" program

avrdude -p atmega8 -P -c stk200 -E (AVRDUDE_EXITMODE) -U flash:w:led.hex

/usr/bin/sh: -c: line 1: syntax error near unexpected token `(A'

/usr/bin/sh: -c: line 1: `avrdude -p atmega8 -P -c stk200 -E (AVRDUDE_EXITMODE) -U flash:w:led.hex '

make.exe: *** [program] Error 258

> Process Exit Code: 2

> Time Taken: 00:01

Jeden z forumowiczów napisał, że jest błąd w AVRDUDE_EXITMODE. Poprawiłem komendę, ale nie dało to żadnych efektów. Polecił także skorzystanie z programu AVR Burn-o-mat.I tu jest moje pytanie: jak skorzystać z tego programu? Chodzi mi o instrukcję obsługi co po kolei robić. Proszę o pomoc.

Link do komentarza
Share on other sites

WinAVR przekazuje tekst "(AVRDUDE_EXITMODE)" do komendy. Musisz to albo obejśćalbo wyłączyć.

Burn-o-mat w ogóle widziałeś i korzystałeś? Bo jeśli tak to nie wiem w czym tkwi problem, bo program jest intuicyjny i wszystkie pola ma opisane.

Link do komentarza
Share on other sites

Ściągasz "AVRBurnOMat" i instalujesz. Uruchamiasz, wchodzisz w "SETTING\AVRDUDE".

W "AVRDUDE location" podajesz ścieżkę do pliku "avrdude.exe "

( u mnie domyślnie to "C:\WinAVR-20100110\bin\avrdude.exe").

W "alternative AVRDUDE configuraton file" podajesz ścieżkę do pliku "avrdude.conf"

( u mnie domyślnie "C:\WinAVR-20100110\bin\avrdude.conf").

W "Programmer" wybierasz rodzaj programatora, a w "Port" rodzaj portu do którego jest podłączony

(u mnie to USB). Potwierdzasz i zamykasz okienko "Setting".

W "AVR type" wybierasz model mikrokontrolera.

We "Flash" klikasz "File" i wybierasz plik .hex, który chcesz wgrać. Klikasz "Written" i gotowe.

Po kliknięciu we "FUSES" możesz ustawiać fusebity.

Link do komentarza
Share on other sites

Dziękuje za napisanie tej instrukcji,ale i tak mam problem, ponieważ w okienku programmer nie wyświetla się mój programator. Programator jest poprawnie zainstalowany wraz ze sterownikami, przynajmniej tak informuje mnie komputer. Spróbowałem więc zaprogramować metodą z artykułu, ale bez komendy AVRDUDE_EXITMODE. Wynikiem jest tekst: Brak reguły do wykonania obiektu. Więc sam nie wiem co robię źle, bo już od dłuższego czasu próbuje zaprogramować ATmege na różne sposoby (z różnych stron) i nie wychodzi mi to.

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Dziękuje za napisanie tej instrukcji,ale i tak mam problem, ponieważ w okienku programmer nie wyświetla się mój programator.

To mnie zdziwiłeś, z pierwszego postu wynika, że to stk200, u mnie jest widoczny:

Generalnie nie musisz dawać komendy "-E cośtam", ponieważ sterujesz w ten sposób np. resetem albo vcc, chyba, że nie chcesz, aby program się uruchamiał po zaprogramowaniu (np. gdy programujesz tym samym kodem wiele takich samych urządzeń i nei chcesz aby się uruchamiały aby nie robić sobie problemów).

Link do komentarza
Share on other sites

Już się domyślam.

Instalowałeś WinAVR, prawda? Mógłbyś sprawdzić, w jakim folderze? Te dwie ścieżki na dysku powyżej pola wyboru programatora muszą wskazywać na poprawne miejsca na dysku twardym. U mnie WinAVR jest w folderze WinAVR-20100110 i możesz zauważyć jak wyglądają ścieżki.

Link do komentarza
Share on other sites

Miałeś rację poprawiłem ścieżki i od razu znalazł mój programator. Lecz jest kolejny problem, kiedy klikam 'write' w okienku output pokazuje się komunikat:

E:\winavr\bin\avrdude.exe -C E:\winavr\bin\avrdude.conf -p m8 -P usb -c stk200 -U flash:w:E:\winavr\mfile\led.hex:a

avrdude.exe: can't open device "giveio"

avrdude.exe: failed to open parallel port "usb"

Z tego co się domyślam to chyba jest jakiś błąd w avrdude, ale nie wiem.

Spróbowałem jeszcze drugiej metody z artykułu :szybki start z WinAVR. W okienku output pokazuje się komunikat :

> "make.exe" program

avrdude -p atmega8 -P -c USBasp -E (AVRDUDE_EXITMODE) -U flash:w:led.hex

/usr/bin/sh: -c: line 1: syntax error near unexpected token `(A'

/usr/bin/sh: -c: line 1: `avrdude -p atmega8 -P -c USBasp -E (AVRDUDE_EXITMODE) -U flash:w:led.hex '

make.exe: *** [program] Error 258

> Process Exit Code: 2

Nie wiem dlaczego jest problem z AVRDUDE_EXITMODE, ponieważ nie dopisywałem tych dwóch wersów związanych AVRDUDE_EXITMODE.

Link do komentarza
Share on other sites

Po uruchomieniu install_giveio.bat i po kliknięciu "write" ukazuje się komunikat:

E:\winavr\bin\avrdude.exe -C E:\winavr\bin\avrdude.conf -p m8 -P usb -c stk200 -U flash:w:E:\winavr\mfile\led.hex:a

avrdude.exe: port name "usb" is neither lpt1/2/3 nor valid number

avrdude.exe: can't open device "usb"

avrdude.exe: failed to open parallel port "usb"

Rozumiem, aby że port usb i lpt1/2/3 mają nie ważny numer, ale o co z tym chodzi to nie wiem.

Link do komentarza
Share on other sites

E:\winavr\bin\avrdude.exe -C E:\winavr\bin\avrdude.conf -p m8 -P usb -c stk200 -U flash:w:E:\winavr\mfile\led.hex:a

avrdude.exe: port name "usb" is neither lpt1/2/3 nor valid number

avrdude.exe: can't open device "usb"

podajesz mu programator na lpt a port podajesz USB - dlatego jest problem. Zmień "usb" na jakieś LPT, np. "lpt1".

Link do komentarza
Share on other sites

Zmieniłem na "lpt1" i otrzymuje komunikat:

E:\winavr\bin\avrdude.exe -C E:\winavr\bin\avrdude.conf -p m8 -P lpt1 -c stk200 -U flash:w:E:\winavr\mfile\led.hex:a

avrdude.exe: AVR device not responding

avrdude.exe: initialization failed, rc=-1

Double check connections and try again, or use -F to override

this check.

avrdude.exe done. Thank you.

Po przetłumaczeniu " urządzenie nie reaguje", " sprawdź połączenia", czyli mam rozumieć że z ATmega8 jest coś nie tak. Sprawdziłem czy dobrze jest podłączona ATmega trzy razy i wszystko się zgadza. Więc co może być nie tak?

Link do komentarza
Share on other sites

Teraz już masz standardowy błąd 😉 czyli:

- zły port lpt (o ile masz więcej widocznych w systemie)

- złe połączenie (zasilasz? wszystkie linie podłączone?)

- zła prędkość (aczkolwiek nie wiem czy w stk200 można regulować)

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.