[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