Hallo,
ich wollte euch mal einen Fehler vorstellen der mich jetzt bestimmt eine knappe Woche debugging gekostet hat. Ein Prozessor ist über den asynchronen Bus an 2*ROM und SDRAM (mit gemeinsamen Daten und Adressleitungen) angeschlossen. Ich adaptiere eCos (ein RTOS) auf die Platform und nachdem es im SDRAM läuft will ich den Start aus dem ROM programmieren. Eigentlich einfach dachte ich. Habe den Startup geschrieben, compiliert und in den ROM geschoben. Verify klappt und ich lass es laufen. Es kommt aber immer wieder, insbesondere in Schleifen die in den Speicher schreiben, zu Invalide Instruction Exceptions. Nicht immer an der selben Stelle aber doch fast. Die Instruktion die ich mit dem Debugger auslese ist aber korrekt. Also Timing überprüft. Aber selbst bei Schneckentempo kommen Fehler, wenn auch später im Code, vor. Also Oszi genommen und die Signale angeguckt. Sehen super aus. Sogar einen Zacken zu steil. (Mal sehen was die EMV Prüfung ergibt.) Alles sehr oft nochmal nachgeprüft aber immer wieder kommt es zu diesen selt- samen Invalid Instruction Exception bzw. auch zu fehlerhaft aus dem Speicher ausgelesenen Daten. Betriebsspannung auch OK mit Rippel