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

avrdude atmega8 fuse invalid format

ariel440 03 Lut 2007 17:02 13192 15
REKLAMA
  • #1 3523459
    ariel440
    Poziom 10  
    Witam.
    Czy mógłby mi ktoś powiedzieć jak przestawić fuse
    dla atmega8 aby pracował na zewnętrznym kwarcu 8mhz ?
    Czytałem dokumentacje, na stronie 26 i 27 jest opisane
    że CKSEL3..1 ma być 111 i CKOPT ma być 0.
    Niestety nic mi to nie mówi, zwłaszcza że jestem początkujący.
    Wiem natomiast że z wiersza polecenia muszę wpisać np :
    avrdude -p m8 -c usbasp -U flash:w:program.hex:i -U hfuse:w:"coś1":m -U lfuse:w:"coś2:m
    Co powinienem wpisać jako "coś1" i "coś2" ?
  • REKLAMA
  • #2 3523917
    szeri88
    Poziom 14  
    Ja to robię w BASCOM'ie. Podłączasz ATMEGE, wciskasz F4, wybierasz zakładkę: "Lock and Fuse Bits" i zmieniasz Fusebit A987.

    Pozdrawiam
  • #3 3524046
    ariel440
    Poziom 10  
    Bascom nie obsługuje mojego programatora - usbasp,
    pisze program w bascomie, ale na atmege wrzucam przez avrdude.
  • #4 3527343
    ariel440
    Poziom 10  
    Witam.
    Udało mi się rozwiązać mój problem.
    Dla wszystkich którzy być może kiedyś będą mieli podobne zmagania z avrdude napiszę jak powinno to wyglądać :

    dla ustawienia atmega8 do pracy na wewn. 1MHz :
    avrdude -p m8 -c usbasp -U flash:w:PROGRAM.HEX:i -U hfuse:w:0xD9:m -U lfuse:w:0xe1:m

    dla ustawienia atmega8 do pracy na wewn. 2MHz :
    avrdude -p m8 -c usbasp -U flash:w:PROGRAM.HEX:i -U hfuse:w:0xD9:m -U lfuse:w:0xe2:m

    dla ustawienia atmega8 do pracy na wewn. 4MHz :
    avrdude -p m8 -c usbasp -U flash:w:PROGRAM.HEX:i -U hfuse:w:0xD9:m -U lfuse:w:0xe3:m

    dla ustawienia atmega8 do pracy na wewn. 8MHz :
    avrdude -p m8 -c usbasp -U flash:w:PROGRAM.HEX:i -U hfuse:w:0xD9:m -U lfuse:w:0xe4:m

    dla ustawienia atmega8 do pracy na zewn. 8MHz :
    avrdude -p m8 -c usbasp -U flash:w:PROGRAM.HEX:i -U hfuse:w:0xD9:m -U lfuse:w:0xee:m

    Pozdrawiam.
  • REKLAMA
  • #5 4935740
    mtoy
    Poziom 11  
    Wiem, że ten temat jest sprzed roku, ale nie ma sensu, żebym zakładał kolejny, bo tutaj jest prawie to, o co mi chodzi :)

    A mianowicie - zmieniłem programator ze zwykłego STK200/500 na usbasp i jeśli chodzi o samo programowanie mikrokontrolera działa ok, ale mam problem z fusebitami... Korzystan z avrdude, podpiętego pod Bascoma. Do tej pory fusebity zmieniałem właśnie w Bascomie, ale teraz po naciśnięciu F4 od razu odpala się konsola i avrdude, nie ma okienka do zmiany fusebitów. Po naciśnięciu 'Manual Program' nic się nie dzieje. Zatem moje pytanie jest takie - czy można jakoś przywrócić to okienko, żebym mógł zmienic fusebity za pośrednictwem Bascoma. Albo jeśli nie jest to możliwe, to co ustawić w avrdude (korzystam z nakładki graficznej) w opcji dla fusebitów, aby mikrokontroler (Atmega16) mógł pracować na zewnętrznym kwarcu o wartości 16MHz?
  • #6 5338750
    tom_85
    Poziom 14  
    żeby zmienić fuse bity za pomocą avrdude trzeba to robić z poziomu konsoli :) otworzyć linie komend i wisać tak jak to mniej więcej ariel440 napisał, w moim przypadku [atmega32/winavr/i programator usbasp] wyglądało to mniej wiecej tak:

    "C:\avrdude\avrdude.exe" -p m32 -c usbasp -P lpt1 -U lfuse:w:0xEA:m -U hfuse:w:0x89:m

    tyle godzin straconych a wystarczyło dopisać ":m" na końcu... ehhhh

    Dzieki ariel440 :-)))
  • #8 6317498
    l337chix0r
    Poziom 10  
    A jak po prostu odczytac fuse bity? Próbuję w ten sposób:

    C:\avrdude>avrdude -c dapa -p m8515 -U hfuse:r:high.txt -U lfuse:r:low.txt

    avrdude: AVR device initialized and ready to accept instructions

    Reading | ################################################## | 100% 0.12s

    avrdude: Device signature = 0x1e9306
    avrdude: reading hfuse memory:

    Reading | ################################################## | 100% 0.12s

    avrdude: writing output file "high.txt"
    avrdude: error opening high.txt: No such file or directory
    avrdude: output file high.txt auto detected as invalid format
    avrdude: invalid output file format: -1
    avrdude: write to file 'high.txt' failed

    avrdude: safemode: Fuses OK

    avrdude done. Thank you.


    I jak widać jest error :(
  • REKLAMA
  • #9 6319150
    kaktus_c++
    Poziom 18  
    albo chodzi mu o rozszerzenie pliku albo szuka go nie tam gdzie go zapisał, może spróbuj zapisać bez żadnego rozszerzenia samo high (bez .txt)
  • #10 6319181
    l337chix0r
    Poziom 10  
    Możliwe, ze szuka nie tam, gdzie zapisał, bo sam plik się tworzy, ale jest zupełnie pusty. Czy można to jakoś zmienić?
  • #11 6319263
    kaktus_c++
    Poziom 18  
    wpisz takie coś i zobacz co się stanie
    avrdude -p 8515 -c dapa -P lpt1 -U lfuse:r:con:r -U hfuse:r:con:r
  • REKLAMA
  • #12 6323003
    depechdepech
    Poziom 11  
    Ściągnij sobie nakładkę AVR Burn-O-Mat. Prosty i intuicyjny interfejs.
    Link
  • #14 8360210
    marx232
    Poziom 14  
    Podepne sie do tematu, poniewaz nie chcialbym zakladac nowego.

    Posiadam stk200 i chcialem zaprogramowac atmega162 w ponyprog.
    Zaprogramuje uklad, zrobie odczyt jest ok, nastepnie sprawdze i zaprogramuje fuse bity i teraz po odczycie wyskakuja mi glupoty. Jezeli najpierw ustawie fuse bity i zaprogramuje uklad to odczyt jest prawidlowy, ale fuse bity mi sie zmieniaja przy odczycie.
    Wiec pytanie - czy najpierw ustawiam fuse bity, pozniej programuje uklad czy odwrotnie, czy jest to bez roznicy?
  • #15 8360224
    tadzik85
    Poziom 38  
    bez różnicy. dla pewności zmniejsz szybkość ISP
  • #16 9003565
    grzyber
    Poziom 11  
    a jaką sekwencję muszę wpisać aby ustawić fusebit'y na ATTinny45 ?
REKLAMA