Servus, weil ich schon seid einigen Stunden Suche und nicht wirklich fündig werde, stelle ich die Frage einfachmal hier. Vielleicht könnte ihr mir bitte helfen. Das Problem ist Folgendes: Ein Kollege ist, leider, recht plötzlich verstorben und ich soll seine Abreit übernehmen, bzw. habe ich sie übernommen. Soweit, so gut. Nun habe ich jedoch das Problem, daß er seinen Quellcode in z80 Assembler geschrieben hat, was an sich kein Problem wäre. Jedoch, wenn ich ihn erweitere, passiert es mir, daß mein z80, wenn er eine bestimmte Länge erreicht hat, plötzlich einen Ausgang schaltet, den er gar nicht schalten darf, denn so wird in der Schaltung ein Kurzschluß erzeugt, der wiederum zur Notabschaltung des Boards führt. Laut Debugger stimmen jedoch alle Werte, wenn ich sie rausschreibe. Meine Frage ist: Wie kann das sein? Ich habe Hinweise auf einen Bug gefunden, da es eine errate Datei gibt, fest verankert auf Position 210h im Speicher, jedoch finde ich keinerlei Hinweis darauf, was für einen Fehler er da gemeint hat. Alles, was da steht ist folgendes: (...) ;File e2011_errata.asm ;----------------------- ;auf Adresse 210h !!! - 27.2.2014 ;Fehlerbehebung bei Portausgaben: ;Positionen im Flash nicht aendern - siehe ERRATA Zilog (...) und dann eine Menge Aufrufe von out0, die etwa so aussehen: out0_FLASH_KEY_c: out0 (FLASH_KEY),c ; ret Kann Jemand, der sich mit dieser Problematik auskennt, mir eventuell bitte weiterhelfen? Danke im Vorraus.
Es geht also nicht um Z80 an sich, sondern um ein ganz bestimmtes Derivat. Besorg Dir das Dateblatt davon und die dafür offensichtlich existierenden Errata.
Welchen Prozessor verwendest Du GENAU? Bitte EXAKTEN TYP und Datecode angeben, sonst kann Dir nicht geholfen werden. fchk
Verzeihung, das hab ich gestern vergessen dazuzuschreiben. Bei dem Prozessor handelt es sich um einen: eZ80F91 aus der Acclaim Serie. Der von mir verwendete Compiler ist, demzufolge, ZDS II -eZ80Acclaim! V 5.2.1 Und ich würde gerne die passenden Errata dazu lesen, wenn ich sie denn finden würde.
Hallo, auch ohne das Z80 Derivat wirklich zu kennen habe ich mir mal interessehalber einige der errata Dokumente (vielen Dank für den Link) angesehen. In up0061.pdf ist bei Nummer 7 (auf Seite 3) von einem Problem die Rede bei dem out Befehle an bestimmten Adressen zu Problemen mit der RTC führen können. Der Workaround ihres Kollegen bestand ja darin dass kurze Routinen mit out Befehlen auf fixe Adressen gelegt wurden. Das würde verhindern dass die out Befehle vom Linker per Zufall an problematische Adressen gelegt werden. Die Problembeschreibung in up0061.pdf ist: The RTC loses large amounts of time at spurious intervals. This loss of time may vary between software compiler runs. Viel Glück bei der Fehlersuche.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.