Atmega16U2 Bootloader Grösse

Gast #4011417
Lesenswert?
• ▲
▼
Hallo zusammen,

ich habe gerade die Atmega16U2's zum Programmieren bekommen. Getestet 
habe ich mein Programm mit etwas unterhalb von 50% Programmcode und 
etwas oberhalb.

Mein Problem ist jetzt:
Der DFU-Loader sollte ja nur die oberen 4k belegen, d.h. ich habe 75% 
für mein Programm über.
Sobald das Programm aber über 50% kommt, programmiert Flip nicht mehr, 
aber der dfu-programmer unter Linux bügelt scheinbar auch den Loader 
über.

Wie kann das sein? Darf das Programm nicht über 50 % kommen, wenn ich 
parallel den DFU-Loader im Prozessor haben möchte (um weiter Updates 
machen zu können)?

Danke
Alex
Gast #4011653
Lesenswert?
• ▲
▼
Alex1 schrieb:

> Der DFU-Loader sollte ja nur die oberen 4k belegen

Sagt wer?

Im Prinzip kann ein Bootloader so groß sein, wie er will (oder vielmehr: 
sein muß). Nur einige wenige Bytes seines Codes müssen zwingend "oben" 
im Bootloaderbereich liegen, im Extremfall sogar nur ganze vier. D.h.: 
Du kannst aus der Größe des Bootloaderbereichs keinerlei Schlüsse auf 
die Größe des Bootladers ziehen.

Es wäre also erstmal sinnvoll, sich über Größe und tatsächliche Lage des 
Bootloaders im Speicher zu vergewissern...
#4024670
Lesenswert?
• ▲
▼
Hallo,
War leider eine Woche außer Gefecht... .

So wie ich das verstehe, kann der der AVR's nur aus dem Flash ausgeführt 
werden (Harvard Architektur). Da ich mir den Hex-Code im Hexfile 
angeschaut habe (der Aufbau ist ja kein Geheimnis) und im Hexfile Steht, 
dass alles ab der Adresse 0x3XXX geflasht werden soll, nehme ich doch 
stark an, dass das Programm auch in den Oberen 4K läuft.
Also verstehe ich etwas noch falsch?

Hier noch mal meine Fragen:
Sobald das Programm aber über 50% kommt, programmiert Flip nicht mehr,
aber der dfu-programmer unter Linux bügelt scheinbar auch den Loader
über.

Wie kann das sein? Darf das Programm nicht über 50 % kommen, wenn ich
parallel den DFU-Loader im Prozessor haben möchte (um weiter Updates
machen zu können)?

Danke
Alex

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.