logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.
  • #1 6713957
    Kacpir
    Poziom 10  
    Proszę o pomoc bo przekopałem google, fora i dokumentacje avrdude`a i jest drobny postęp ale dalej nie działa. Kompilacja kody C do hex`a przebiega bez problemu, natomiast schody zaczynają się przy zaprogramowaniu mojej atmegi16. Idąc za głosem brata ;] podpoiłem bez żadnych układów atmege do LPT i zasilanie z usb. Programowałem już w bascomie na windowsie ale tu na ubuntu 9.04 sprawa wygląda trochę inaczej.
    a teraz co się dzieje przy:
    sudo avrdude -c stk200 -p m16 -U flash:w:test.hex -F

    avrdude: AVR device not responding
    avrdude: initialization failed, rc=-1
    avrdude: AVR device initialized and ready to accept instructions
    
    Reading | ################################################## | 100% 0.00s
    
    avrdude: Device signature = 0xffffff
    avrdude: Yikes!  Invalid device signature.
    avrdude: Expected signature for ATMEGA16 is 1E 94 03
    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: AVR device not responding
    avrdude: reading input file "test.hex"
    avrdude: input file test.hex auto detected as Intel Hex
    avrdude: writing flash (182 bytes):
    
    Writing | ################################################## | 100% 0.11s
    
    avrdude: 182 bytes of flash written
    avrdude: verifying flash memory against test.hex:
    avrdude: load data flash data from input file test.hex:
    avrdude: input file test.hex auto detected as Intel Hex
    avrdude: input file test.hex contains 182 bytes
    avrdude: reading on-chip flash data:
    
    Reading | ################################################## | 100% 0.10s
    
    avrdude: verifying ...
    avrdude: verification error, first mismatch at byte 0x0000
             0x0c != 0xff
    avrdude: verification error; content mismatch
    
    avrdude: safemode: Fuses OK
    
    avrdude done.  Thank you.


    i:
    sudo avrdude -c stk200 -p m16 -U flash:r:test.hex -F

    avrdude: AVR device not responding
    avrdude: initialization failed, rc=-1
    avrdude: AVR device initialized and ready to accept instructions
    
    Reading | ################################################## | 100% 0.00s
    
    avrdude: Device signature = 0xffffff
    avrdude: Yikes!  Invalid device signature.
    avrdude: Expected signature for ATMEGA16 is 1E 94 03
    avrdude: reading flash memory:
    
    Reading | ################################################## | 100% 4.40s
    
    avrdude: writing output file "test.hex"
    avrdude: output file test.hex auto detected as Intel Hex
    
    avrdude: safemode: Fuses OK
    
    avrdude done.  Thank you.


    i nie wiem jaka jest różnica między "w", a "r".
    Bardzo proszę o pomoc.
  • Pomocny post
    #2 6714027
    snow
    Poziom 31  
    w - write - zapis
    r - read - odczyt
  • #3 6714053
    Kacpir
    Poziom 10  
    snow napisał:
    w - write - zapis
    r - read - odczyt

    Dziękuje. Pozostaje kwestia najważniejsza: Co mam źle? I co zrobić żeby działało?
  • Pomocny post
    #4 6714079
    snow
    Poziom 31  
    Ja używam na ubuntu kontrollerlab i przez stk500v2 wrzuca bez problemu. Można w nim wybrać STK200 to spróbuj nim - może będzie działać. Poza tym dziwi mnie ciągle czemu ludzie piszą LTP mając na myśli LPT :)
  • #5 6714172
    Kacpir
    Poziom 10  
    snow napisał:
    Ja używam na ubuntu kontrollerlab i przez stk500v2 wrzuca bez problemu. Można w nim wybrać STK200 to spróbuj nim - może będzie działać. Poza tym dziwi mnie ciągle czemu ludzie piszą LTP mając na myśli LPT :)

    Też nie wiem dlaczego :D
    Ok spróbuje zrobić tak jak piszesz.

    Edit
    Mam KontrollerLab, wygląda na przyjazne IDE. Ustawiłem, że to ma być Atmega16, skompilowałem bez błędnie:
    #include <avr/io.h>
    
    int main(void)
    {
      DDRB=0xff;
      while(1)
      {
        PORTB=0xff;
        PORTB=0x00;
      }
    }


    i tyle dobrego. Jak dałem Upload to wyskoczyło w oknie:
    uisp -dvoltage=0 -dt_wd_flash=2777 -dt_wd_eeprom=2777 -dt_reset=0 --upload if=/home/kacpir/project.hex
    Invalid parameter: -dvoltage=0
    Error(s) occurred: The exit status was 1.


    Kompletnie nie wiem jak z tego programu korzystać (ale postaram się szybko zrozumieć) więc wszystkie podpowiedzi dla mnie są na wagę złota.
  • Pomocny post
    #6 6714295
    snow
    Poziom 31  
    Wejdź w Project/ Configure Programmer i tam zaznacz w pierwszej zakładce AVRDUDE. W zakładce AVRDUDE: wybierz STK200 i ustaw odpowiedni port.
  • #7 6714350
    Kacpir
    Poziom 10  
    Zrobiłem jak napisałeś. Port ustawiłem "/dev/parport0" tak gdzieś przeczytałem..nie wiem czy to dobrze. I dałem tą rakietę (czerwoną) wyrzuciło, że nie może odczytać "/dev/parport0", to nadałem sobie prawa do tego pliku i powtórzyłem operacje "rakieta" otrzymałem:

    avrdude -p m16 -c STK200 -P /dev/parport0 -u -U flash:w:/home/kacpir/project.hex:i
    avrdude: AVR device not responding
    avrdude: initialization failed, rc=-1
           Duble check connections and try angin, or use -F to override thic check
    avrdude don. Thank you.
    Erroe(s) occurred: The exit status was 1.
  • Pomocny post
    #8 6714368
    snow
    Poziom 31  
    Program wrzuca się tak jak wcześniej robiłeś - Upload. Z loga wynika że nie widzi procesora. Możesz spróbować nie definiować portu. Szczerze mówiąc nie używałem Kontrollerlab'a z STK200.
  • #9 6714373
    Kacpir
    Poziom 10  
    snow napisał:
    Program wrzuca się tak jak wcześniej robiłeś - Upload. Z loga wynika że nie widzi procesora. Możesz spróbować nie definiować portu. Szczerze mówiąc nie używałem Kontrollerlab'a z STK200.


    Ok dziękuje Ci za pomoc. Tylko ostatnie :D co to jest ten STK200?
  • Pomocny post
    #10 6714378
    snow
    Poziom 31  
    Twój typ programatora ;) W opcjach są widze dwa programatory STK200: STK200 i STK200 PonyProg więc może spróbuj oba przetestować. Może z którymś ruszy.
  • #11 6714391
    Kacpir
    Poziom 10  
    snow napisał:
    Twój typ programatora ;)

    Ale jak go nie ma? Czy to jest typ programatora który jest takim bezpośrednim podpięciem?
  • Pomocny post
    #12 6714400
    snow
    Poziom 31  
    W zasadzie klasyczne działające STK200 posiada bufor a ty masz same kabelki więc trudno mi powiedzieć czy on odpowiada w pełni temu STK200 który obsługuje AVRDUDE. Zasugerowałem się tym co w pierwszym poście pisałeś i wychodziło że działa. Ewentualnie pozostaje ci złożyć STK200 z buforem i sprawdzić czy zadziała.
REKLAMA