www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Avrdude. Ungenutzte Blöcke bei Bootlader-Programmieren überspringen


Autor: Burkhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Ich verwende einen Mega128A und avrdude mit Parallelport-Dongel unter 
Ubuntu-Linux.
Vor der Verschiebung des Bootladers von der Startadresse 0x0000 an die 
(Wort-)Adresse 0xE000 benötigte ich zum Programmieren nur 4 Sekunden.
Nach der Verschiebung des Bootladers benötigt Avrdude jetzt ca. 60 
Sekunden für ca. 3 kBytes.
Avrdude scheint das gesamte Flash zu programmieren, obwohl der Bereich
0x0000 - 0xDFFF leer und in der Hex-Datei auch nicht enthalten ist.

Gibt es eine Möglichkeit, leere Blöcke im Flash beim Programmieren zu 
überspringen ?

Gruss aus Mülheim

Burkhard

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Burkhard schrieb:
> Gibt es eine Möglichkeit, leere Blöcke im Flash beim Programmieren zu
> überspringen ?

Ja: modifizieren des AVRDUDE-Codes.  Einige Programmer-Implementie-
rungen (STK500v2 bspw.) machen das bereits so, dass sie diese Blöcke
überspringen.

Das gesamte Handling der Speicherdaten ist in AVRDUDE derzeit
suboptimal, da alle eingelesenen Daten zuerst in ein flaches
Speicherabbild der Größe des jeweiligen Zielprozessors gepresst
werden.  Die Information, welche Daten dabei wirklich aus der Datei
gekommen sind, und welche einfach nur auf ihrem Initialwert verblieben
sind, ist danach intern "vergessen".  Eigentlich müsste man das Ganze
mal so umbauen, dass nur genau die Daten auch programmiert werden,
die aus einer Quelldatei gekommen sind.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.