Skocz do zawartości
Konstruktor

Problem z wgraniem programu na uC

Pomocna odpowiedź

Witam, natrafiłem dzisiaj na problem z zaprogramowaniem mikrokontrolera. Napisałem w C prosty program do zapalania i gaszenia diody LED. Skompilowałem go, i zrobiłem plik .hex. Próbując wgrać program na µC dostaję taki błąd:

avrdude: error: programm enable: target doesn't answer. 1

avrdude: initialization failed, rc=-1

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

this check.

avrdude done. Thank you.

Programator: USBasp

µC: ATmega8

Układ zasilam tylko z programatora.

Komputer widzi programator(pracuję na Ubuntu), dioda oznaczająca programowanie układu na chwilę się zapala, potem wywala błąd.

Pozdrawiam

Udostępnij ten post


Link to post
Share on other sites
Układ zasilam tylko z programatora.

Masz sporą szanse, że sam odpowiedziałeś na swoje pytanie 😉

Udostępnij ten post


Link to post
Share on other sites

1. Jesteś pewien, że układ jest zasilany? ( Chodzi o programowany mikrokontroler - zazwyczaj jest zworka, która ustawia czy zasilać układ docelowy czy nie z programatora - sprawdź miernikiem )

2. Ustawiłeś programator w stan wolnego programowania? Jak procesor ma wolny zegar (domyślnie) to musisz programować go w trybie małej prędkości ( tutaj też zazwyczaj jest zworka ).

3. No i na koniec sprawdź czy układ docelowy jest poprawnie wlutowany, wszystkie połączenia do programatora są poprawnie zrobione (brak zwarcia) i czy nic nie obciąża zbytnio wejścia reset...

Błąd który widzisz mówi, że programator nie dostał żadnej odpowiedzi od strony mikrokontrolera...

Udostępnij ten post


Link to post
Share on other sites

Napięcie na złączu na płytce z ATmegą: 4.75 V. Napięcie na ATmedze: też 4.75 V.

Nie ustawiłem w tryb wolnego programowania, bo do ATmegi mam podłączony kwarc 8 MHz.

Połączenia sprawdzałem miernikiem, wszystkie przewodzą.

Co do resetu... Sprawdziłem opór między pinem RST ATmegi, a programatorem. Wynosił 14 kOhm... Poprawiłem połączenie. Sprawdziłem inne ścieżki, ale one wydają się być w porządku.

Udostępnij ten post


Link to post
Share on other sites

A ustawiłeś to coś gdzie masz bc/br itp z liczbami? Sorki za takie objaśnienie, ale nie wiem jak to się nazywa.

Udostępnij ten post


Link to post
Share on other sites
A ustawiłeś to coś gdzie masz bc/br itp z liczbami? Sorki za takie objaśnienie, ale nie wiem jak to się nazywa.

Nie wiem, nie pamiętam żebym coś takiego robił, chociaż możliwe że po prostu nie kojarzę o co chodzi.

Programowanie uruchamiam tym:

avrdude -p atmega8 -P avrdoper -c usbasp -U flash:w:leds.hex

[leds.hex to program który chcę wgrać]

-P ustawia port, w tym artykule było napisane że to 'avrdoper'. Tak powinno być?

Udostępnij ten post


Link to post
Share on other sites

@Up chyba chodzi ci o fusebity.

bo oryginalna atmega jest taktowana 1Mhz,
bez względu jaki kwarc podłączysz.

Musisz zmienić fusy.

Ps. włącz wolne programowanie na programatorze zazwyczaj zworka i zmień fusy.

Udostępnij ten post


Link to post
Share on other sites

Teraz pojawia mi się inny błąd:

Wpisuję:

avrdude -p atmega8 -P avrdoper -c usbasp -U flash:w:leds.hex

Dostaję:

avrdude: error: could not find USB device with vid=0x16c0 pid=0x5dc vendor='www.fischl.de' product='USBasp'

avrdude done. Thank you.

Włączyłem zworkę od wolnego programowania, sprawdziłem złącze programatora(czy odpowiednio połączone z µC), sprawdziłem napięcie.

Udostępnij ten post


Link to post
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!

Gość
Napisz odpowiedź...

×   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...