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

[ft232r(evb)] Konfiguracja AVRDUDE na Debianie Squeeze dla Atmega644p z EVB 4.3

krzysztoftc 19 Cze 2012 21:32 6413 43
  • #1 11019888
    krzysztoftc
    Poziom 11  
    Witam!

    Od jakiegoś czasu zajmuję się trochę programowaniem uC Atmega. Wszystko było ok dopóki bawiłem się w to w systemie Windows. Zmiana środowiska na Linux stała się problem. Otóż: mam zestaw EVB 4.3 pod AVRDUDE w windows chodzi. Ale w Linux już nie :(. Wykonałem instrukcje z forum and-tech.pl:

    Cytat:
    Instrukcja dla osĂłb korzystających z OS Debian/Ubuntu

    Aby uruchomić programator przy wykorzystaniu AVRDUDE należy wykonać w terminalu następujące komendy:

    Kod:

    sudo apt-get install patch build-essential libreadline-dev libncurses-dev libusb-dev
    sudo apt-get build-dep avrdude avrdude-doc


    Ściągamy AVRDUDE 5.8, roztarowujemy go i przechodzimy do katalogu:

    Kod:

    wget http://download.savannah.gnu.org/releases-noredirect/avrdude/avrdude-5.8.tar.gz
    tar xzf avrdude-5.8.tar.gz
    cd avrdude-5.8


    Teraz zdobywamy patche dla wykorzystania FTDI jako programatora:

    Kod:

    for i in 8 7 6 5 4 3 2 1 0; do wget -O patch-$i.diff http://savannah.nongnu.org/patch/download.php?file_id=1851$i; done


    Potwierdzamy patche:

    Kod:

    for file in patch-*.diff; do patch -p0 < $file; done


    Zdobywamy sterowniki dla FTDI. Dla wersji 32-bitowych:

    Kod:

    wget http://www.ftdichip.com/Drivers/D2XX/Linux/libftd2xx0.4.16.tar.gz


    Dla wersji 64-bitowych:

    Kod:

    wget http://www.ftdichip.com/Drivers/D2XX/Linux/libftd2xx0.4.16_x86_64.tar.gz


    Rozpakowujemy sterowniki i kopiujemy potrzebne pliki:

    Kod:

    tar xzf libftd2xx*.tar.gz
    cp libftd2xx*/static_lib/* .
    cp libftd2xx*/*.h .
    cp libftd2xx*/*.cfg .


    Generujemy nasz Makefile:

    Kod:

    ./configure


    Otwieramy plik Makefile w edytorze tekstu (np. gedit):


    1. Odszukujemy linię
    Kod:
    CFLAGS = -g -O2
    i podmieniamy ją
    Kod:
    CFLAGS = -g -O2 -DHAVE_LIBUSB -DSUPPORT_FT245R

    2. Odszukujemy linię
    Kod:
    LIBS = -lreadline -lncurses -ltermcap
    i podmieniamy ją
    Kod:
    LIBS = -lreadline -lncurses -ltermcap ./libftd2xx.a.0.4.16 -lrt


    Na koniec kompilujemy wszystko:

    Kod:

    make



    Ze strony: http://www.and-tech.pl/forum/printview.php?t=911&start=0&sid=4074b7c84b0e2ef9f83f2966637e5ebe

    Dołożyłem do tego nakładkę AVR8-Burn-o-mat i wybrałem odpowiednie pliki do konfiguracji, gdyż nie znam poleceń gołego avrdude.

    Niestety coś mi nie działa, tutaj daję screeny:
    [ft232r(evb)] Konfiguracja AVRDUDE na Debianie Squeeze dla Atmega644p z EVB 4.3 [ft232r(evb)] Konfiguracja AVRDUDE na Debianie Squeeze dla Atmega644p z EVB 4.3

    Mam uC Atmega644p, pracuję na Debianie Squeeze.

    Bardzo proszę o pomoc, gdyż męczę się z tym już kilka dni.
  • #2 11019958
    LordBlick
    VIP Zasłużony dla elektroda
    A uprawnienia urządzenia są w porządku ? Zostaw w spokoju jakieś ftdi nie wiadomo skąd i wydanie avrdude sprzed paru lat. Najnowsze jądro liniux ma to już w sobie, a avrdude pewnie siedzi w repozytorim pakietów Debiana i się z Ciebie śmieje... ;)
  • #3 11019976
    krzysztoftc
    Poziom 11  
    Tak-chwilowo pozwoliłem sobie uruchamiać avr8-burn-o-mat z konta roota. Wiem, że to nie jest dobre rozwiązanie, ale jakoś to musi ruszyć, a wtedy się będę martwił co dalej
  • #4 11020016
    LordBlick
    VIP Zasłużony dla elektroda
    Wywal tego tutka Andtech do śmieci, to jest staroć. Weź normalną paczkę avrdude-5.10 z repozytorium Debiana. http://packages.debian.org/pl/squeeze/avrdude
    $ avrdude -c help 2>&1 | grep FT2232
      2232HIO  = FT2232H based generic programmer [/etc/avrdude.conf:382]
      avrftdi  = FT2232D based generic programmer [/etc/avrdude.conf:355]
    
    Tak w ogóle to u mnie się sprawdza wyśmienicie USBasp i AVRDragon. (PLD Linux)
  • #5 11020051
    krzysztoftc
    Poziom 11  
    ok. Zainstalowałem avrdude przez apta. Co dalej?
    Mam to wkleić do konsoli? Widze "$" czyli bez roota? i jednym ciągiem?
  • #6 11020072
    LordBlick
    VIP Zasłużony dla elektroda
    To jest tylko wycinek, chciałem pokazać, że FT232 jest obsługiwane. Ja używam pod użytkownikiem...
    Wpisz bez grepa i przekierowania, to zobaczysz jakie programatory obsługuje.
  • #7 11020092
    krzysztoftc
    Poziom 11  
    U mnie jest coś takiego po wpisaniu:
    avrdude -c help 2>&1

    Jak dam: avrdude -c help 2>&1 | grep FT2232 to się nic nie pokazuje

    avrdude: Can't find programmer id "help"
    
    Valid programmers are:
      c2n232i  = serial port banging, reset=dtr sck=!rts mosi=!txd miso=!cts [/etc/avrdude.conf:876]
      dasa3    = serial port banging, reset=!dtr sck=rts mosi=txd miso=cts [/etc/avrdude.conf:863]
      dasa     = serial port banging, reset=rts sck=dtr mosi=txd miso=cts [/etc/avrdude.conf:850]
      siprog   = Lancos SI-Prog <http://www.lancos.com/siprogsch.html> [/etc/avrdude.conf:837]
      ponyser  = design ponyprog serial, reset=!txd sck=rts mosi=dtr miso=cts [/etc/avrdude.conf:824]
      89isp    = Atmel at89isp cable            [/etc/avrdude.conf:791]
      frank-stk200 = Frank STK200                   [/etc/avrdude.conf:777]
      blaster  = Altera ByteBlaster             [/etc/avrdude.conf:764]
      ere-isp-avr = ERE ISP-AVR <http://www.ere.co.th/download/sch050713.pdf> [/etc/avrdude.conf:754]
      atisp    = AT-ISP V1.1 programming cable for AVR-SDK1 from <http://micro-research.co.th/>  [/etc/avrdude.conf:744]
      dapa     = Direct AVR Parallel Access cable [/etc/avrdude.conf:733]
      xil      = Xilinx JTAG cable              [/etc/avrdude.conf:720]
      futurlec = Futurlec.com programming cable. [/etc/avrdude.conf:703]
      abcmini  = ABCmini Board, aka Dick Smith HOTCHIP [/etc/avrdude.conf:693]
      picoweb  = Picoweb Programming Cable, http://www.picoweb.net/ [/etc/avrdude.conf:683]
      sp12     = Steve Bolt's Programmer        [/etc/avrdude.conf:672]
      alf      = Nightshade ALF-PgmAVR, http://nightshade.homeip.net/ [/etc/avrdude.conf:656]
      bascom   = Bascom SAMPLE programming cable [/etc/avrdude.conf:646]
      dt006    = Dontronics DT006               [/etc/avrdude.conf:636]
      pony-stk200 = Pony Prog STK200               [/etc/avrdude.conf:624]
      stk200   = STK200                         [/etc/avrdude.conf:608]
      bsd      = Brian Dean's Programmer, http://www.bsdhome.com/avrdude/ [/etc/avrdude.conf:597]
      pavr     = Jason Kyle's pAVR Serial Programmer [/etc/avrdude.conf:589]
      dragon_pdi = Atmel AVR Dragon in PDI mode   [/etc/avrdude.conf:582]
      dragon_dw = Atmel AVR Dragon in debugWire mode [/etc/avrdude.conf:574]
      dragon_hvsp = Atmel AVR Dragon in HVSP mode  [/etc/avrdude.conf:566]
      dragon_pp = Atmel AVR Dragon in PP mode    [/etc/avrdude.conf:558]
      dragon_isp = Atmel AVR Dragon in ISP mode   [/etc/avrdude.conf:550]
      dragon_jtag = Atmel AVR Dragon in JTAG mode  [/etc/avrdude.conf:542]
      jtag2pdi = Atmel JTAG ICE mkII PDI mode   [/etc/avrdude.conf:534]
      jtag2avr32 = Atmel JTAG ICE mkII im AVR32 mode [/etc/avrdude.conf:526]
      jtagmkII_avr32 = Atmel JTAG ICE mkII im AVR32 mode [/etc/avrdude.conf:518]
      jtag2dw  = Atmel JTAG ICE mkII in debugWire mode [/etc/avrdude.conf:510]
      jtag2isp = Atmel JTAG ICE mkII in ISP mode [/etc/avrdude.conf:502]
      jtag2    = Atmel JTAG ICE mkII            [/etc/avrdude.conf:494]
      jtag2fast = Atmel JTAG ICE mkII            [/etc/avrdude.conf:486]
      jtag2slow = Atmel JTAG ICE mkII            [/etc/avrdude.conf:478]
      jtagmkII = Atmel JTAG ICE mkII            [/etc/avrdude.conf:470]
      jtag1slow = Atmel JTAG ICE (mkI)           [/etc/avrdude.conf:463]
      jtag1    = Atmel JTAG ICE (mkI)           [/etc/avrdude.conf:455]
      jtagmkI  = Atmel JTAG ICE (mkI)           [/etc/avrdude.conf:447]
      avr911   = Atmel AppNote AVR911 AVROSP    [/etc/avrdude.conf:441]
      avr109   = Atmel AppNote AVR109 Boot Loader [/etc/avrdude.conf:435]
      butterfly = Atmel Butterfly Development Board [/etc/avrdude.conf:429]
      usbtiny  = USBtiny simple USB programmer, http://www.ladyada.net/make/usbtinyisp/ [/etc/avrdude.conf:423]
      usbasp   = USBasp, http://www.fischl.de/usbasp/ [/etc/avrdude.conf:417]
      avr910   = Atmel Low Cost Serial Programmer [/etc/avrdude.conf:411]
      stk600hvsp = Atmel STK600 in high-voltage serial programming mode [/etc/avrdude.conf:405]
      stk600pp = Atmel STK600 in parallel programming mode [/etc/avrdude.conf:399]
      stk600   = Atmel STK600                   [/etc/avrdude.conf:393]
      stk500hvsp = Atmel STK500 V2 in high-voltage serial programming mode [/etc/avrdude.conf:387]
      stk500pp = Atmel STK500 V2 in parallel programming mode [/etc/avrdude.conf:381]
      stk500v2 = Atmel STK500 Version 2.x firmware [/etc/avrdude.conf:375]
      mib510   = Crossbow MIB510 programming board [/etc/avrdude.conf:369]
      stk500v1 = Atmel STK500 Version 1.x firmware [/etc/avrdude.conf:363]
      stk500   = Atmel STK500                   [/etc/avrdude.conf:357]
      buspirate = The Bus Pirate                 [/etc/avrdude.conf:347]
      avrisp2  = Atmel AVR ISP mkII             [/etc/avrdude.conf:341]
      avrispmkII = Atmel AVR ISP mkII             [/etc/avrdude.conf:335]
      avrispv2 = Atmel AVR ISP V2               [/etc/avrdude.conf:329]
      avrisp   = Atmel AVR ISP                  [/etc/avrdude.conf:323]
      arduino  = Arduino                        [/etc/avrdude.conf:317]
    
  • #8 11020094
    sulfur
    Poziom 24  
    Ja też używam pod zwykłym użytkownikiem. Nie ma żadnego problemu.
  • #9 11020101
    krzysztoftc
    Poziom 11  
    A dodawałeś jakieś inne pakiet jeszcze? Jeśli tak, to jakie?
  • #10 11020106
    LordBlick
    VIP Zasłużony dla elektroda
    Chwila, jaką wersję pociągnąłeś ?
    Prawidłowe polecenie dla wylistowania obsługiwanych dongli to :
    Kod: Bash
    Zaloguj się, aby zobaczyć kod
  • #11 11020120
    krzysztoftc
    Poziom 11  
    Avrdude version 5.10
  • #12 11020131
    sulfur
    Poziom 24  
    sulfur@sulfur-lenovo:~$ sudo aptitude search avr~i
    i   avrdude                         - Oprogramowanie do programowania mikrokontr
    sulfur@sulfur-lenovo:~$ 

    Masz problem z doborem programatora, z komunikacją, czy z czym ? Ja używam usbasp, więc może problem leży w tym, że podajesz niewłaściwy programator?
  • #13 11020148
    LordBlick
    VIP Zasłużony dla elektroda
    Wpisz w ~/.avrduderc:
    programmer
      id	= "avrftdi";
      desc	= "FT2232D based generic programmer";
      type	= avrftdi;
      usbvid     = 0x0403;
      usbpid     = 0x6010;
      usbvendor  = "";
      usbproduct = "";
      usbdev     = "A";
      usbsn      = "";
    #ISP-signals - lower ACBUS-Nibble (default)
      reset  = 4;
      sck    = 1;
      mosi   = 2;
      miso   = 3;
    #LED SIGNALs - higher ACBUS-Nibble
    #  errled = 5;
    #  rdyled = 6;
    #  pgmled = 7;
    #  vfyled = 8;
    #Buffer Signal - ADBUS - Nibble
    #  buff   = 9;
    ;
    
  • #14 11020161
    krzysztoftc
    Poziom 11  
    To co ja mam zainstalowane
    root@debian:/dev# aptitude search avr~i
    i avr-libc - Standardowa biblioteka C do programowania
    i avr8-burn-o-mat - GUI for avrdude written in Java. A java-ru
    i avrdude - Oprogramowanie do programowania mikrokontr
    i A binutils-avr - Binary utilities supporting Atmel's AVR ta
    i A gcc-avr - The GNU C compiler (cross compiler for avr)

    A programator, tak jak pisałem ft232r z EVB (ISP)
    Wygląda na problem z komunikacją avrude->usb->uC

    Dodano po 2 [minuty]:

    LordBlick napisał:
    Wpisz w ~/.avrduderc:
    programmer
      id	= "avrftdi";
      desc	= "FT2232D based generic programmer";
      type	= avrftdi;
      usbvid     = 0x0403;
      usbpid     = 0x6010;
      usbvendor  = "";
      usbproduct = "";
      usbdev     = "A";
      usbsn      = "";
    #ISP-signals - lower ACBUS-Nibble (default)
      reset  = 4;
      sck    = 1;
      mosi   = 2;
      miso   = 3;
    #LED SIGNALs - higher ACBUS-Nibble
    #  errled = 5;
    #  rdyled = 6;
    #  pgmled = 7;
    #  vfyled = 8;
    #Buffer Signal - ADBUS - Nibble
    #  buff   = 9;
    ;
    


    W sensie że w avrude.conf? Czy gdzie?
  • #15 11020188
    sulfur
    Poziom 24  
    No to dopisz to, co podał LordBlick, albo w tym pliku, albo w /etc/avrdude.conf i wtedy uruchom to z -c avrftdi
    Ja avr-libc i avr-gcc kompilowałem akurat sam
  • #16 11020202
    LordBlick
    VIP Zasłużony dla elektroda
    Za mało ćwiczeń z shell-em w konsoli... ;) Tylda oznacza katalog domowy. Jak będziesz mieszał w /etc, to przy następnym update może ci się coś popsuć.
  • #17 11020251
    krzysztoftc
    Poziom 11  
    W katalogu /home/krzysiek (mój user)
    Nie ma takiego pliku...
  • #19 11020285
    krzysztoftc
    Poziom 11  
    Tak też zrobiłem
    potem wklepałe avrdude -c avrftdi
    co wywaliło:
    error at /home/krzysiek/.avrduderc:4 unrecognized character: "a"
  • #21 11020341
    krzysztoftc
    Poziom 11  
    Wszystko, byleby to zadziałało!
  • #22 11020344
    sulfur
    Poziom 24  
    Wersja 5.10 nie obsługuje avrftdi.
  • #23 11020356
    krzysztoftc
    Poziom 11  
    A jaka obsługuje?
    Tak, mam 64 bit
  • #25 11020371
    krzysztoftc
    Poziom 11  
    Linux debian 2.6.32-5-amd64 #1 SMP Sun May 6 04:00:17 UTC 2012 x86_64 GNU/Linux

    Dodano po 7 [minuty]:

    Zainstalowałem avrdude 5.11:


    krzysiek@debian:~$ avrdude -c avrftdi -p m644
    avrdude: No devices with Vendor-ID:Product-ID 0403:6010 found.
  • #27 11020466
    krzysztoftc
    Poziom 11  
    Bus 002 Device 004: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
  • #29 11020496
    pancio
    Poziom 16  
    
    pancio@desktop:~$ lsusb
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    ...
    Bus 002 Device 008: ID 046d:c227 Logitech, Inc. G15 Refresh Keyboard
    Bus 002 Device 009: ID 16c0:05dc VOTI shared ID for use with libusb
    pancio@desktop:~$
    


    u ciebie będzie cos z FTDI ( u mnie jest VOTI) - wpisz VendorID:ProductID do konfiga avrdude ...

    Cytat:
    Bus 002 Device 004: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC


    nie walnąłeś literówki 6010 (ma być 6001?)

    pancio@desktop:~$ avrdude -v
    
    avrdude: Version 5.11.1, compiled on Oct 30 2011 at 10:37:28
    
    pancio@desktop:~$ avrdude -c?
    ...
      2232HIO  = FT2232H based generic programmer [/etc/avrdude.conf:382]
      avrftdi  = FT2232D based generic programmer [/etc/avrdude.conf:355]
    ...
    


    Ta wersja - 5.11.1 obsługuje ftdi, jednak sprawdzane na MINT 13
  • #30 11020525
    LordBlick
    VIP Zasłużony dla elektroda
    pancio napisał:
    nie walnąłeś literówki 6010 (ma być 6001?)
    Jakby wszystko się zgadzało (6010) to by zaskoczyło. Można podmienić w ~/.avrduderc ze zmienioną nazwą ft232r. Trzeba tylko sprawdzić układ podłączeń, czy jest taki sam jak w pliku konfiguracyjnym.
    programmer
      id	= "ft232r";
      desc	= "FT2232D based generic programmer";
      type	= avrftdi;
      usbvid     = 0x0403;
      usbpid     = 0x6001;
      usbvendor  = "";
      usbproduct = "";
      usbdev     = "A";
      usbsn      = "";
    #ISP-signals - lower ACBUS-Nibble (default)
      reset  = 4;
      sck    = 0;
      mosi   = 2;
      miso   = 3;
    #LED SIGNALs - higher ACBUS-Nibble
    #  errled = 5;
    #  rdyled = 6;
    #  pgmled = 7;
    #  vfyled = 8;
    #Buffer Signal - ADBUS - Nibble
    #  buff   = 9;
    ;
    
    Tak patrzę po VID:PID i chyba jednak masz ft245 nie ft232...
REKLAMA