Auch wenn das Interesse, naja zumindest das Echo auf meine Anfrage eher
dürftig war will ich doch auch der Community was zurückgeben und die von
mir gefundene Lösung zum Problem präsentieren. Evtl. hat mal jemand das
gleiche Problem und findet dann auch eine Antwort dazu :-)
Die Kernproblematik war, das ich durch einen unbedachten Ausleseversuch
mittels JTAG einen Selbstschutzmechanismus des MAC7116 ausgelöst habe.
In der Folge hat dieser ein LOCK-Bit im Flash des Security-Words (ab
0x414) geändert. Diese Daten liest der Chip nach dem RESET ein und geht,
sobald das Flag erkannt wurde in einen gesperrten Zustand.
In diesem Zustand ("Chip Secured Mode") wird kein Programmcode
ausgeführt und auch sonst keine weitere Initianisierung der MCU
durchgeführt. Es wird wohl auch nur noch ein limitierter Satz von
JTAG-Befehlen ausgeführt.
In diesem Zustand habe ich den MODA-Pin auf Vcc (1) gelegt. Das sorgt
dafür das die Programmausführungsbasis von 0x0000 0000 auf 0xFE00 0000
verlagert wird. Hier befindet sich das DATA-Flash. Dieses ist 32kb groß.
Über J-Flash konnte die CPU-ID ermittelt werden. Um aber dann irgendwas
machen zu können muss die CPU angehalten werden. Hierzu habe ich den
obligatorischen "HALT" der INIT-Sequenz hinzugefügt. Normalerweise habe
ich hier auch immer noch einen RESET davor, aber genau der verhindert
dann den Halt des Prozessors. Anschließend konnte der Connect die CPU
anhalten, aber nichts weiter tun weil der beim versuch Code ins RAM zu
laden Probleme hatte.
Die Lösung war die CPU-Taktfrequenz über die Memory-Mapped-IO Register
richtig einzustellen (50 MHz, basierend auf dem externen 8 MHz Quarz)
und schon konnte ich vollständig connecten!
Anschließend list sich das DATA-Flash problemlos löschen und nach ziehen
des MODA Pins (0) auch das PROGRAM-Flash. Hier habe ich anschließend
darauf geachtet das an 0x414 ein gültiges Security-Word stand welches
den Chip "offen" zurücklässt.
Das entsprechende J-Flash Projekt habe ich mal beigefügt.