HC12, Chips12 und TwinPEEKs

Gast #1014978
Lesenswert?

Hallo zusammen,
Ich habe ein Problem mit dem Chips12 vom Elektronikladen. Auf dem Chip 
ist ein Monitorprogramm namens TwinPEEKs welches bei verbundenem PIN T2 
und PIN T3 den Programmcode auf Adresse 0x8000 ausführt. Dies klappt 
jedoch leider nicht mehr.
Seit dem ich versucht habe den Port AD als digitlanen I/O Poert 
umzukonfigurieren (was bis jetzt auch noch nicht klappt) startet mein 
Programm nur noch wenn ich es über einen Konolenbefehl für das 
Monitorprogramm (g 0x8000) starte. Ich muss irgendein Register für den 
Port T so verbogen haben das die Abfrage des Jumpers zwischen PIN T2 und 
PIN T3 nicht mehr funktioniert. Das letzte was ich versucht habe war das 
Register RDRAD an der adresse 0x0033 mit 0xFF zu beschreiben. Danach 
ging es nicht mehr.
Was ich nicht verstehe ist wieso das Monitorprogramm nicht alle Register 
wieder so initialisiert das die Abfrage wieder funktioniert.
Hat jemand eine Idee woran es liegen könnte?
Danke für eure Hilfe!
Gast #1015254
Lesenswert?

Ich würde mal genau nachpiepsen (Ohmmeter), ob die Pins T2, T3 wirklich 
(noch) verbunden sind (Steckbrücke?) oder ob evtl. Kurzschluss nach Gnd 
oder Vcc oder zu einem benachbarten Pin vorliegt und die Erkennung 
stört.

Sonst die Frage doch besser beim Support des Herstellers klären lassen.
Gast #1015259
Lesenswert?

Hallo,
Hab ich das richtig verstanden, es hat schon funktioniert?
Ich würde an Deiner Stelle zunächst mal testen, ob die entsprechenden
Portpins PT2 und PT3 noch ok sind. Dafür die Brücke lösen und in Deinem 
Anwenderprogramm die beiden Pins z.B. in einer Endlosschleife togglen 
lassen.
Wenn die als Ausgänge funktioniern, dann setze die Pins als Eingände und 
teste (indem zu die Pins nach high und dann nach low ziehst und eine 
zugehörige Funktion ansprichtst) ob das funktioniert.
Wenn die Pins ok sind, schätze ich, dass du irgendwie dein TwinPeeks 
kaputt gekriegt hast. Dann musst die mit dem StarPrg und z.B- ComPOD12 
den Monitor neu laden.
 Eggert
Gast #1015269
Lesenswert?

Ok, das sind schonmal 2 gute Antworten, danke. Das mit dem messen hab 
ich schonmal ein wenig gemacht, muss es aber nochmal gründlich tun. Das 
erste was mir auffiel ist, dass ohne Jumper das Monitorprog. den einen 
Pin kurz auf high setzt -> i.o allerdings ist mit Jumper das nicht zu 
messen -> n.i.o Aber Kurzschluss gegen Masse ist auch nicht 
festzustellen.

-TwinPeeks kaputt gekriegt:
Mit einem einfachen Befehl wie "Register_xy = 0xFF;" ist das aber nicht 
zu schaffen, oder? Selbst wenn die Adresse des Registers nicht stimmt in 
die ich schriebe. Um in den Flash zu schreiben sind andere Befehle 
nötig, richtig?
Gast #1015274
Lesenswert?

PS. Ja es hat schon funktioniert. Bis zu dem Zeitpunkt als ich an dem 
blöden RDRAD-Register vergriffen habe welches auf Adresse 0x0033 liegt 
wenn ich das Datenblatt richtig gelesen hab. Ich hab da ne 0x00 
reingeschrieben und dan war Schicht im Schacht. Jetzt startet mein 
Programm nur noch wenn ich es manuell über Twinpeeks starte.
Gast #1015288
Lesenswert?

hast schon recht, aber ich hab das auch schon mal geschafft (ich weiß 
nicht mehr wie) den Monitor kaputt zu zerschiessen.
Ich benutze nicht Chips12 sondern CARD12 mit dem HCS12D64 Chip. Ich hab 
meine Anwenderprogramme ab 0x4000 stehen. Ist es so, dass Dein TwinPEEKS 
das Anwenderprogramm bei 0x8000 erwartet?
Gast #1015294
Lesenswert?

Ja, es sollte an Adresse 0x8000 ausgeführt werden.
Giebts den eine Möglichkeit das Monitorprogramm über das Monitorprogramm 
neu zu flashen? Ich mein Ausführen tut er ein Programm ja wenn ichs ihm 
sage, dan müsste man nur ein Programm schreiben welches vom 
Anwenderflash das Monitorprog. neu rüberkopiert.
Gast #1015347
Lesenswert?

Hallo,
erstmal liegt das RDRAD Register nicht an der absoluten Adresse $33 !!!!
Die Adresse $33 ist die Adresse relativ zum Beginn des PIM 
Adressbereichs, der ab $240 beginnt.
D.h. die absolute Adresse des RDRAD Registers ist $240 + $33 = $273.
Die Frage ist, nimmst du in deinem Quelltext die vordefinierten 
Portnamen mit den (wahrscheinlich richtig) vordefinierten Adressen, oder 
gibst du die Adressen explizit an ?

APW
Gast #1015353
Lesenswert?

Nochwas, falls du tatsächlich falsche Adressen für RDRAD verwendest, 
gehe ich davon aus dass du auch noch mehrere andere Register falsch 
adressierst, denn an (absolut) $33 liget das Register DDRK, daran sollte 
es also nicht liegen wenn die SW nicht funktioniert.

APW

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren