Forum: Mikrocontroller und Digitale Elektronik M16C Monitor Bugs in V.2.02.05


von Jens (Gast)


Lesenswert?

Hallo zusammen,

vor einiger Zeit habe ich die Quellen für den M16C-Monitor, der das
Debuggen per KD30 erlaubt, von www.m16c.de heruntergeladen (inzwischen
gibt es sie wohl nicht mehr).

Wegen eigener Anpassungen habe ich mich mit den Quellen
auseinandergesetzt und dabei 3 Fehler gefunden, die durchaus Probleme
machen könnten:
 - Es wird nur Platz für 4 Breakpoints reserviert
   Bei Prozessoren mit mehr (z.B. 30626 mit 8) gibt das Probleme,
   wenn man mehr als vier benutzt.
 - Bei Prozessoren mit 15k RAM stimmt der Stackpointer im
   Monitor nicht.
 - Eine Byte-Variable wird als Word benutzt.
Die Auswirkung der letzten beiden Fehler habe ich noch nicht
untersucht.

Die eigenen Änderungen hatten übrigens zwei Ziele:
 - Autostart der Anwendung, wenn ein IO-Pin auf high liegt,
   das erspart für den 'Bastelanwender' das Flashen der Anwendung
   ohne Monitor, ist der Pin auf high, wird der Monitor über-
   sprungen und es geht ohne KD30 los.
 - Entfernen der Auto-Baudrate-Erkennung
   Im KD30 gibt es die Möglichkeit, die Verbindung zum M16C
   über einen TCP/IP-Port herzustellen. In meinem Fall ist
   das ein XPort Ethernet-zu-Seriell-Wandler. Bei dieser Art
   des Verbindungsaufbaus fehlen jedoch die 00-Bytes, die zur
   Baudrate-Erkennung verwendet werden.
   (Versuche mit einer virtuellen COM-Schnittstelle, die den XPort
    ansteuert, sind übrigens gescheitert, der COM-Treiber kam
    in der Startphase aus dem Tritt, warum auch immer)

Falls jemand am geänderten Monitor interessiert ist, gebe ich ihn gern
weiter.

Gruß
  Jens

von Alex (Gast)


Lesenswert?

Hätte sehr gerne den Code!!!

Ich will ich einen Xport an meinen M16c62 anschließen!

Wo hast du deinen Xport gekauft??
Danke

von Jack (Gast)


Lesenswert?

hallo,
könntest du mir den code zusenden

  gruß
  jack

von Jens (Gast)


Lesenswert?

Hallo,

ich bereite den Code noch etwas auf und veröffentliche ihn dann hier.

@Alex:
Mein XPort ist von Segor, auf der c't-Platine, sicherlich nicht der
günstigste Weg, um an so ein Ding zu kommen. Ich habe noch ein Angebot
von www.tcplus.at, das um einiges günstiger ist.

Eigentlich habe derzeit ich meinen WiPort im Einsatz, die zweite
serielle Schnittstelle des M16C ist dann auch 'versorgt' und das zu
erstellende System soll zum Testen in den Garten, da es GPS-Empfang
benötigt.

Oh, sehe gerade, der WiPort wäre bei www.tcplus.at deutlich günstiger
gewesen...Aber die c't-Platine ist hier auch nicht schlecht für den
Anfang.

Noch ein paar kurze Worte zum KD30 (V.4.10). Die Verbindung per TCP/IP
muss direkt in der kd30.ini eingestellt werden:
[COMMUNI]
IF=2
...
LANPORT=2711          (in hex, seltsam...)
IPADDR=192.168.0.3    (die XPort-Adresse)
Leider hängt er sich ziemlich auf, wenn es mit der Synchronisation
nicht klappt. Passiert aber selten. Den XPort habe ich vorher auf
38400, 8bit, no parity und 2(!) Stopp-Bits eingestellt. Versuche mit
höherer Geschwindigkeit sind bisher gescheitert, zumindest beim
Flashen.

Per WLAN ist das Ganze etwas träger als mit direkter COM-Leitung,
funktioniert aber prima.

Der oben erwähnte Fehler mit den vier Breakpoints liegt übrigens nicht
im Monitor, sondern in der Datei M30626FHP.MCU des KD30. Der Prozessor
hat nur 4 Breakpoint-Registersätze, in der Datei steht aber 8. Da
scheinen noch weitere betroffen zu sein, wie z.B. der 624. Ich habe die
Datei angepaßt, dann ist bei 4 Breakpoints Schluß.

Der Monitor folgt, ist fast fertig verschönert, nur noch etwas mehr
testen ;-)

Gruß

Jens

von Jens (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

anbei jetzt der Monitor mit den oben beschriebenen Änderungen.

Über Feedback würde ich mich freuen.

Gruß

Jens

von Jens (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

weil er mir beim Aufräumen gerade über den Weg lief: Der
Original-Monitor V.2.02.05 ohne meine Ver-schlimm-besserungen.

Gruß

Jens

von Alex (Gast)


Angehängte Dateien:

Lesenswert?

Memory View

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.