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!
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.
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.
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
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?
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.
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?
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.
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)
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.