Forum: Compiler & IDEs avrdude: doofes 0xFF schreiben unterdrücken? (beim Bootloader brennen)


von kxr (Gast)


Lesenswert?

kleines 512Byte boot.hex für 32k Flash:

:107E0000F89487E6...
...
:047F2000C6000895FA
:00000001FF

Mit $(DUDE) -U flash:w:boot.hex

schreibt er ewig und 3 Tage die ganzen 32k mit 0xFF voll, bis endlich 
der bootloader kommt. Wie kann man ihm auf die Sprünge helfen? 
Eigentlich programmiert wird ja erst mit dem Bootloader.
(der PonyProg macht es defaultmäßig richtig, also schnell: nur die 
Abschnitte im HEX-File bzw 0xFF überspringend. leider unterstützt er 
neuere AVR nicht mehr. Projekt ist wohl eingestellt?)

Grüße

(avrdude 5.10 aus C:/Programme/WinAVR-20100110)

: Verschoben durch Moderator
von B.A. (Gast)


Lesenswert?

avrdude-5.11 vom 27-Aug-2011

von kxr (Gast)


Lesenswert?

ein Windows binary 5.11 find ich leider nicht

C:\temp\avrdude-5.11>sh ./configure
checking build system type... i686-pc-mingw32
checking host system type... i686-pc-mingw32
checking target system type... i686-pc-mingw32
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.exe
checking for suffix of executables... .exe
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking for bison... bison -y
checking for flex... flex
checking lex output file root... configure: error: cannot find output 
from flex;
 giving up


hier muss wohl leider auch aufgeben? :-(

die Tools (insb flex) sind aus C:\Programme\WinAVR-20100110\utils\bin 
und einem (schlanken) MingW install.

oder was kann man mit weniger als stundenlangem Einarbeiten tun um das 
zu kompilieren? Gibts ein Kurzanleitung mit 5 Punkten oder so...?


(im ChangeLog und NEWS sehe ich auch leider keinen Hinweis auf die 0xFF 
Optimierung. ?)

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

kxr schrieb:

> checking for flex... flex
> checking lex output file root... configure: error: cannot find output
> from flex;
>  giving up

Kannst du mal einen Bugreport auf savannah.nongnu.org aufmachen und
das config.log dort als Attachment mit anhängen?  Vielleicht
schaffen wir es ja gemeinsam, dass du das compiliert bekommst.

> (im ChangeLog und NEWS sehe ich auch leider keinen Hinweis auf die 0xFF
> Optimierung. ?)

Wenn du dir deinen AVRDUDE erstmal selbst compilieren kannst, dann
kannst du dir diese Optimierung ja auch gleich für dich einbauen. ;-)
Dass ich sie nicht allgemein drin habe (beim STK500v2 ist sie drin)
liegt eher daran, dass ich das gesamte Handling der Speicherbereiche
im AVRDUDE für überarbeitungswürdig halte.  Die werden derzeit alle
als "flaches Abbild" mit maximaler Größe für das jeweilige device
angelegt und dann nach Bedarf aus den Eingabedateien gefüllt.  Dabei
geht die Information, welcher Bereich eigentlich wirklich Bestandteil
der Datei war und welcher nur aus der Initialisierung stammt, dann
verloren.  Das ist nicht nur bezüglich der Nichtbehandlung der
Lücken in der Datei lästig, sondern auch für sowas wie das verify.

In der Folge müsste man nun die gewünschte Optimierung (die ja eher
nur eine Krücke um obiges Problem herum ist) in jeder Programmer-
Implementierung wieder einzeln nachziehen.  Das missfällt mir
irgendwie.

von M. G. (looking)


Lesenswert?

Gibt es bereits eine Avrdude Version, mit der das 0xFF schreiben 
unterdrückt werden kann?
Könnte das gut gebrauchen, da es bei Programmern mit serbb-Ansteuerung 
einen immensen Zeitvorteil beim Brennen des Bootloaders bedeuten würde.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

M. G. schrieb:
> Gibt es bereits eine Avrdude Version, mit der das 0xFF schreiben
> unterdrückt werden kann?

Noch kein Release, aber im SVN ist es drin inzwischen.

von Martin e. C. (eduardo)


Angehängte Dateien:

Lesenswert?

Jörg Wunsch schrieb:
> Noch kein Release, aber im SVN ist es drin inzwischen.

Hallo Jörg,
ich habe dir ein Mail geschrieben aber enventuell ist die Adresse nicht 
mehr gültig (habe eine alte) oder wie auf immer.

Ich habe versucht für @M. G. (looking) eine AVRDUDE mit dem neue 
Änderungen zu compilieren, wie geht da man vor? irgendwas mache ich da 
falsch.

Folgendes habe ich gemacht:
1. Von SVN habe ich die Dateien fileio.c und fileio.h geholt die andere 
Dateien sind genau gleich wie auf dem Release Version oder nicht?
2. Die 2 Dateien im Verzeichnis vom Release kopiert bzw. ersetzt
3. Dann alles wieder compiliert aber da tauch das Fehler im Anhang

Wie es aussieht ist die Prozedur so falsch?

Gruß
Martin

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Martin e. C. schrieb:

> ich habe dir ein Mail geschrieben aber enventuell ist die Adresse nicht
> mehr gültig (habe eine alte) oder wie auf immer.

Doch, natürlich, meine Mailadresse gibt's seit 15 Jahren (oder so). :)
Aber manchmal habe auch ich halt Urlaub.

> Ich habe versucht für @M. G. (looking) eine AVRDUDE mit dem neue
> Änderungen zu compilieren, wie geht da man vor? irgendwas mache ich da
> falsch.

Uhh, Bildformate ;-)  Bitte keine Screenshots als JPEG.  Ganz
davon abgesehen, du bekommst das alles in eine Textdatei mit:
1
make > log.txt 2>&1

> Folgendes habe ich gemacht:
> 1. Von SVN habe ich die Dateien fileio.c und fileio.h geholt die andere
> Dateien sind genau gleich wie auf dem Release Version oder nicht?

Nein, das war ein grundlegender Umbau im gesamten AVRDUDE, es sind
18 Dateien davon betroffen, wenn ich das richtig gezählt habe.

Ich habe in den Download-Bereich mal eine Datei
avrdude-5.11svn-20111019.tar.gz gelegt, die einen Interims-Release
darstellt mit dem SVN-Stand von heute.  Probier' mal, ob du die
compiliert bekommst.

¡muchas gracias!

von Martin e. C. (eduardo)


Angehängte Dateien:

Lesenswert?

Jörg Wunsch schrieb:
> Uhh, Bildformate ;-)  Bitte keine Screenshots als JPEG.
Ups Sorry

Jörg Wunsch schrieb:
> du bekommst das alles in eine Textdatei mit:
> make > log.txt 2>&1

Schon notiert

Jörg Wunsch schrieb:
> Nein, das war ein grundlegender Umbau im gesamten AVRDUDE, es sind
> 18 Dateien davon betroffen, wenn ich das richtig gezählt habe.

Ich hatte mich ich inzwischen mit TortoiseSVN eingelesen um damit zu 
versuchen die ganze Dateien mit Verzeichnis Struktur usw. runterholen 
eventuell muß ich dir paar Sachen fragen.

Jörg Wunsch schrieb:
> Ich habe in den Download-Bereich mal eine Datei
> avrdude-5.11svn-20111019.tar.gz gelegt

Jap, jetzt hat natürlich funktioniert mir ist aber aufgefallen dass bei 
configure da was mit:
"checking for libusb_init in -lusb-1.0... no"
und auch noch was anderes kommt (logfile angehängt;-)) muß ich da was 
machen oder ist das ok?

Soll ich das "avrdude-5.11svn-20111019" Version hier posten oder wo die 
5.11. ist?

Saludos!

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Martin e. C. schrieb:

> Jap, jetzt hat natürlich funktioniert mir ist aber aufgefallen dass bei
> configure da was mit:
> "checking for libusb_init in -lusb-1.0... no"
> und auch noch was anderes kommt (logfile angehängt;-)) muß ich da was
> machen oder ist das ok?

Das ist in Ordnung.  Das ist nur der Test, ob eine libusb-1 vorhanden
ist, die hat ein anderes API als die libusb-0.  Ist im Moment noch
nicht sehr bedeutsam, könnte aber in Zukunft mal sein.

> Soll ich das "avrdude-5.11svn-20111019" Version hier posten oder wo die
> 5.11. ist?

Keine Ahnung. ;-)

von Martin e. C. (eduardo)


Angehängte Dateien:

Lesenswert?

ok dann poste ich es mal hier.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.