21.08.2012 Aufrufe

Computertechnik mit Mikrocontrollern

Computertechnik mit Mikrocontrollern

Computertechnik mit Mikrocontrollern

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

KAPITEL 13. AUFBAU DES SYSTEMS 185<br />

Vor der Ausgabe des Strings kann der Zustand des Speichers<br />

<strong>mit</strong> der Funktion debug(); begutachtet werden. Die<br />

Zeile #include ’’debug.c’’ stellt den notwendigen Programmcode<br />

zur Verfügung. Etwas mehr als 0.5 KB werden<br />

gebraucht. Für die Initialisierung der seriellen Schnittstelle<br />

sorgt sich das Makro debug init();. Prinzipell wären diese<br />

drei zusätzlichen Zeilen ausreichend. Da die lokale Variable ptr<br />

auf dem Stack steht, debug() jedoch selbst den Stack erweitert,<br />

ist ein Suchen von ptr kompliziert. Die statische Variable<br />

help debug ptr vereinfacht das Verfahren.<br />

Bedienung der Funktion debug()<br />

Befehl Syntax Semantik<br />

read memory rm addr [leng] display leng bytes<br />

write memory wm addr byte *addr = byte<br />

read eeprom re addr [leng] display leng bytes<br />

write eeprom we addr byte *addr = byte<br />

read program rp addr [leng] display leng bytes<br />

continue c return from debug()<br />

Mit dem Befehl make disasm wird der Programmcode untersucht:<br />

00000202 :<br />

202: cf 93 push r28<br />

204: df 93 push r29<br />

206: ec 01 movw r28, r24<br />

208: 90 93 88 00 sts 0x0088, r25<br />

20c: 80 93 87 00 sts 0x0087, r24<br />

210: 8b df rcall .-234 ; 0x128<br />

212: 88 81 ld r24, Y<br />

214: 88 23 and r24, r24<br />

216: 29 f0 breq .+10 ; 0x222<br />

218: 89 91 ld r24, Y+

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!