Hallo! Weiß jemand wie ein Monitorporgramm für Microkontroller arbeitet?
Ja, das weiß jemand. hast du noch weitere (möglicherweise etwas detailliertere) Fragen? Dann könnte die Antwort auch etwas spezifischer ausfallen :-)
Es arbeitet linear, d. h. alle 5 Sekunden wird AX geladen und geschaut, ob da 20 drin steht. Wenn ja, so wird der USB-Controller initialisiert und über WLAN kontakt mit www.zdf.de aufgenommen. Erst wenn das ACK von zdf kommt, schaut der Monitor nach, ob noch genug Klopapier vorrätig ist. Wenn nein, gibts nen Knall und die Kloschüssel explodiert oder aber die Sicherung springt raus. Hoffe geholfen zu haben. P.S.: Nicht vergessen, die Schuhe zu putzen, sonst gibts ein /ACK.
Jetzt habt ihrs geschaft, ich geh NIEEEEE wieder auf Klo ;-) höchstens wenn Stromausfall ist
Also, ich verstehe nicht so richtig wie das Monitorprogramm mit dem Userprogramm zusammen arbeitet. Das Userprogramm muss ja weiter laufen und das Monitorprogramm soll seine Daten sammeln und zum PC übertragen. Wie man das unter einen Hut bekommt ist etwas unklar.
Für die Beiträge von Hubert und den nach folgenden kann ich mich nur herzlichst bedanken. Sonst habt ihr keine Probleme? Das war eigentlich eine ernst gemeinte Frage.
Dir scheint noch nicht ganz klar zu sein, daß keiner hier weiß, was du mit "Monitorprogramm" meinst. Vielleicht einen Debugger?
> Das war eigentlich eine ernst gemeinte Frage.
Schuldigung, aber dann solltest du als erstes mal lernen, WIE man
Fragen stellt.
Monitorprogramme waren früher sehr gebräuchlich, wo es noch keine Flash-µCs gab. Man hatte also einen 8031 mit SRAM und einem EPROM in dem das Monitorprogramm drin war. Mit dem Monitorprogramm konnte man nun über die UART Programme in den SRAM laden und ausführen. Auch hatten einige Monitorprogramme sehr begrenzte Debugfähigkeiten (Register lesen und setzen, RAM-Dump). Mit der Verbreitung von Flash-µC sind Monitorprogramme so gut wie ausgestorben. Der Download von Programmen geht heutzutage per Bootloader, ISP, IAP, JTAG, wobei JTAG auch das Debuggen erlaubt. Peter
Für den 64er gabs doch auch sowas wie ein Monitor. War ein Steckmodul und wurde durch einen Taster darauf aktiviert. Man hatte dann die Möglichkeit, sich die Register anzeigen zu lassen und der Speicherinhalt konnte verändert werden. War immer sehr toll, wenn mal ein Spiel zu schwierig war und man dringend neue Leben brauchte :)
Für den 8085 hab' ich 1987 einen Monitor geschrieben. Der konnte all das ,was die heutigen JTAG-Debugger auch können. Der Nachteil des Monitors war, das dieser im EPROM lag, während das Anwenderprogramm ins RAM geschrieben wurde. Wollte man nun die fertige Rechnerkarte ausliefern, so muste man nur beim Anwenderprogramm das Org 800h auf Org 0 setzen und einmal neu assemblieren. Marillion
Die Monitorporgramm soll, während das User-Programm läuft, bestimmte Register und Speicherzellen permanent oder ztw. auslesen und diesen dann zum PC senden. Auf dem PC wird das ganze grafisch dargestellt und kann manipulliert werden. Wie gesagt, während das User-Programm seine eigentliche Arbeit erledigt.
@Hubert Die Sache ist doch ganz einfach: Wenn du keine Ahnung von der Sache hast, dann halt dich doch einfach raus!!!
"Die Monitorporgramm soll, während das User-Programm läuft, bestimmte Register und Speicherzellen permanent oder ztw. auslesen und diesen dann zum PC senden." Nein, sowas kann ein Monitor nicht. Der Monitor startet die Anwendung und das wars dann. Du must die entsprechenden Routinen schreiben und in das Userprogramm mit einfügen, z.B. in einen Timerinterupt. Du must nämlich dafür sorgen, daß Du dem Userprogramm nicht in die Quere kommst (Echtzeitverhalten nicht versauen, 2. UART benutzen). Das Ganze ist natürlich extrem von der Anwendung abhängig. Im Gegensatz zu PC-Programmen gibt es ja kein Multitaskingsystem, d.h. MC-Programme sind in der Regel so geschrieben, daß sie immer 100% Kontrolle über alle Ressourcen haben. Peter
bei den Renesas MC M16C und M32C wird das Debugging doch auch über einem Monitor (inkl. Bootloader) durchgeführt. Dies läuft dann über einen Int., da gibt es Single-Step und Debug Ints., oder auch einen Adr.-Match-Int. (Für die Break-Points?). Wie genau das geht weiß ich auch nicht. Bei dem SKP-Board ist dann natürlich keine Echtzeitfähigkeit mehr gegeben, es werden zyklisch (einstellbar 10-xxx ms) die Daten zum Debugger-PRG übertragen (Registerinhalte etc., bei C auch Variableinhalte etc.). Es gibt auch einen Free-Run Mode, dann entfällt das zyklische übertragen. Also ähnlich wie zu Z80 Zeiten. Ein JTAG Interface wäre eigentlich Stand der Technik gewesen, bei 16-Bit MC. Grüße Quark P.S. Bei den Freescale HCS12(??) gibt es doch auch einen Bootloader mit Monitor Funktionen, wenn man sich kein BD-Interface leisten kann??
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.