On Tue, Mar 10, 2015 at 12:34:39PM +0100, Erwin Erkinger wrote:
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.
https://pypi.python.org/pypi/IntelHex/1.1 Kann hex files korrekt mergen. Natuerlich gehts auch mit (g)awk oder vi :) best, Herbert
lgErwin
_______________________________________________ Metalab mailing list Metalab@lists.metalab.at https://lists.metalab.at/mailman/listinfo/metalab