[Metalab] AVR / LINKER guru gesucht
Erwin Erkinger
erwin at erkinger.at
Tue Mar 10 12:34:39 CET 2015
hi,
Jakob hat schon die meisten Sachen geklärt - nur ein paar zusätzliche Anmerkungen:
Hex-Files:
Je nach Generator wird im HEX File oft das „unbenutzte“ Memory fälschlicherweise mit „0“ aufgefüllt. Wenn schon auffüllen dann mit 0xFF.
Ev. überlappen sich auch die beiden HEX-Files in Ihrem Adressraum.
Zwei Hexfiles zusammenstückeln funktioniert damit ev. nicht richtig.
Flash-Memory:
Wenn Flash gelöscht wird (zB. vor dem programmieren) werden alle Zellen auf 0xFF gesetzt. Das eigentliche Programmieren kann die Bits einer Memory-Zelle nur auf 0 zurücksetzen.
Das Löschen des Memorys geht nur Blockweise - wie groß diese Blöcke sind steht im Datenblatt der CPU.
Bootsektor:
Oft ist die Segmentierung des Flash so gelöst das ein kleiner Sektor existiert der für den Bootloader vorgesehen ist. Dort zeigt auch der Reset-Vektor hin.
—> Fazit:
die beiden HEX-Files verbinden und dann auf einmal programmieren ist aus meiner Sicht die einzig effektive Lösung.
lgErwin
More information about the Metalab
mailing list