-         

Ergebnis 1 bis 4 von 4

Thema: FuseBits

  1. #1

    FuseBits

    Anzeige

    Hallo euch allen.


    Ich habe da so ein problem. Ich habe ein ATMega 32 und bei dem würde ich gerne die Fusebits setzen. Nur irgendwie bekomme ich das net zurecht. Ich benutze als Programmiersoftware WIN AVR. Geht das überhaupt damit? Also soweit ich das bisher rausgefunden habe, soll es mit dem tool avrdude gehen, habe nur keine ahnung wie ich das damit machen soll.

    Als Programmieradapter benutze ich den USBasp.

    Könnte mir vll jemand helfen?

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    24.02.2006
    Ort
    3. Planet eines kleinen Sonnensystems in einem Seitenarm der Milchstraße
    Alter
    63
    Beiträge
    622
    Hallo,

    da ich Deinen Programmieradapter nicht kenne, kann ich Dir nur mit ein paar Hinweisen aus dem Netz (hoffentlich!) helfen:

    avrdude-Dokumentation
    Dokumentation Deines Adapters
    Hilfe zu avrdude
    Thread zu einem Problem mit avrdude + USBasp

    Viel Erfolg!

    Gruß

    Fred
    Only entropy comes easy. - Anton Checkhov

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    25.11.2003
    Beiträge
    1.111
    Das geht nicht mit WinAVR, das geht nur mit dem Programmiertool. Das könnte zB und einfachsterweise AVRStudio sein.
    Gruß

  4. #4
    Erfahrener Benutzer Roboter-Spezialist Avatar von sast
    Registriert seit
    30.11.2004
    Alter
    47
    Beiträge
    497
    Das ist natürlich nicht richtig. Wenn du avrdude dabei hast geht das mit WinAVR.

    So hab ich das mal gemacht:

    Code:
    REM %1 ProjectDir, %2 InputFileName, %3 OutDir
    
    SET "OutDir=%3"
    SET "LogFile=%OutDir%\erstellen.log"
    ECHO "Programming %3\flash.hex eeprom.hex ..." >> %LogFile%
    ECHO "Programming %3\flash.hex eeprom.hex ..."
    
    SET OldDir=%CD%
    CD %1
    SET PrjDir=%CD%
    CD %OldDir%
    
    REM Programming support using avrdude. Settings and variables.
    
    REM Programming hardware: alf AVR910 avrisp Bascom bsd 
    REM dt006 pavr picoweb pony-stk200 sp12 stk200 stk500
    SET AVRDUDE_PROGRAMMER=avrisp
    
    SET AVRDUDE_PORT=com1
    REM SET AVRDUDE_PORT=lpt1
    
    SET AVRDUDE_WRITE_LFUSE=-U lfuse:w:0x24:m
    SET AVRDUDE_WRITE_HFUSE=-U hfuse:w:0xd9:m
    SET AVRDUDE_WRITE_LOCK =-U lock:w:0x2f:m
    
    SET AVRDUDE_WRITE_FLASH=-U flash:w:flash.hex
    SET AVRDUDE_WRITE_EEPROM=-U eeprom:w:eeprom.hex
    SET AVRDUDE_FLAGS=-p atmega8 -P %AVRDUDE_PORT% -c %AVRDUDE_PROGRAMMER%
    
    CD %3
    REM liest den Inhalt des Flashspeichers vom ATMega8 in die Datei flash.bin r=raw i=intel s=motorola
    ECHO "%PrjDir%\BuildTools\WinAVR\bin\avrdude.exe" %AVRDUDE_FLAGS% -U flash:r:"./flash.bin":r >> %LogFile%
    "%PrjDir%\BuildTools\WinAVR\bin\avrdude.exe" %AVRDUDE_FLAGS% -U flash:r:"./flash.bin":r
    
    REM liest den Inhalt des EEPROM (512Byte) vom ATMega8 in die Datei eeprom.bin
    ECHO "%PrjDir%\BuildTools\WinAVR\bin\avrdude.exe" %AVRDUDE_FLAGS% -U eeprom:r:"./eeprom.bin":r >> %LogFile%
    "%PrjDir%\BuildTools\WinAVR\bin\avrdude.exe" %AVRDUDE_FLAGS% -U eeprom:r:"./eeprom.bin":r
    
    ECHO "%PrjDir%\BuildTools\WinAVR\bin\avrdude.exe" %AVRDUDE_FLAGS% %AVRDUDE_WRITE_FLASH% %AVRDUDE_WRITE_EEPROM% %AVRDUDE_WRITE_LFUSE% %AVRDUDE_WRITE_HFUSE% >> %LogFile%
    "%PrjDir%\BuildTools\WinAVR\bin\avrdude.exe" %AVRDUDE_FLAGS% %AVRDUDE_WRITE_FLASH% %AVRDUDE_WRITE_EEPROM% %AVRDUDE_WRITE_LFUSE% %AVRDUDE_WRITE_HFUSE% >> %LogFile%
    CD %OldDir%
    Wenn ich mich nicht allzusehr irre, hatte das damals geklappt.

    Ansonsten hilft es manchmal auch, sich die Optionen anzusehen:

    Code:
    Usage: avrdude [options]
    Options:
      -p <partno>                Required. Specify AVR device.
      -b <baudrate>              Override RS-232 baud rate.
      -B <bitclock>              Specify JTAG/STK500v2 bit clock period (us).
      -C <config-file>           Specify location of configuration file.
      -c <programmer>            Specify Programmer type.
      -D                         Disable auto erase for flash memory
      -i <delay>                 ISP Clock Delay [in microseconds]
      -P <port>                  Specify connection port.
      -F                         Override invalid signature check.
      -e                         Perform a chip erase.
      -O                         Perform RC oscillator calibration (see AVR053).
      -U <memtype>:r|w|v:<filename>[:format]
                                 Memory operation specification.
                                 Multiple -U options are allowed, each request
                                 is performed in the order specified.
      -n                         Do not write anything to the device.
      -V                         Do not verify.
      -u                         Disable safemode, default when running from a scrip
    t.
      -s                         Silent safemode operation, will not ask you if
                                 fuses should be changed back.
      -t                         Enter terminal mode.
      -E <exitspec>[,<exitspec>] List Programmer exit specifications.
      -y                         Count # erase cycles in EEPROM.
      -Y <number>                Initialize erase cycle # in EEPROM.
      -v                         Verbose output. -v -v for more.
      -q                         Quell progress output. -q -q for less.
      -?                         Display this usage.
    
    avrdude project: <URL:http://savannah.nongnu.org/projects/avrdude>
    Hoffe ich konnte helfen

    sast

    雅思特史特芬
    开发及研究

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •