Forum: Compiler & IDEs Seltsamer Bug beim ez80


von Matthias (Gast)


Lesenswert?

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.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

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.

von Frank K. (fchk)


Lesenswert?

Welchen Prozessor verwendest Du GENAU? Bitte EXAKTEN TYP und Datecode 
angeben, sonst kann Dir nicht geholfen werden.

fchk

von Matthias (Gast)


Lesenswert?

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.

von Michael (Gast)


Lesenswert?


von Helmut (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.