-
        

Ergebnis 1 bis 10 von 10

Thema: avrdude - wie geht das vergleichbar dem "WriteAll"

  1. #1
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    02.09.2005
    Ort
    Osnabrücker Land
    Alter
    55
    Beiträge
    534

    avrdude - wie geht das vergleichbar dem "WriteAll"

    Anzeige

    Hallo,
    ich hab jetzt einen USB-Progger (Bauanleitung von Matthias Weißer, matwei.de) unter Linux am laufen. (Via "avrdude -p m8 -P /dev/ttyUSB0 -c stk500v2 -t" getestet ...

    Nur wie bekomme ich auf einen Rutsch nun das hex-file in den mega ?

    Der Befehl: avrdude -p m8 -c AVR910 -P com1 -U flash:w:hexfile.hex:i
    schiebt wohl das hex ins flash.

    Wenn ich scheinbar den eeprom-Bereich separat programmieren muß, ist das dann auch das selbe hexfile - ratlos guck


    Unter ProgPony heißt einfach CTRL-W = Write all und gut is, inkl. verifying.

    Wie geht das unter avrdude ???

    Ein Deutsches Howto habe ich bisher noch nicht gefunden und die manpages zeigen mir nicht den Vergleich zu Pony !

    Danke für Antworten,
    Vajk
    Ich kann mir keine Signatur leisten - bin selbständig!

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.05.2005
    Ort
    Issum
    Alter
    46
    Beiträge
    2.236
    Nur wie bekomme ich auf einen Rutsch nun das hex-file in den mega ?
    Wenn ich Dich richtig verstanden habe, willst Du den hex brennen, Du warst schon auf den richtigem Weg
    Code:
    avrdude -p m8 -c AVR910 -P com1 -U flash:w:hexfile.hex
    eeprom alternativ dazu
    Code:
    avrdude -p m8 -c AVR910 -P com1 -U eeprom:w:hexfile.eep
    Gruß Sebastian
    Software is like s e x: its better when its free.
    Linus Torvald

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    02.09.2005
    Ort
    Osnabrücker Land
    Alter
    55
    Beiträge
    534
    Prima Sebastian.

    Die *.eep ist der Content fürs eeprom, wenn man im Pony also Write All tut, so wird hex und eep übertragen ????



    ... nur wenn ich das hex probiere, dann bekomme ich folgende Fehlermeldung.

    Wenn ich das selbe mit dem Pony tue (write all), dann gehts ohne Probleme.

    Code:
    avrdude -p m8 -P /dev/ttyUSB0 -c stk500v2  -U flash:w:drehwurm.hex:i
    avrdude: AVR device initialized and ready to accept instructions
    Reading | ################################################## | 100% 0.06s
    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 "drehwurm.hex"
    avrdude: ERROR: address 0x2010 out of range at line 513 of drehwurm.hex
    avrdude: write to file 'drehwurm.hex' failed
    avrdude: safemode: Fuses OK
    avrdude done.  Thank you.
    Woran kann das liegen ?

    Und: "avrdude: write to file 'drehwurm.hex'" - heißt das jetzt, daß er die HexDaten ins File schreiben will ?????

    LG
    Vajk
    Ich kann mir keine Signatur leisten - bin selbständig!

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.02.2005
    Ort
    Hamburg
    Alter
    31
    Beiträge
    4.255
    Für AVRdude gibt es auch eine grafische Oberfläche:
    http://sourceforge.net/projects/avrdude-gui/
    Da kann man sich die benötigten Optionen zusammenklicken und erhält dann die korrekte Befehlszeile dafür.

  5. #5
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    02.09.2005
    Ort
    Osnabrücker Land
    Alter
    55
    Beiträge
    534
    .. oh Danke .. aber woher kommt wohl die Fehlermeldung ?

    edit - die GUI ist ja ein Windoof-Programm .. avrdude nutze ich aber unter Linux ...
    .. ob wohl WinAvr eine Hex-datei erzeugt, die Flash und eeprom - Bereich beinhaltet ? Könnte das das Problem sein ?
    Ich kann mir keine Signatur leisten - bin selbständig!

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.05.2005
    Ort
    Issum
    Alter
    46
    Beiträge
    2.236
    Hallo Vajk,

    Kann sein, daß das Programm für m16 oder m32 gebaut wurde ?
    Dem Fehler nach zu urteilen versucht er was in Speicher zu schreiben, der garnicht da ist...
    Ehrlich gesagt hab ich sowas noch nicht gesehen...
    Was ist, wenn Du dieses :i an Schluß wegläßt ?
    GUI brauchst Du nicht, der syntax den ich Dir oben geschrieben habe reicht vollkommen.
    Sehr komisch...

    Gruß Sebastian
    Software is like s e x: its better when its free.
    Linus Torvald

  7. #7
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    02.09.2005
    Ort
    Osnabrücker Land
    Alter
    55
    Beiträge
    534
    ... also im Makefile von WinAvr steht explizit, daß es für dem mega32 ist .. wenn ichs mit dem Pony reinäpple, dann läufts auch so wie es soll ...

    Bleibt halt die Frage. ist im Hex von WinAvr auch schon das eeprom mit drin oder nicht .. die hex ist aktuell 24.665 bytes groß, das eep nur 13 Bytes !
    Also vermute ich, daß alles im Hex drin steht und avrdude das ja getrennt verlangt ..
    Ich kann mir keine Signatur leisten - bin selbständig!

  8. #8
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.05.2005
    Ort
    Issum
    Alter
    46
    Beiträge
    2.236
    Na dann, wenn das Programm für M32 gebaut woredn ist, kannst Du es nicht in M8 packen.
    Das wird wohl auf den Fehler erklären.
    Bleibt halt die Frage. ist im Hex von WinAvr auch schon das eeprom mit drin oder nicht .. die hex ist aktuell 24.665 bytes groß, das eep nur 13 Bytes !
    Das hat nichts zu melden.
    Im *.hex stehen viele Sachen drin, Debugger infos, Prüfsummen und weiß was ich noch alles.
    Daß die *.eep File so klein ist, hat auch nichts zu melden.
    Wahrscheinlich hast Du nur 13 Bytes in Gebrauch.
    Ich kann mich täuschen, aber *.hex und *.eep müßen getrennt programmiert werden, vielleicht macht Ponyprog alles in einem Zug.

    Gruß Sebastian
    Software is like s e x: its better when its free.
    Linus Torvald

  9. #9
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Alter
    48
    Beiträge
    2.731
    Hallo,

    wenn das .eep nur 13 Byte hat, dann ist es sehr wahrscheinlich leer:
    Code:
    :00000001FF
    +CF+LF
    dies ist die letzte Zeile eines Hexfiles, .hex und .eep haben das gleiche Format.

    In einem .hex steht eigentlich auch nur das was auch so ins Flash kommt, mit Speicheradresse am Anfang, Anzahl Byte der Zeile, und mit einer Prüfziffer am Ende der Zeile, die aber nur das Programm (zB. PonyProg) auswertet, nicht der AVR.

    Bei PonyProg wird in der Anzeige am Ende des .hex noch der Bereich des EEprom angezeigt, in anderer Farbe.
    Aja, steht ja alles so in der Hilfe, ...

  10. #10
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    02.09.2005
    Ort
    Osnabrücker Land
    Alter
    55
    Beiträge
    534
    @izaseba
    >Na dann, wenn das Programm für M32 gebaut woredn ist, kannst Du es nicht in M8 packen.

    Aaaaaaaaaaaaaaaa .. mal schnell in eine Ecke stell und schämen tu - Danke für den Hinweis.

    Liebe Grüße,
    Vajk
    Ich kann mir keine Signatur leisten - bin selbständig!

Berechtigungen

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