Elektroda.pl
Elektroda.pl
X
PCBwayPCBway
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Problem z programatorem usbasp

seak1 10 Lut 2008 21:19 7926 35
  • Pomocny post
    #31
    tajwoj
    Poziom 24  
    Myślę, że próba na płytce stykowej to dobry pomysł.
    Tylko nie zaczynaj od zmiany fusebitów.
    Najpierw odczytaj sygnaturę i fusebity, żeby się upewnić, że połączenia są w porządku.
    Sygnatura powinna być odczytana bez błędów.
    Jeśli programując nowy układ otrzymasz komunikat AVRdude zawierajacy:
    Cytat:
    Double check connections and try again, or use -F to override this check.

    to zrób tylko to, co zaleca przed przecinkiem ale nie włączaj opcji -F.
    Wiele wątków dotyczących fusebitów zaczynało się zapewnieniami autora o wszechstronnym sprawdzeniu układu i połączeń, a kończyło stwierdzeniami, że jednak coś było nieprawidłowo podłączone bądź w ogóle niepodłączone.
    To chyba wynika z naszej natury, że najpierw szukamy przyczyny niepowodzeń wokół siebie, po czym stwierdzamy, że tkwi ona w nas.
    Jeszcze tylko jedno stwierdzenie natury filozoficznej (godne co najmniej Leszka Kołakowskiego), spowodowane Twoim stwierdzeniem
    Cytat:
    Co do kwarcu też nie powinno być, problemów (nówka).

    Nowe nie jest synonimem sprawne (działające)!.
    Ile razy o tym zapomniałem, tyle razy traciłem dużo czasu.

    Powodzenia i daj znać o postępach.
  • PCBwayPCBway
  • #32
    seak1
    Poziom 13  
    Hehe dziękuję za te jakże cenne filozoficzne i elektroniczne rady :). Jutro ostro zabieram się do testowania układu, poświęcę jeszcze jedną kostkę, a później po jakimś czasie planuje wykonanie tego: http://www.obdev.at/products/avrusb/avrdoper.html ponieważ szkoda mi zostawiać tak te zablokowane atmegi.

    Pozdrawiam.

    Dodano po 50 [minuty]:

    Coś w tym jest!

    Patrząc na amtegi, które leżaly w woreczku "bricked", zastanawiałem się co by tutaj z nimi wykąbinować. Stwierdziłem, że sprawdzę, czy na tej której użyłem jako pierwszej (amtegi8L) siedzi jeszcze jej program. Patrzę na moją płytkę, ale tam siedział kwarc 3coś tam, więc pobiegłem do piwnicy wymienić go na tamtą poprzednią 12. Przy okzaji siedząc przy lutownicy poprawiłem wszystkie (sic!) luty i poszedłem z powrotem do komputera sprawdzić czy działa. Wsadziłem do usbaspa i... Nie działa. Ale zamiast zasilać go z usb wsadzilem zasilanie zewnętrzne i... Nie działa. Pomyślałem więc, że pora na SlowSCK, jako że nie miałem nic innego pod ręką to wkręciłem (sic!) śrubkę w zworę SlowSCK i... DZIAŁA!

    Chyba mogę zacząć pracować nad innymi projektami. OGROMNE dzięki dla tajwoj za pomoc! Pozdrawiam.

    Ps. Dochodzę do wniosku, że gdy jestem najbardziej zmęczony i gdy nie mam już w ogóle nadziei, że coś się uda, to to się udaje ;) Pozdrawiam.

    Ps 2. Zrobiłem parę testów. Operacje zapisz, odczytaj, wykasuj i w kółko i działa. Co prawda nie wiem czemu tylko ze SlowSCK, ale może być. Działa i to jest najważniejsze. Pozdrawiam.

    Ps3. Wiem czemu tylko ze Slow SCK - atmega8 którą testowałem ma pewnie wewnętrzny kwarc 1MHz ustawiony, a Slow SCK ustawia się gdy częstotliwość jest niższa niż 1,5MHz. Dobrze mówię?
  • PCBwayPCBway
  • #33
    tajwoj
    Poziom 24  
    To bardzo szczęśliwe zakończenie.
    Myślę, że inni też skorzystają z Twoich doświadczeń.
    Co do przełącznika (zworki) J3.
    Z pliku Readme.txt na stronie autora USBasp:
    Cytat:
    J3 SCK option
    If the target clock is lower than 1,5 MHz, you have to set this jumper. Then SCK is scaled down from 375 kHz to about 8 kHz.

    Jak wiadomo z dokumentacji ATmega, dla programowania szeregowego, częstotliwość zegara mikrokontrolera powinna być co najmniej cztery razy większa od częstotliwości sygnału SCK z programatora.
    4x375kHz=1,5MHz
    ATmega8 fabrycznie ma zegar 1MHz, czyli należy obniżyć w programatorze częstotliwość SCK zworką J3.
    Nawiasem mówiąc, ja mam cały czas włączoną zworkę ponieważ, w przypadku niedużych programów, różnica w czasie ładowania programu jest mniejsza niż czas potrzebny do przełączenia tejże zworki.
    Pozdrowienia
  • #34
    Sinistra
    Poziom 14  
    witajcie
    5 minut temu miałem ten sam problem, co założyciel postu. Teraz mi wszystko działa, a zrobiłem tyle:
    1. podłączyłem jeszcze raz wszystkie wtyczki;
    2. załączyłem JP2 od spowalniania przesyłu danych;
    3. podłączyłem zasilanie od programatora, nie z zew.;
    4. podałem: avrdude -p attiny2313 -c usbasp -U flash:w:avr\hello\hello.hex

    I zadziałało.

    Sinistra,
  • #35
    NIEBO!
    Poziom 12  
    A ja mam wszystkie te problemy, o których pisał autor i nawet screeny wyglądają jak ode mnie :) Ale poradzić sobie nie mogę :( Cóż - czytając to powyżej "zacznę szukać wokół siebie", czyli sprawdzę po raz 4 PCB i Kabel IDC a także przystawkę AVT - 11452 ... bo w systemie USBasp jest widoczny tylko DUDE świruje :P

    Jeśli ktoś może pomóc - wszystko opisane tutaj http://elportal.pl/forum/viewtopic.php?t=8015 Jesli ktoś może mi pomóc ...

    A z STK-200 i Pony Prog działało wszsytko kiedyś za 1 razem - dlaczego w nowych kompach brak LPT ...no dobra - na to pytanie nie musicie odpowiadać ale serio przydałoby się coś prostego na USB coś jak PonyProg żeby miało opcję wczytywania pliku do bufora i wczytywania z Flasha AVR ew do porównania ... a może coś takiego jest a ja o tym nie wiem ...

    Pozdrawiam!
    NIEBO!™
  • #36
    Nie_zajety_login
    Poziom 9  
    Mam podobny problem, podłączam programator do złącza isp, wydaje komende:
    Code:

    bash-3.1$ avrdude -p m8 -c usbasp -v -F


    Dostaję taki wynik:
    Code:

    avrdude: Version 5.5, compiled on Feb  4 2009 at 21:17:29
             Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/

             System wide configuration file is "/usr/local/etc/avrdude.conf"
             User configuration file is "/home/misiup/.avrduderc"
             User configuration file does not exist or is not a regular file, skipping

             Using Port            : /dev/parport0
             Using Programmer      : usbasp
             AVR Part              : ATMEGA8
             Chip Erase delay      : 10000 us
             PAGEL                 : PD7
             BS2                   : PC2
             RESET disposition     : dedicated
             RETRY pulse           : SCK
             serial program mode   : yes
             parallel program mode : yes
             Timeout               : 200
             StabDelay             : 100
             CmdexeDelay           : 25
             SyncLoops             : 32
             ByteDelay             : 0
             PollIndex             : 3
             PollValue             : 0x53
             Memory Detail         :

                                      Block Poll               Page                       Polled
               Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
               ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
               eeprom         4    20   128    0 no        512    0      0  9000  9000 0xff 0xff
               flash         33    10    64    0 yes      8192   64    128  4500  4500 0xff 0x00
               lfuse          0     0     0    0 no          1    0      0  2000  2000 0x00 0x00
               hfuse          0     0     0    0 no          1    0      0  2000  2000 0x00 0x00
               lock           0     0     0    0 no          1    0      0  2000  2000 0x00 0x00
               calibration    0     0     0    0 no          4    0      0     0     0 0x00 0x00
               signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

             Programmer Type : usbasp
             Description     : USBasp, http://www.fischl.de/usbasp/

    avrdude: AVR device initialized and ready to accept instructions

    Reading | ################################################## | 100% 0.03s

    avrdude: Device signature = 0x1e9307
    avrdude: safemode: lfuse reads as E4
    avrdude: safemode: hfuse reads as D9

    avrdude: safemode: lfuse reads as E4
    avrdude: safemode: hfuse reads as D9
    avrdude: safemode: Fuses OK

    avrdude done.  Thank you.


    Ale już następne wywołanie tego polecenia daje efekt taki, jak u autora tematu:

    Code:

    avrdude: Version 5.5, compiled on Feb  4 2009 at 21:17:29
             Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/

             System wide configuration file is "/usr/local/etc/avrdude.conf"
             User configuration file is "/home/misiup/.avrduderc"
             User configuration file does not exist or is not a regular file, skipping

             Using Port            : /dev/parport0
             Using Programmer      : usbasp
             AVR Part              : ATMEGA8
             Chip Erase delay      : 10000 us
             PAGEL                 : PD7
             BS2                   : PC2
             RESET disposition     : dedicated
             RETRY pulse           : SCK
             serial program mode   : yes
             parallel program mode : yes
             Timeout               : 200
             StabDelay             : 100
             CmdexeDelay           : 25
             SyncLoops             : 32
             ByteDelay             : 0
             PollIndex             : 3
             PollValue             : 0x53
             Memory Detail         :

                                      Block Poll               Page                       Polled
               Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
               ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
               eeprom         4    20   128    0 no        512    0      0  9000  9000 0xff 0xff
               flash         33    10    64    0 yes      8192   64    128  4500  4500 0xff 0x00
               lfuse          0     0     0    0 no          1    0      0  2000  2000 0x00 0x00
               hfuse          0     0     0    0 no          1    0      0  2000  2000 0x00 0x00
               lock           0     0     0    0 no          1    0      0  2000  2000 0x00 0x00
               calibration    0     0     0    0 no          4    0      0     0     0 0x00 0x00
               signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

             Programmer Type : usbasp
             Description     : USBasp, http://www.fischl.de/usbasp/

    avrdude: AVR device initialized and ready to accept instructions

    Reading | ################################################## | 100% 0.03s

    avrdude: Device signature = 0x000102
    avrdude: Expected signature for ATMEGA8 is 1E 93 07
    avrdude: safemode: lfuse reads as 0
    avrdude: safemode: hfuse reads as 0
    avrdude: current erase-rewrite cycle count is -50462977 (if being tracked)

    avrdude: safemode: lfuse reads as 0
    avrdude: safemode: hfuse reads as 0
    avrdude: safemode: Fuses OK

    avrdude done.  Thank you.


    Potrafi poradzić ktoś coś na ten problem? Za każdym razem tak jest - przy podłączeniu jest ok, ale następna jakakolwiek próba komunikacji konczy sie taką informacją :)