Ich möchte die Arbeit mit dem MC9S08QG8 wieder aufnehmen. Als nächsten Schritt will ich den Flash benutzen (Kapitel 4.5 des Data Sheet). Da wäre es natürlich hilfreich, wenn ich einige Zeilen Assembler für die Flash Nutzung finden könnte.
Gibt es hier im Forum Anwender des HCS08QG8.
Dann würde ich mir hier gern auf die Sprünge helfen lassen.
Ich möchte die Arbeit mit dem MC9S08QG8 wieder aufnehmen. Als nächsten
Schritt will ich den Flash benutzen (Kapitel 4.5 des Data Sheet). Da
wäre es natürlich hilfreich, wenn ich einige Zeilen Assembler für die
Flash Nutzung finden könnte.
Gibt es hier im Forum Anwender des HCS08QG8.
Dann würde ich mir hier gern auf die Sprünge helfen lassen.
MfG Gerd M.
Den Flash benutzt der Controller ja eigentlich von allein.
Und beschreiben tut man ihn per BDM-Adapter.
Hilfreich vielleicht:
AN1831 - Using MC68HC908 On-Chip FLASH Programming Routines
Im weiteren: AN2305, AN2317, AN2322.
Aber Achtung: Die betreffen aeltere HC08 mit u.U.
anderen Registern zur Flashkonfiguration.
Programme die den Flash loeschen und schreiben, muessen
aus dem RAM laufen.
Danke für Deine Antworten. Die betreffen aber den MC68HC908,
mit dem ich vorher gearbeitet habe.
Ich suchte für MC9S08QG8 mit dem ich jetzt arbeite.
Für den habe ich mit AN3942 gefunden, was ich suchte:
Flash Programming Routines for the HCS08 . . .
Danke für die Antwort.
Wenn Du dich mit dem MC9S08QG8 oder wenigstens mit der Familie MC9S08.. würde ich mich sehr freuen.
Bisher konnte ich nur im NXP-Forum Kontakte finden.
Bevor ich an Deinen Code gehe, werde ich noch etwas Datasheet oder AN3942 büffeln, damit ich verstehe was ich mache.
Hallo Jürgen,
danke nochmals für Deine Programmzeilen.
Seit dem 4.10.23, als Du mir schriebst, ist eine lange Zeit vergangen,
zuerst sinnvoll mit dem Lesen des HCS08 Data Sheet, Kapitel 4.5 u.4.7.
Dann klappte es auch mit dem Schreiben eines Byte, aber nicht fortlaufend mehrere. Auch die Abfrage von FACCERR oder die Warteschleife mit FCCF brachte nichts. Lange habe ich mich mit debug und alles mögliche ausprobiert, jetzt komme ich ohne Hilfe nicht mehr weiter.
Das Programm muss noch deutliche Fehler haben.
Das byteweise Programmieren funktioniert zuverlässig, aber nur mit einem Breakpoint in der Zeile M2: incx und mit den angegebenen nops.
Den Flash habe ich mit der CW-Debugroutine gelöscht.
Nun hoffe ich, dass Du mir helfen kannst.
Mit freundlichen Grüßen
Gerd
Hallo Jürgen,
danke nochmals für Deine Programmzeilen.
Seit dem 4.10.23, als Du mir schriebst, ist eine lange Zeit vergangen,
zuerst sinnvoll mit dem Lesen des HCS08 Data Sheet, Kapitel 4.5 u.4.7.
Dann klappte es auch mit dem Schreiben eines Byte, aber nicht
fortlaufend mehrere. Auch die Abfrage von FACCERR oder die Warteschleife
mit FCCF brachte nichts. Lange habe ich mich mit debug und alles
mögliche ausprobiert, jetzt komme ich ohne Hilfe nicht mehr weiter.
Das Programm muss noch deutliche Fehler haben.
Das byteweise Programmieren funktioniert zuverlässig, aber nur mit einem
Breakpoint in der Zeile M2: incx und mit den angegebenen nops.
Den Flash habe ich mit der CW-Debugroutine gelöscht.
Nun hoffe ich, dass Du mir helfen kannst.
Mit freundlichen Grüßen
Gerd
Hallo Gerd,
ich bin zwar nicht Juergen, aber der Fehler ist offensichtlich:
Programme die den Flash loeschen und schreiben, muessen
aus dem RAM laufen.
Es gibt dazu auch ein Beispiel im "HCS08QRUG - HCS08 Peripheral Module
Quick Reference". Das Dokument wird bei einer Codewarriorinstallation
unter Help/PDF/HCS08_Peripherals_Module_Quick_Reference_Users_Guide.pdf
abgelelgt.
In dem Beispiel dort, wird der gesamte Code aus einem Array in den
RAM geladen und dann dort gestartet. S. 92:
1
//Array of opcode instructions of the Erase/Program function