Forum: Mikrocontroller und Digitale Elektronik HC12, Chips12 und TwinPEEKs


von Markus (Gast)


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!

von Markus (Gast)


Lesenswert?

Keiner eine Idee? Ist irgendwas nicht klar? Dann fragt bitte, sagt was, 
nennt mir andere Foren, Quellen oder mutmahßt einfach mal ins blaue. Ich 
stehe nämlich grad ziemlich hilflos da.

von Klaus (Gast)


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.

von EF (Gast)


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

von Markus (Gast)


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?

von Markus (Gast)


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.

von EF (Gast)


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?

von Markus (Gast)


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.

von EF (Gast)


Lesenswert?

Besorge Dir besser eine Möglichkeit über den BDM-Zugang mit einem POD 
den Monitor neu zu programmieren.
Es gibt verschiedene:  Elektronikladen "ComPOD12" und StarProg
                        P&E "USB Multilink Interface"
oder Selbstbauprojekt siehe Freescale-Forum
http://forums.freescale.com/
TBDML: Turbo BDM Light for S12(X)

von APW (Gast)


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

von APW (Gast)


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

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.