Liebe Leute,
falls sich mal jemand „aussperrt“ …
ich habe auf meinem R8C Controller ein fehlerhaftes Programm installiert, welches mich ausgesperrt hat. Das Programm „run“ war als task markiert und vermittelst
rom ' run is bootmessage ram savesystem
selbststartend gemacht. Allerdings wurde der stack in weniger als einer Sekunde vollgeschrieben (fehlender drop) und ich konnte am terminal kein „empty“ mehr eingeben.
Das gforth neu in den Programmspeicher zu schreiben hat zwar funktioniert, bringt aber nichts, weil das fehlerhafte Programm nach wie vor im Datenspeicher liegt. Soweit ich sehe, kann das m16c-flash Programm den Datenspeicher nicht löschen …
Wenn man unter Windows die Renesas Entwicklungsumgebung hat, dann kann man ein anderes Programm aufspielen, was das Datenflash löscht und die Angelegenheit beendet.
Wer aber einen windowsfreien Haushalt hat, der kann zum Einbrechen eine geänderte Version des gforths einspielen, dann ist auch Ruhe. In der Datei arch/r8c/prim.fs habe ich das Wort „empty“ in r8cboot dazugefügt, das resultierende image eingespielt, und dann war der Spuk vorbei
Nur zur Info. Erich
diff -ub prim.fs.dist prim.fs --- prim.fs.dist 2006-11-20 21:12:36.000000000 +0100 +++ prim.fs 2006-11-19 20:00:59.000000000 +0100 @@ -787,7 +787,7 @@ : 9k6 $8105 $A8 ! ; \ baud setting : 38k4 $2005 $A8 ! ; \ fast terminal : r8cboot ( -- ) ['] noop IS pause - timer-init flash-enable lcdinit 38k4 + timer-init flash-enable lcdinit 38k4 empty s" Gforth EC R8C" lcdtype boot ; ' r8cboot >body $C002 ! : savesystem ( -- )