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

[Atmega328p] Błąd przy wgrywaniu programu do Atmega328p za pomocą avrdude - warning

lukhol2 23 Lis 2016 23:16 1056 15
REKLAMA
  • #1 16082183
    lukhol2
    Poziom 7  
    Witam. Mam problem z wgraniem programu do Atmegi328p. Do wgrywania używam avrdude (wcześniej używałem tego samego programatora oraz AVRCalculator w wersji free oraz Atmegi8 i wszystko działało więc programator jest dobry) i podczas wgrywania mam następujący komunikat: [Atmega328p] Błąd przy wgrywaniu programu do Atmega328p za pomocą avrdude - warning . W tym komunikacje niby wszystko wgrywa się poprawnie, ale występuje warning, który powoduje, ze coś się prawdopodobnie źle wgrywa.

    Używam tego programatora: [Atmega328p] Błąd przy wgrywaniu programu do Atmega328p za pomocą avrdude - warning , podłączenie do procka jest właściwe i wygląda tak [Atmega328p] Błąd przy wgrywaniu programu do Atmega328p za pomocą avrdude - warning (tutaj jest inna atmega ponieważ nie rysowałem schematu dla tego układu, który teraz robię, ale połączenie programatora jest dokładnie takie jak na tym schemacie). Programator ma wgrać przez avrdude plik hex, w którym znajduję się program.

    W czym może tkwić błąd?
  • REKLAMA
  • #2 16082194
    dondu
    Moderator na urlopie...
    Na załączonym przez Ciebie schemacie jest nieprawidłowo połączone gniazdo programatora.
    Tak wyglądają gniazda, wtyki i przewody programatora: http://mikrokontrolery.blogspot.com/2011/04/isp-co-to-takiego.html


    Gdybyś po poprawkach nadal miał problemy, to przeglądnij uważnie spis możliwych przypadków: http://mikrokontrolery.blogspot.com/2011/04/problemy-z-zaprogramowaniem.html
  • #3 16082200
    lukhol2
    Poziom 7  
    dondu napisał:
    Na załączonym przez Ciebie schemacie jest nieprawidłowo połączone gniazdo programatora.
    Tak wyglądają gniazda, wtyki i przewody programatora: http://mikrokontrolery.blogspot.com/2011/04/isp-co-to-takiego.html


    Gdybyś po poprawkach nadal miał problemy, to przeglądnij uważnie spis możliwych przypadków: http://mikrokontrolery.blogspot.com/2011/04/problemy-z-zaprogramowaniem.html


    Przy tak podłączonym programatorze jak na schemacie z powodzeniem wgrywałem programy na atmege8, jak to możliwe żeby był tam błąd? Każdy sygnał z programatora idzie tak jak należy. Programator na schemacie ma inną kolejność sygnałów niż w rzeczywistości, ale podłączenie jest na 100% poprawne. Zresztą mkavrcalculator wykrywa model atmegi poprawnie.
  • #4 16082236
    dondu
    Moderator na urlopie...
    Komunikat który pokazujesz wskazuje na prawidłowe zaprogramowanie.
    Piszesz o jakimś warningu, ale go nie pokazujesz.

    Schemat ma nieprawidłowe podłączenie pinów do gniazda - nigdy go nie używaj.


    Edit:
    Jeżeli już bierzesz się za informatykę, to raz na zawsze zapamiętaj zasadę:
    Żadnych polskich liter w nazwach plików, folderów, zmiennych, itp.

    ... spacji także nie używaj, tylko minus lub podkreślnik.
  • REKLAMA
  • #5 16082243
    lukhol2
    Poziom 7  
    Mam wrażenie, że nawet nie przeczytałeś postów, które wstawiłem. Na pierwszym zamieszczonym przeze mnie obrazku jest warning: cannot set sck period. Co do schematu na nim kolejność pinów w programatorze jest faktycznie błędna, ale podłączenie do procka jest POPRAWNE, co już wcześniej napisałem.

    edit: Folder z polskim znakiem powstał lata temu jak jeszcze w tym nie siedziałem i wiem o tym, ale nie to jest powodem błędu w tym przypadku.
  • #6 16082251
    dondu
    Moderator na urlopie...
    lukhol2 napisał:
    Mam wrażenie, że nawet nie przeczytałeś postów, które wstawiłem. Na pierwszym zamieszczonym przeze mnie obrazku jest warning: cannot set sck period.


    Faktycznie w treści jest komunikat, który wskazałeś. Jednakże dalsze komunikaty informują, że programowanie przebiega poprawnie wraz z weryfikacją.

    lukhol2 napisał:
    Co do schematu na nim kolejność pinów w programatorze jest faktycznie błędna, ale podłączenie do procka jest POPRAWNE, co już wcześniej napisałem.

    Czytałem, ale ponieważ zadałeś ponownie pytanie:

    lukhol2 napisał:
    Przy tak podłączonym programatorze jak na schemacie z powodzeniem wgrywałem programy na atmege8, jak to możliwe żeby był tam błąd?

    to ponownie na to odpowiedziałem.


    lukhol2 napisał:
    edit: Folder z polskim znakiem powstał lata temu jak jeszcze w tym nie siedziałem i wiem o tym, ale nie to jest powodem błędu w tym przypadku.

    Nie twierdzę, że błąd jest z tego powodu, tylko podpowiadam ogólną zasadę, którą warto stosować.


    Edit:

    Także sygnaturę ATmegi rozpoznaje prawidłowo.

    Edit2:

    Po czym oprócz warninga stwierdzasz, że:

    lukhol2 napisał:
    ... ze coś się prawdopodobnie źle wgrywa.

    to tylko domysł spowodowany warningiem, czy są jakieś objawy nieprawidłowego działania?
  • #7 16082263
    lukhol2
    Poziom 7  
    Program w ogóle nie działa. Do procesora podłączony mam wyświetlacz LCD HD44780. Używam kodu, który działał na Atmega8 ( nie mam tej atmegi żeby sprawdzić na niej) więc jakiś błąd w kodzie jest bardzo mało prawdopodobny (wszystko sprawdziłem bardzo dokładnie jak chodzi o podłączenie pinów). Dodatkowo mam diodę na jednym z portów, którą chciałem dla testu zaświecić, ale bezskutecznie. Wydaje mi się, ze program wgrywa się, ale przez brak możliwości zmiany prędkości przesyłania programowo wykonuje się to w zły sposób, dostaję komunikat o poprawnym wgraniu programu, ale ostatecznie robi się to źle.
  • #8 16082270
    dondu
    Moderator na urlopie...
    Nie ma siły, by weryfikacja przeszła poprawnie, a program nie wgrał się prawidłowo.

    Testowałeś diodę na prostym programie, czy dodałeś do swojego "dużego" programu?
    Jeśli dodałeś, to zrób po prostu nowy program, w którym będziesz tylko migał diodą na jakimś pinie.
  • REKLAMA
  • #9 16082273
    lukhol2
    Poziom 7  
    Zrobiłem obie opcje, żadna nie działa.
  • #10 16082282
    dondu
    Moderator na urlopie...
    Hmm, ...
    Komunikat z programowania:
    - odczytano poprawnie sygnaturę ATmega328p,
    - wykasowano pamięć,
    - zapisano 486 bajtów,
    - odczytano 486 bajtów,
    - zweryfikowano poprawnie.

    Nic dodać nic ująć - programowanie przebiegło pomyślnie.
    Problem leży więc w programie lub podłączeniu diody, ale twierdzisz, że wszystko jest OK.

    Co mogę jeszcze sprawdzić ... pokaż więc program do migania diodą i sprawdź, czy jej czasem odwrotnie nie włożyłeś.
    A może pin gdzie ją podłączasz jest uszkodzony?
    A może JTAG włączony, a może nieprawidłowo zasilasz mikrokontroler i część pinów nie działa prawidłowo ...

    http://mikrokontrolery.blogspot.com/2011/04/avr-czyhajace-pulapki.html
    http://mikrokontrolery.blogspot.com/2011/04/minimalne-podlaczanie-pinow.html
  • REKLAMA
  • #12 16082297
    lukhol2
    Poziom 7  
    Źle podłączyłem jeden kabelek od zasilania i faktycznie porty nie działały poprawnie, a ja doszukiwałem się dosłownie wszystkiego. No nic, głupie błędy też się zdarzają. Dzięki za porady.
  • #13 16082301
    dondu
    Moderator na urlopie...
    dasej napisał:
    @dondu A od kiedy w 328 jest JTAG?

    A nie wiem, nie sprawdzałem. Masz oczywiście rację, nie ma.
    Ale na przyszłość autor tematu już będzie wiedział, że JTAG może być przyczyną.


    lukhol2 napisał:
    Źle podłączyłem jeden kabelek od zasilania i faktycznie porty nie działały poprawnie, a ja doszukiwałem się dosłownie wszystkiego. No nic, głupie błędy też się zdarzają. Dzięki za porady.

    Tak czasami bywa :)

    Swoją drogą ten warning nie powinien występować.
  • #14 16082422
    yokoon
    Poziom 29  
    Witam.
    Taki komunikat warning: cannot set sck period moim zdaniem mówi o złej częstotliwości taktowania podczas wgrywania.

    SCK = FCPU / 4
  • #15 16082638
    Konto nie istnieje
    Konto nie istnieje  
  • #16 16082814
    dondu
    Moderator na urlopie...
    Sprawdziłem jak to jest u mnie:


    Cytat:
    avrdude.exe: set SCK frequency to 93750 Hz
    avrdude.exe: warning: cannot set sck period. please check for usbasp firmware update.
    avrdude.exe: AVR device initialized and ready to accept instructions

    Reading | ################################################## | 100% 0.00s

    avrdude.exe: Device signature = 0x1e9502
    avrdude.exe: NOTE: "flash" memory has been specified, an erase cycle will be performed
    To disable this feature, specify the -D option.
    avrdude.exe: erasing chip
    avrdude.exe: set SCK frequency to 93750 Hz
    avrdude.exe: warning: cannot set sck period. please check for usbasp firmware update.

    avrdude.exe: reading input file "Z:\_DONDU\wersja-1-1-0\dd-1-1-0\Debug\dd-1-1-0.hex"
    avrdude.exe: writing flash (9070 bytes):

    Writing | ################################################## | 100% 4.88s

    avrdude.exe: 9070 bytes of flash written
    avrdude.exe: verifying flash memory against Z:\_DONDU\wersja-1-1-0\dd-1-1-0\Debug\dd-1-1-0.hex:
    avrdude.exe: load data flash data from input file Z:\_DONDU\wersja-1-1-0\dd-1-1-0\Debug\dd-1-1-0.hex:
    avrdude.exe: input file Z:\_DONDU\wersja-1-1-0\dd-1-1-0\Debug\dd-1-1-0.hex contains 9070 bytes
    avrdude.exe: reading on-chip flash data:

    Reading | ################################################## | 100% 2.34s

    avrdude.exe: verifying ...
    avrdude.exe: 9070 bytes of flash verified

    avrdude.exe: safemode: Fuses OK (E:FF, H:C9, L:FF)

    avrdude.exe done. Thank you.


    Także warrning występuje, ale oprogramowanie wgrywa się prawidłowo dla każdej częstotliwości F_CPU od 1MHz począwszy.
REKLAMA