Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Zaprogramować ATMEGA32 z Avrdude w Linux

02 May 2013 19:51 3168 4
  • Level 36  
    Mam pod ręką Raspberry Pi (Raspbian) oraz dwa programatory:

    ID 16c0:05e1 VOTI CDC-ACM class devices (modems)
    ID 16c0:05dc VOTI shared ID for use with libusb

    Potrzebuję zaprogramować Atmega32 po ISP (za pomocą któregoś z programatorów powyżej).

    Ktoś podpowie tak to zrobić, krok po kroku? (zero doświadczeń z programowaniem za pomocą Comand Line Interface, sterownikami do programatorów itp. Prośba o pomoc.

    Zainstalowałem avrdude:

    Code: bash
    Log in, to see the code



    Dwa programatory wpięte i widziane przez system:

    Code: bash
    Log in, to see the code


    Co dalej?
    Do you have a problem with Raspberry? Ask question. Visit our forum Raspberry.
  • Level 33  
    Nie wiem jak te Twoje programatory się nazywają ale wnioskuję że jednym z nich to USBasp.
    Podajesz komendę w terminalu tak samo jak w windows np:

    Code: bash
    Log in, to see the code
  • Level 36  
    markosik20 wrote:
    Nie wiem jak te Twoje programatory się nazywają ale wnioskuję że jednym z nich to USBasp.
    Podajesz komendę w terminalu tak samo jak w windows np:

    Code: bash
    Log in, to see the code


    Jesteś pewien, że w linuksie definiuje się to identycznie? Ścieżka do pliku hex? Podać "usb" czy ścieżkę do pliku urządzenia, jak znaleźć ścieżkę do pliku urządzenia?

    Fajnie byłoby gdyby odezwał się ktoś kto to już robił pod linuksem i podzielił się najważniejszymi informacjami. Będę bardzo wdzięczny.
  • Helpful post
    Level 28  
    Tak to wygąda u mnie w eclipse
    Code:
    Launching /usr/bin/avrdude -pm644p -cavrisp2 -Pusb -Uflash:w:TEST.hex:a 
    
    Output:
    avrdude: usbdev_open(): did not find any USB device "usb"
    avrdude execution aborted

    Wcześniej było duuuużo zabawy żeby programator zaczął działać, ale to już inna sprawa jak avrdude.

    //update
    A konkretnie z edycją plików w rules.d. Progamator udało mi sie uruchomić tworząc plik 60-avarice.rules o zawartości
    Code:
    # Atmel Corp. JTAG ICE mkII
    
    #ATTR{idVendor}=="03eb", SYSFS{idProduct}=="2103", MODE="660", GROUP="avr"
    # Atmel Corp. AVRISP mkII
    #ATTR{idVendor}=="03eb", SYSFS{idProduct}=="2104", MODE="660", GROUP="avr"
    # Atmel Corp. Dragon
    #ATTR{idVendor}=="03eb", SYSFS{idProduct}=="2107", MODE="660", GROUP="avr"
    #AVRISP mkII
    SUBSYSTEM=="usb",ATTR{idVendor}=="03eb",ATTR{idProduct}=="2104", MODE:="0666"


    A także dodaniu grupy usb i do niej $.
    Progamator jest w tej chwili widziany jako
    Code:
    Bus 005 Device 002: ID 03eb:2104 Atmel Corp. AVR ISP mkII
    
  • Level 36  
    Zdaje się, że zadziałało.

    Jedyne co zrobiłem to zainstalowałem avrdude, wpiąłem programator do USB, umieściłem plik hex bezpośrednio w katalogu domowym, następnie:

    Code:
    root@raspberrypi:/home/pi# avrdude -p m32 -c usbasp -P usb -U flash:w:St_pom_147.hex
    

    avrdude: AVR device initialized and ready to accept instructions

    Reading | ################################################## | 100% 0.02s

    avrdude: Device signature = 0x1e9502
    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 "St_pom_147.hex"
    avrdude: input file St_pom_147.hex auto detected as Intel Hex
    avrdude: writing flash (25120 bytes):

    Writing | ################################################## | 100% 205.03s



    avrdude: 25120 bytes of flash written
    avrdude: verifying flash memory against St_pom_147.hex:
    avrdude: load data flash data from input file St_pom_147.hex:
    avrdude: input file St_pom_147.hex auto detected as Intel Hex
    avrdude: input file St_pom_147.hex contains 25120 bytes
    avrdude: reading on-chip flash data:

    Reading | ################################################## | 100% 130.89s



    avrdude: verifying ...
    avrdude: 25120 bytes of flash verified

    avrdude: safemode: Fuses OK

    avrdude done.  Thank you.

    root@raspberrypi:/home/pi#