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
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...
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.