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

Atmega8A, avrdude - Atmega prawdopodobnie używana, błąd w fusebitach

Krzysiek1260 05 Lip 2016 23:40 1674 27
  • #1 05 Lip 2016 23:40
    Krzysiek1260
    Poziom 7  

    Kupiłem od kogoś Atmegę8a. Zlutowałem na pająka minimalny układ do migania diodą http://mikrokontrolery.blogspot.com/2011/03/atmega8-pierwszy-program.html (tylko na razie bez przycisków i diod, chciałem najpierw sprawdzić czy programator odczyta sygnaturę). Polecenie avrdude -c bascom -p m8 -B10 wyświetlało błąd świadczący o braku komunikacji z mikrokontrolerem (taki sam występował bez podłączenia układu do programatora). Sprawdzałem poprawność połączeń, złożyłem układ ponownie na płytce stykowej i dalej nic.
    Ale teraz podłączyłem jakiś kwarc (nie wiem jaki, wylutowałem skądś) i tym razem programator odczytał chyba poprawnie sygnaturę:

    Code:
    # avrdude -c bascom -p m8 -B10
    

    avrdude: AVR device initialized and ready to accept instructions

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

    avrdude: Device signature = 0x1e9307 (probably m8)

    avrdude: safemode: Fuses OK (E:FF, H:DF, L:EF)

    avrdude done.  Thank you.

    Chciałem odczytać wsad z procka, ale przez pomyłkę wkleiłem polecenie do zapisu:
    Code:
    # avrdude -c bascom -p m8 -B10 -U flash:w:program.hex
    

    avrdude: AVR device initialized and ready to accept instructions

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

    avrdude: Device signature = 0x1e9307 (probably m8)
    avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed
             To disable this feature, specify the -D option.
    avrdude: erasing chip
    avrdude: reading input file "program.hex"
    avrdude: error opening program.hex: No such file or directory
    avrdude: can't determine file format for program.hex, specify explicitly
    avrdude: read from file 'program.hex' failed

    avrdude: safemode: lfuse changed! Was ef, and is now ff
    Would you like this fuse to be changed back? [y/n]
    I co teraz zrobić, żeby nic sobie nie zablokować? Chciałbym przywrócić ustawienia fabryczne (jeśli były zmienione).

    0 27
  • Arrow Multisolution Day
  • #2 06 Lip 2016 00:00
    excray
    Poziom 39  

    Bez znaczenia. EF czy FF wielkiej różnicy nie robi. Fusy są ustawione na zewnętrzny kwarc>8MHz i zmienia się tylko czas startu po resecie.

    1
  • #3 06 Lip 2016 00:19
    Krzysiek1260
    Poziom 7  

    A z czego w ogóle wynika ten komunikat o zmienionych fusebitach, to normalne czy może być wynikiem jakichś błędów, np. połączeń? Na razie chyba jednak wolałbym przywrócić ustawienia fabryczne. To polecenie będzie poprawne?
    # avrdude -c bascom -v -p m8 -U hfuse:w:0xd9:m -U lfuse:w:0xe1:m

    0
  • #4 06 Lip 2016 00:32
    excray
    Poziom 39  

    Nie wiem. Używam nakładki graficznej na AVRDude i nigdy nie miałem takiego komunikatu.

    0
  • #5 06 Lip 2016 01:46
    Krzysiek1260
    Poziom 7  

    Dałem y i teraz nie działa

    Code:
    # avrdude -c bascom -p m8 -B10
    

    avrdude: AVR device initialized and ready to accept instructions

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

    avrdude: Device signature = 0xffffff (probably .reduced_core_tiny) (retrying)

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

    avrdude: Device signature = 0xffffff (probably .reduced_core_tiny) (retrying)

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

    avrdude: Device signature = 0xffffff (probably .reduced_core_tiny)
    avrdude: Yikes!  Invalid device signature.
             Double check connections and try again, or use -F to override
             this check.


    avrdude done.  Thank you.

    0
  • Arrow Multisolution Day
  • #6 06 Lip 2016 10:58
    excray
    Poziom 39  

    To nieźle. Myślę, że powinieneś zaopatrzyć się w jakąś nakładkę graficzną na programator, zanim zablokujesz wszystkie procesory jakie posiadasz.

    0
  • #7 06 Lip 2016 11:48
    Krzysiek1260
    Poziom 7  

    Potem, po kilku próbach podłączania z kwarcem i bez niego jakoś znowu zadziałało, znalazłem też błąd na płytce. Ale jak próbuję wykonać to polecenie do zmiany fusebitów to dalej są problemy:

    Code:
    # avrdude -c bascom -v -p m8 -U hfuse:w:0xd9:m -U lfuse:w:0xe1:m
    

    avrdude: Version 6.3
             Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
             Copyright (c) 2007-2014 Joerg Wunsch

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

             Using Port                    : /dev/parport0
             Using Programmer              : bascom
             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    4      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 : PPI
             Description     : Bascom SAMPLE programming cable
               VCC     =  (not used)
               BUFF    =  (not used)
               RESET   =  4
               SCK     =  5
               MOSI    =  2
               MISO    =  11
               ERR LED =  (not used)
               RDY LED =  (not used)
               PGM LED =  (not used)
               VFY LED =  (not used)

    avrdude: AVR device initialized and ready to accept instructions

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

    avrdude: Device signature = 0x1e9307 (probably m8)
    avrdude: safemode: hfuse reads as DF
    avrdude: reading input file "0xd9"
    avrdude: writing hfuse (1 bytes):

    Writing |                                                    | 0% 0.00s ***failed; 
    Writing | ################################################## | 100% 0.04s

    avrdude: 1 bytes of hfuse written
    avrdude: verifying hfuse memory against 0xd9:
    avrdude: load data hfuse data from input file 0xd9:
    avrdude: input file 0xd9 contains 1 bytes
    avrdude: reading on-chip hfuse data:

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

    avrdude: verifying ...
    avrdude: verification error, first mismatch at byte 0x0000
             0xff != 0xd9
    avrdude: verification error; content mismatch

    avrdude: safemode: hfuse reads as FF
    avrdude: safemode: lfuse changed! Was ef, and is now ff
    Would you like this fuse to be changed back? [y/n]

    Mam tylko tego procka, był tani więc możliwe że i tak był już uszkodzony.
    Dodam jeszcze, że korzystam z takiego programatora http://mirley.firlej.org/jak_zaprogramowac_pierwszy_avr , tylko zamiast 330R dałem 220R.

    0
  • #8 06 Lip 2016 11:56
    excray
    Poziom 39  

    Myślę, że powinieneś zaopatrzyć się w lepszy programator typu USBASP albo MKII. Są niedrogie a działają z USB i możesz z nich zasilać układ docelowy. A przede wszystkim są sprawdzone.

    0
  • #9 06 Lip 2016 12:48
    Krzysiek1260
    Poziom 7  

    Prędzej czy później zdecydowałbym się na złożenie usbasp, ale na razie nie planuję kupować kolejnych procków, więc programator na lpt powinien mi wystarczyć, tym bardziej że mam starego kompa z LPT. Z tego co czytałem to niektórzy chwalili taki programator, bo działa im bez żadnych problemów.
    Mam Linuxa (Debiana) i próbuję uruchomić Burn-o-mat - zainstalowałem Java, Burn z paczki .deb i uruchamia się, ale nie wiem jakie ustawić ścieżki do avrdude i pliku konfiguracyjnego. Domyślnie były wyświetlone /usr/local/bin/avrdude i /usr/local/etc/avrdude.conf, ale chyba nie są prawidłowe bo w liście rozwijanej nie ma żadnego programatora do wyboru.

    Edit: poleceniem # whereis avrdude znalazłem właściwe ścieżki

    Code:
    avrdude: /usr/bin/avrdude /etc/avrdude.conf /usr/share/man/man1/avrdude.1.gz
    , edytowałem i po ponownym uruchomieniu Burn-o-mat pojawiła się lista programatorów do wyboru, ale nie ma na niej programatora bascom. Dziwne, bo avrdude przecież go obsługuje:
    Code:
    # avrdude -c?
    

    Valid programmers are:
      2232HIO          = FT2232H based generic programmer
      4232h            = FT4232H based generic programmer
      89isp            = Atmel at89isp cable
      abcmini          = ABCmini Board, aka Dick Smith HOTCHIP
      alf              = Nightshade ALF-PgmAVR, http://nightshade.homeip.net/
      arduino          = Arduino
      arduino-ft232r   = Arduino: FT232R connected to ISP
      atisp            = AT-ISP V1.1 programming cable for AVR-SDK1 from <http://micro-research.co.th/>
      atmelice         = Atmel-ICE (ARM/AVR) in JTAG mode
      atmelice_dw      = Atmel-ICE (ARM/AVR) in debugWIRE mode
      atmelice_isp     = Atmel-ICE (ARM/AVR) in ISP mode
      atmelice_pdi     = Atmel-ICE (ARM/AVR) in PDI mode
      avr109           = Atmel AppNote AVR109 Boot Loader
      avr910           = Atmel Low Cost Serial Programmer
      avr911           = Atmel AppNote AVR911 AVROSP
      avrftdi          = FT2232D based generic programmer
      avrisp           = Atmel AVR ISP
      avrisp2          = Atmel AVR ISP mkII
      avrispmkII       = Atmel AVR ISP mkII
      avrispv2         = Atmel AVR ISP V2
      bascom           = Bascom SAMPLE programming cable
      blaster          = Altera ByteBlaster
      bsd              = Brian Dean's Programmer, http://www.bsdhome.com/avrdude/
      buspirate        = The Bus Pirate
      buspirate_bb     = The Bus Pirate (bitbang interface, supports TPI)
      butterfly        = Atmel Butterfly Development Board
      butterfly_mk     = Mikrokopter.de Butterfly
      bwmega           = BitWizard ftdi_atmega builtin programmer
      C232HM           = FT232H based module from FTDI and Glyn.com.au
      c2n232i          = serial port banging, reset=dtr sck=!rts mosi=!txd miso=!cts
      dapa             = Direct AVR Parallel Access cable
      dasa             = serial port banging, reset=rts sck=dtr mosi=txd miso=cts
      dasa3            = serial port banging, reset=!dtr sck=rts mosi=txd miso=cts
      diecimila        = alias for arduino-ft232r
      dragon_dw        = Atmel AVR Dragon in debugWire mode
      dragon_hvsp      = Atmel AVR Dragon in HVSP mode
      dragon_isp       = Atmel AVR Dragon in ISP mode
      dragon_jtag      = Atmel AVR Dragon in JTAG mode
      dragon_pdi       = Atmel AVR Dragon in PDI mode
      dragon_pp        = Atmel AVR Dragon in PP mode
      dt006            = Dontronics DT006
      ere-isp-avr      = ERE ISP-AVR <http://www.ere.co.th/download/sch050713.pdf>
      flip1            = FLIP USB DFU protocol version 1 (doc7618)
      flip2            = FLIP USB DFU protocol version 2 (AVR4023)
      frank-stk200     = Frank STK200
      ft232r           = FT232R Synchronous BitBang
      ft245r           = FT245R Synchronous BitBang
      futurlec         = Futurlec.com programming cable.
      jtag1            = Atmel JTAG ICE (mkI)
      jtag1slow        = Atmel JTAG ICE (mkI)
      jtag2            = Atmel JTAG ICE mkII
      jtag2avr32       = Atmel JTAG ICE mkII im AVR32 mode
      jtag2dw          = Atmel JTAG ICE mkII in debugWire mode
      jtag2fast        = Atmel JTAG ICE mkII
      jtag2isp         = Atmel JTAG ICE mkII in ISP mode
      jtag2pdi         = Atmel JTAG ICE mkII PDI mode
      jtag2slow        = Atmel JTAG ICE mkII
      jtag3            = Atmel AVR JTAGICE3 in JTAG mode
      jtag3dw          = Atmel AVR JTAGICE3 in debugWIRE mode
      jtag3isp         = Atmel AVR JTAGICE3 in ISP mode
      jtag3pdi         = Atmel AVR JTAGICE3 in PDI mode
      jtagkey          = Amontec JTAGKey, JTAGKey-Tiny and JTAGKey2
      jtagmkI          = Atmel JTAG ICE (mkI)
      jtagmkII         = Atmel JTAG ICE mkII
      jtagmkII_avr32   = Atmel JTAG ICE mkII im AVR32 mode
      lm3s811          = Luminary Micro LM3S811 Eval Board (Rev. A)
      mib510           = Crossbow MIB510 programming board
      mkbutterfly      = Mikrokopter.de Butterfly
      nibobee          = NIBObee
      o-link           = O-Link, OpenJTAG from www.100ask.net
      openmoko         = Openmoko debug board (v3)
      pavr             = Jason Kyle's pAVR Serial Programmer
      pickit2          = MicroChip's PICkit2 Programmer
      picoweb          = Picoweb Programming Cable, http://www.picoweb.net/
      pony-stk200      = Pony Prog STK200
      ponyser          = design ponyprog serial, reset=!txd sck=rts mosi=dtr miso=cts
      siprog           = Lancos SI-Prog <http://www.lancos.com/siprogsch.html>
      sp12             = Steve Bolt's Programmer
      stk200           = STK200
      stk500           = Atmel STK500
      stk500hvsp       = Atmel STK500 V2 in high-voltage serial programming mode
      stk500pp         = Atmel STK500 V2 in parallel programming mode
      stk500v1         = Atmel STK500 Version 1.x firmware
      stk500v2         = Atmel STK500 Version 2.x firmware
      stk600           = Atmel STK600
      stk600hvsp       = Atmel STK600 in high-voltage serial programming mode
      stk600pp         = Atmel STK600 in parallel programming mode
      ttl232r          = FTDI TTL232R-5V with ICSP adapter
      tumpa            = TIAO USB Multi-Protocol Adapter
      UM232H           = FT232H based module from FTDI and Glyn.com.au
      uncompatino      = uncompatino with all pairs of pins shorted
      usbasp           = USBasp, http://www.fischl.de/usbasp/
      usbasp-clone     = Any usbasp clone with correct VID/PID
      usbtiny          = USBtiny simple USB programmer, http://www.ladyada.net/make/usbtinyisp/
      wiring           = Wiring
      xil              = Xilinx JTAG cable
      xplainedmini     = Atmel AVR XplainedMini in ISP mode
      xplainedmini_dw  = Atmel AVR XplainedMini in debugWIRE mode
      xplainedpro      = Atmel AVR XplainedPro in JTAG mode

    0
  • #10 07 Lip 2016 13:41
    Krzysiek1260
    Poziom 7  

    Z tego co obserwuję, to udaje się odczytać sygnaturę, w Burn-o-mat odczytuje fusebity i wszystko udaje się z powodzeniem. Ale gdy tylko próbuję coś zapisać, to weryfikacja kończy się błędem i po tym już nie da się połączyć z mikrokontrolerem. Ale wystarczy tylko odłączyć na chwilę zasilanie procka, by znowu udało się z nim połączyć. O czym takie zachowanie może świadczyć? Jakieś niestykające przewody, zablokowana atmega, wadliwy kwarc (ale podpiąłem kabelkami kwarc od innego działającego układu i też działa tak samo)? Spróbuję może jeszcze nowy kabelek zrobić (z oryginalnego kabla do drukarki, ale nie wiem czy to coś da - używam już i tak bardzo krótkiej tasiemki, z resztą wielokrotnie sprawdzałem czy prawidłowo są piny podłączone i czy przewodzą.

    0
  • #11 07 Lip 2016 18:38
    373522
    Użytkownik usunął konto  
  • #12 12 Lip 2016 08:07
    Karol966
    Poziom 30  

    Sprawdź lockbity. Jeśli procesor jest zablokowany to nie zmienisz fusebitow. Pierwszy blad przy programowaniu- czytales dokładnie? Przecież nic nie zaprogramowales bo nie było pliku ;) Gdybyś zaprogramował ten procek jakimś wsadem to automatycznie wyłączył byś blokadę locbitow.
    Dodam, że burn-o-mat nie ma opcji lockbitow. Używałem avrdude gui.

    0
  • #13 12 Lip 2016 13:02
    Krzysiek1260
    Poziom 7  

    Tylko że zanim wystąpił błąd odczytania pliku to wyświetliło komunikat erasing chip, więc wydaje mi się że pamięć już została wyczyszczona, a więc i lockbity.

    Code:
    avrdude: erasing chip
    
    avrdude: reading input file "program.hex"
    avrdude: error opening program.hex: No such file or directory

    Z resztą jak próbowałem wyczyścić pamięć to też występował taki komunikat:
    Code:
    avrdude: safemode: hfuse reads as FF
    
    avrdude: safemode: lfuse changed! Was ef, and is now ff
    Would you like this fuse to be changed back? [y/n]

    Po wybraniu y program nie reaguje i musiałem go zamknąć przez ctrl+c, a po wybraniu n pojawia się podobne pytanie dotyczące hfuse. Po ponownym wybraniu n program kończy pracę, ale po tym atmega także przestaje się komunikować z programatorem. Dopiero po odłączeniu na chwilę zasilania układu znowu się komunikuje.
    Może rzeczywiście problemy generuje programator na lpt. Kiedyś na innym komputerze programowałem at89s52 w taki sposób http://przypadkiadama.com/zrob/programowanie_mikrokontrolera.htm i zawsze musiałem 3 razy naciskać erase & program all, bo za pierwszym razem program wyświetlał status ready po ułamku sekundy, za drugim razem zatrzymywał się w połowie paska postępu i dopiero za trzecim razem dochodził do końca.

    Jeszcze problem może być z kondensatorami 100n, wylutowywałem je skądś i mogły się trochę przegrzać.

    0
  • #14 12 Lip 2016 13:24
    Karol966
    Poziom 30  

    Sam kiedyś używałem stk200 zbudowanym na prostym buforze a w skrajnym przypadku podłączyłem bezpośrednio procesor do portu LPT - oczywiście wszystko działało. Nie pamiętam, czy też miewałem takie problemy jak opisujesz ale niewykluczone, że czasami nie chciało to działać jak trzeba - z jakiegoś powodu wtedy przeszedłem na usbasp a powodem tym nie był brak portu LPT ;)
    Kiedyś nie było usbasp itp a ludzie sobie radzili więc nie zwalaj od razu na programator.

    0
  • #15 12 Lip 2016 15:12
    Krzysiek1260
    Poziom 7  

    Oczywiście, że to nie musi być wina programatora, a w tym wypadku możliwych powodów jest wiele, bo nawet sama atmega może być uszkodzona albo wadliwa.
    A czy można do wyprowadzeń programatora podłączyć jakoś diody, które podczas programowania sygnalizowałyby, czy biegną przez nie jakieś impulsy? Z ciekawości do pinu reset mikrokontrolera podłączyłem diodę (między rezystor 10k a nóżkę procesora) i przy łączeniu się avrdude z atmegą dioda zapala się na chwilę.

    0
  • #16 12 Lip 2016 17:30
    Karol966
    Poziom 30  

    Możesz sobie nawet oscyloskop z karty dźwiękowej zrobić a jak się boisz o swoje wejście audio to z tego co mi wiadomo na allegro są do kupienia karty dzwiękowe usb za mniej niż 10zł. Jak chcesz nieco lepiej to po cenie zakupu elementów mogę Ci odsprzedać mój stary analizator stanów logicznych:
    https://www.elektroda.pl/rtvforum/viewtopic.php?p=9496846#9496846 ale ceny oscyloskopu na karcie dźwiękowej nic nie przebije ;)
    http://mikrokontrolery.blogspot.com/2011/04/darmowy-oscyloskop-i-analizator.html

    Nakładka na avrdude, która pozwoli Ci wyczyścić procesor, zmienić lockbity
    https://sourceforge.net/projects/avrdude-gui/
    burn-o-mat również pozostaw bo on pozwala na nieco przyjemniejszą konfiguracje fusebitów (nie jest aż tak łatwo zablokować procesor poprzez błędnie ustawianie np źródła taktowania).
    PS. To, ze nie widziałeś programatora po zainstalowaniu nakładki burn-o-mat to normalna sprawa, ścieżkę do avrdude możesz podać dowolną, ja zwykle mam na dysku C jakiś folder do takich przydatnych plików ale równie dobrze możesz podać jakąś tam z daleka ścieżkę. Potem zapisujesz i uruchamiasz ponownie nakładkę i gotowe ;)
    PS. Widziałem, że masz jakiś mocno świeży avrdude - albo ja bardzo stary ;) może tu siedzi jakiś babol?

    0
  • #17 12 Lip 2016 17:54
    Krzysiek1260
    Poziom 7  

    Ja mam Debiana, więc wklepuję w konsoli apt-get install avrdude i jest zainstalowane, dlatego pewnie jest najnowsza wersja :)
    Jak podałem poprawne ścieżki to wczytała się lista programatorów, ale nie ma na niej w ogóle programatora bascom. Dopisuję po prostu w polu na dodatkowe parametry -c bascom, ale w podglądzie konsoli widać potem, że nakładka wysyła do avrdude polecenie z dwoma parametrami -c, np. -c stk200 -c bascom
    Mam nadzieję, że avrdude interpretuje to w taki sposób, że uwzględnia tylko ten ostatni parametr.

    0
  • #18 12 Lip 2016 17:59
    Karol966
    Poziom 30  

    A po co Ci ten bascom do tego mieszać?

    PS. widziałem , że wyszła wersja 6.3 avrdude ale wstyd się przyznać, nie wiem skąd ją pobrać bo w dziale dwondload jest tylko dokumentacja. Nie pamętam jak wcześniej pobierałem avrdude ale to mało ważne teraz.

    Użyj programatora STK200 i tyle. Nigdzie na czas chociażby testu nie używaj tego bascoma. Sprawdź tylko czy masz zgodne połączenia z stk200 wg Twojego programatora i działaj.

    0
  • #19 12 Lip 2016 18:35
    idepopizze
    Poziom 32  

    Przy zabawach na LPT warto sprawdzić jakie są na pinach napięcia. Chodzi o to, że jedynka logiczna to 5V i wtedy jest ok, ale może się zdarzyć, że jest 3.3V i wtedy pojawiają się problemy. Używałem LPT + kilka rezystorów do programowania, ale wygodniejsze i bezpieczniejsze dla płyty głównej jest programowanie przez USB

    0
  • #20 12 Lip 2016 18:57
    Krzysiek1260
    Poziom 7  

    Mój programator to tylko prosty kabelek łączący lpt z prockiem, z 4 rezystorami, z tej strony
    http://mirley.firlej.org/jak_zaprogramowac_pierwszy_avr
    W jednym z tematów na Elektrodzie ktoś pytał który z 3 różnych programatorów wybrać i polecano mu właśnie ten, dlatego go zastosowałem.
    W avrdude ten układ połączeń odpowiada właśnie programatorowi bascom, nie wiem który jeszcze jest zgodny z połączeniami mojego "programatora". Z resztą to chyba i tak wyszłoby na to samo.

    0
  • #21 12 Lip 2016 19:06
    idepopizze
    Poziom 32  

    Rzeczywiście to najprostszy programator. Do okazyjnego zaprogramowania procesora jest ok, jednak gdy robisz częstsze zmiany programu, a programowanego procesora nie masz na biurku to wtedy LPT robi się uciążliwe. Wszystko zależy od tego co zamierzasz.

    0
  • #22 12 Lip 2016 19:29
    Krzysiek1260
    Poziom 7  

    To prawda, wchodzenie pod biurko nie jest zbyt wygodne :) Może zrobię dłuższy kabel na bazie oryginalnego kabla od drukarki (dolutowałbym tylko odpowiednie wyprowadzenia od wtyczki, bo nie chcę go zniszczyć).
    Jeszcze nad takim myślałem http://www.qsl.net/ba1fb/avrisp.gif , ciekawi mnie tylko czym się różni od tamtego, że lpt musi mieć połączone piny 11-3 i 12-2?

    0
  • #23 12 Lip 2016 19:42
    2675900
    Użytkownik usunął konto  
  • #24 12 Lip 2016 20:05
    idepopizze
    Poziom 32  

    Krzysiek1260 napisał:
    ciekawi mnie tylko czym się różni od tamtego, że lpt musi mieć połączone piny 11-3 i 12-2?


    Najpewniej program sprawdza czy programator wpięty jest w LPT

    0
  • #25 12 Lip 2016 20:07
    Krzysiek1260
    Poziom 7  

    Chyba na to wychodzi, tylko że kabelek na lpt to chwila roboty z tego co się ma pod ręką, a na wysyłkę trzeba czekać :) Ale niektórym jednak jakoś działają te proste programatorki.

    0
  • #27 19 Lip 2016 21:44
    Krzysiek1260
    Poziom 7  

    Chyba jednak problem stanowiła atmega8, bo w ten sam sposób, tym samym kabelkiem, bez żadnego problemu zaprogramowałem mikrokontroler atmega328p (ustawiony na wewnętrzny kwarc 8 MHz).
    Program kompilowałem w konsoli, wykorzystując avr-gcc i avr-objcopy.

    0
  • #28 20 Lip 2016 12:34
    kamyczek
    Poziom 34  

    Problem przy programowaniu po isp może stanowić wyłączone wyprowadzenie reset lub i co częściej się zdarza zbyt wysoka częstotliwość sygnału zegarowego CLK w programatorze . Musi on wynosić maksymalnie 1/4 sygnału taktującego mikrokontroler dla mikrokontrolera ustawionego na wewnętrzny oscylator RC/8 (1MHz) dla takiego ustawienia potrzebna jest częstotliwość magistrali spi 250kHz.

    0