Software Simulator in der MPLAB X IDE

Wenn du Fragen / Probleme bezüglich einer integrierten Entwicklungsumgebung (IDE) oder aber zu einem Compiler hast, dann ist dieses Forum der richtige Ort.

Software Simulator in der MPLAB X IDE

#1

Ungelesener Beitrag Herbert » 6. Sep 2019, 17:02

Hallo,
kann mir hier Jemand sagen wo bzw. unter was ich im User Guide zu MPLAB X eine Beschreibung und Bedienung zum Simulator finde.
Ich habe mit Google dazu nichts gefunden was mir hilft wie man den Simulator Anwendet und Bedient.

Vielleicht kann mir ja hier irgendwer an einem kleinen Programm Beispiel erklären wie man den Simulator Bedient und Anwendet.
Ich habe in MPLAB X zu einem C Programm den Simulator mit Debugg aufgerufen und gestartet aber der Simulator läuft und läuft und hört nicht wieder auf.
Danke an euch
Herbert

Re: Software Simulator in der MPLAB X IDE

#2

Ungelesener Beitrag vloki » 7. Sep 2019, 09:39

Den Simulator benutzt man ganz ähnlich wie auch einen Hardwaredebugger (PICkit).

Eine Beschreibung gibt es z.B. in der Hilfe von MPLABX.
Help
-> Tool Help Contents
-> Simulator Help
-> Getting Started with the Simulator


Re: Software Simulator in der MPLAB X IDE

#4

Ungelesener Beitrag Gast » 7. Sep 2019, 11:49

Hallo Vlocki,
danke für die Hinweise.
Gibt es irgend eine möglichkeit aus der Help in MPLAB X, was zu kopieren um dann die Englische Beschreibung in zb. Google nach deutsch Übersetzen zu lassen.
Denn Englisch habe ich in meiner Schulzeit nicht gehabt.
LG. Herbert

Re: Software Simulator in der MPLAB X IDE

#5

Ungelesener Beitrag vloki » 7. Sep 2019, 12:06

Klar, funktioniert so wie fast überall:
Einfach markieren und [Strg]+c (kopieren) drücken.
Im Google Translator dann [Strg]+v zum Einfügen.

Re: Software Simulator in der MPLAB X IDE

#6

Ungelesener Beitrag Herbert » 7. Sep 2019, 12:44

Hallo Vloki,
klasse danke, kopieren und Übersetzen funktioniert.
Werde jetzt versuchen den Simulator zu verstehen und Anzuwenden.
Aber das dauert.
Bis demnächst.
LG Herbert

Re: Software Simulator in der MPLAB X IDE

#7

Ungelesener Beitrag picass » 8. Sep 2019, 10:20

Hallo Herbert!
Hier mal ein Schnell-Einstieg für den Beginn der Arbeit mit dem MPLAB-Simulator:

1) Im MPLAB-Fenster mit der Vierfach-Unterteilung zuerst dein aktuelles Projekt laden:
links oben auf „file“, dann „open recent projekt“

2) im linken, oberen Fenster sollte unter „source files“ dein Programm aufgetaucht sein.

3) Dieses Prog müsste dann im rechten, oberen Fenster mit seinem gesamten Verlauf gelistet sein.

4) im linken, unteren Fenster auf das erste Symbol, den „Gabelschlüssel“, klicken, damit öffnen sich die „projekt properties“ - siehe Bild 2 unten - .

5) dort den Simulator anwählen und auf „apply“ klicken

6) Simulator starten:
in der obersten Bildzeile das Symbol „Hammer u Besen“ - „clean and build projekt“ - anklicken,
im rechten, unteren Fenster kann man dann sehen, ob Fehler aufgetaucht sind, in welcher Zeile die liegen, etc….. oder ob das Prog erfolgreich erstellt werden konnte.

7) In oberster Bildzeile auf „debug projekt“ klicken, und der Simulator rast los, was man an dem kurz drauf rechts direkt daneben liegenden roten Viereck erkennen kann, und ganz unten rechts im Fenster an einem kleinen, sehr schmalen Balken, in dem sich‘s bewegt.

8) Die Bewegung und damit den rasenden Simulator kann man stoppen, indem man auf das Symbol gleich rechts neben dem unter 7 genannten roten Viereck drückt. Dann steht alles, und man hat alle Zeit der Welt, sich den Zustand der Maschine anzuschauen.

9) Das geht am besten, indem man im rechten, unteren Fenster auf den Reiter „Variable“ klickert, und dann in der linken Spalte auf das 3. Symbol: „create new watch“.
Das ist jetzt deine Chance, dein Programm im Ablauf kennen zu lernen.

10) Im sich neu geöffneten kleinen Fenster gibt es links die Möglichkeit, „Globale Symbole“ auszuwählen, die dann danach im Variablen-Fenster sichtbar werden. Diese GS sind die Variablen, welche du selbst in deinem Programm eingeführt hast.
Rechts im Fenster sind die „SFR‘s“ aufgeführt, die Spezial Funktion Register. Das sind Variable, welche – wenn man so will – von Microchip, rsp. dem Ersteller der MPLAB-Programmier-Umgebung – eingeführt wurden, und welche für alle Programme gleich zur Verfügung stehen.
Interessant sind dabei immer das „WREG“, „TRISA“, „LATA“ (und B und C für die Port-Zustände), und was halt für dein Prog wichtig ist.
Ratschlag: Nimm am Anfang nicht alles, was möglich wäre, sondern konzentriere dich auf die wenigen, allerwichtigsten.

11) Ein gute Strategie ist es nach meiner persönlichen Meinung, sich immer nur einen Teil des gesamten, eigenen Progs vorzuknöpfen, und den dann genau zu testen. Natürlich ist es immer ratsam, gleich mit den ersten Teilen zu beginnen, wenn da z.B. die Portbelegungen nicht stimmen, kann man den Rest eh‘ vergessen.

12) Eine gute Strategie ist es auch, den rasenden Simulator an ganz bestimmten Stellen in der Prog-Ausführung zum Halten zu zwingen, indem man „brakepoints“ verwendet, also Haltepunkte. Die erzeugt man, indem man z.B. (gibt mehrere Möglichkeiten) mit der linken Maustaste einmal auf eine Zeile klickert, dann die rechte M-Taste und dort auf „toggle line brakepoint“ klickert. Man kann die linke Taste auch weglassen, und sofort die rechte nehmen, muss nur aufpassen, dass man nicht in der Zeile verrutscht.

Dann startet man das Prog, das läuft dann vom Anfang an bis zum Haltepunkt, und dann kann man sich den Zustand aller Variablen anschauen. In der Regel wundert man sich, weil die nicht alle das anzeigen, was man erwartet hätte.

13) Ein mögliches Prob bei dieser Art der Programm-Untersuchung sind die Punkte, an welchen z.B. ein analoges Eingangssignal an einem Port abgefragt werden soll, oder aber – wie in einem meiner Progs - gerade eine ganz bestimmte Speicherzelle des EEPROMS. Das kann der Simulator so ohne weiteres nicht leisten, da den erhofften Inhalt anzubieten. Das braucht Nachhilfe, indem man z.B. die entsprechende Variable, die den ADC am Port A, Pin2 auslesen soll, selbst mit einem passenden Inhalt befüllt. Das geht im Variablenfenster. Dort ist in der ganz rechten Spalte der aktuelle Inhalt der jeweiligen Variablen gelistet. Durch Draufklickern, und Ändern der angezeigten Zahl kann man da Gewünschtes eintragen. Standardmäßig sind die Zahlen im Hex-Format.
Drückt man da die linke Maustaste, taucht ein Fenster auf u.a. mit „Display Value Column As“.
Dadrauf klickern, und man kann dann alternativ auch die Ausgabe als Dezimal-Zahl wählen.

14) Dieses Prob der einzustellenden Variablen lässt sich für die Testzeit auch ganz gut dadurch lösen, dass man z.B. die Abfrage des aktuellen Eingangswertes eines Port-Pins im Programm unterbindet, indem man dieses kommentierende ";" vorstellt, und an dieser Stelle vorübergehend eine eigene Variable einführt, die man fest mit dem gewünschten Inhalt befüllt. So wird der sonst zwangsweise Stopp an dieser Stelle unterbunden, und man kann sich den späteren, dahinter liegenden Problem-Stellen zuwenden.

Das mal so für den Anfang, viel Spass, und – weit wichtiger – vieeeeeeeeeeel Geduld.
Grüße, picass
Dateianhänge
help fenster.jpg
projekt properties.jpg
vier fenster.jpg

Re: Software Simulator in der MPLAB X IDE

#8

Ungelesener Beitrag Herbert » 8. Sep 2019, 15:02

Hallo picass,
vielen dank, werde es mal Ausprobieren, wie du schon sagst man muß Geduld und Ausdauer haben und sich nicht entmutigen lassen.
Gruß Herbert

Re: Software Simulator in der MPLAB X IDE

#9

Ungelesener Beitrag picass » 8. Sep 2019, 18:38

Hallo Herbert!

Es ist wahrlich nicht meine Absicht, dich zu entmutigen, aber.... aber mit dem MPLAB-Simulator umgehen zu können, will sagen, sich der Bedienung sicher zu sein, bedeutet nicht unbedingt, ausschließlich Freude an der Arbeit zu haben. Aus eigener, in den letzten Wochen erlebter leidiger Erfahrung muss ich sagen, dass der Umgang mit dem Sim durchaus auch ein Ärgernis sein kann.
Mir ist es immer wieder passiert, dass etwa nach der vierten oder fünften Manipulation von Variablen-Werten - bei meinem Prog war es der simulierte Eingang des ADC's, also des Analog-Wandlers - , das Programm die frisch eingetippten Werte einfach nicht annehmen wollte, und immer auf den Maximalwert (FFh) sprang. Weiterarbeiten war nur möglich, indem das Prog beendet, der PC runtergefahren u. neu gestartet wurde, dann das Prog neu geladen, usw.. Das hat ewig Zeit und Nerven gekostet. Hatte das Problem auch hier eingestellt, und wollte mich zwischenzeitlich schon an Microchip wenden, aber mein Prog ist nun fertig, da drangsalisiert mich das nicht mehr.

Was ich nicht weiß: entweder ist das ein Fehler im Simulationsprogramm, das halt zumindest in diesem Bereich unzuverlässig zu nutzen ist, oder ob das Prog deshalb aussteigt, weil irgendwo anders sich noch irgendein Fehler - z.B. ein Syntax-Fehler - eingeschlichen hatte, welcher sich nicht sofort als solcher bemerkbar macht, sondern verzögert das Prog aus dem Tritt bringt.
Jedenfalls solltest du auch mit Unzuverlässigkeit des Progs selbst rechnen, und nicht nur alles deinen Programmierkünsten zuschieben.
Also nochmal: wappne dich mit Geduld und guten Nerven.

Es sei aber auch gesagt, dass dieser Sim - wenn er denn funktioniert - schon ein tolles und sehr wertvolles Prog darstellt, und quasi unverzichtbar ist. Denn ein Programm zu schreiben, ist nur die Hälfte der Miete. Dieses Prog auch zum Laufen zu bekommen, will sagen, all die kleinen und gemeinen Fehler zu suchen und zu beseitigen, das Prog quasi zu entflöhen, ist ohne diesen Sim nur schwer vorstellbar. Ach ja, der Harwaredebugger, also das Prog nicht nur in simulierter Software, sondern im für das Prog vorgesehenen echten, "harten" µC laufen zu lassen, um z.B. reale Port-Eingaben - wie bei mir der ADC - und/oder Ausgaben - wie z.B. einzelne LEDs oder Zifferanzeigen o.ä. nutzen und testen zu können, ist ebenso eine gute Sache.
Grüße, picass

#10

Ungelesener Beitrag Herbert » 9. Sep 2019, 08:37

Hallo picass,
nein so habe ich das nicht gemeint das du mich entmutigst, ich wollte damit nur sagen das ich trotz meiner verständniss Probleme weiterhin Spaß am Basteln mit PIC Microkontroller und der Elektronik habe.
Denn auch wenn hier im Forum und im Blog mir von euch allen wirklich alles sehr sehr gut für nicht Fachmänner erklärt wird verstehe ich vieles nicht gleich, wo einige wohl sagen ist doch Logisch usw. aber ich habe ja Zeit und Geduld und sehr viel Spaß an diesem schönen Hobby auch wenn vieles nicht klappt und funktioniert, Geduld Geduld----- und immer weiter Basteln u. versuchen u. Lesen und Fragen hier und im Netz.
Das schöne ist das dieses Forum und der Blog in deutsch ist.

Zu deiner Erklärung zum Simulator ab 9.0 melde ich mich demnächst nochmal bei dir.
Danke Gruß Herbert

Re: Software Simulator in der MPLAB X IDE

#11

Ungelesener Beitrag Gast » 9. Sep 2019, 19:50

Hallo picass,
nun zu meiner Frage zu deiner sehr schönen Einstiegs Erklärung zum Simulator, danke für deine Mühe.

Wenn ich den Simulator gestartet habe erscheint oben das Rote Viereck und unten das Fenster mit Variable Output usw. siehe Bild 1.

Beim Anhalten des Sim mit dem Roten Viereck verschwindet alles im unteren Fenster dort steht nur noch Qutputx siehe Bild 2.

Lasse ich den Sim aber laufen dann kann ich auf den Reiter Variable klicken und es erscheint das Fenster wie du es unter 9) siehe Bild 3 beschreibst.
Wie starte ich den Sim erneut wenn ich den Sim über das Rote Viereck angehalten habe. Muß ich diesen dann immer wieder von Vorne starten mit debug projekt? Um den Sim zu verstehen und Anzuwenden braucht man viel viel Erfahrung, diese muß ich jetzt versuchen mir Anzueignen

Beim Programmieren bin ich ja auch erst weit am Anfang, aber egal wie lange es dauert bis auch ich einiges verstehe und begreife, es macht mir einfach spaß dieses tolle Hobby.
Grüße Herbert
Dateianhänge
Bild 3.PNG
Bild 2.PNG
Bild 1.PNG

Re: Software Simulator in der MPLAB X IDE

#12

Ungelesener Beitrag vloki » 9. Sep 2019, 20:22

Das "rote Viereck" beendet den Simulator komplett.
( Ich könnt unsere Studies schlagen, weil sie da immer wieder drauf klicken ;-)

Die zwei senkrechten Striche auf dem runden Orangen (Pause) halten ihn nur an.

Wenn man den Simulator nur anhält, dann kann man ihn wieder mit dem grünen Pfeil (Play) weiter laufen lassen,
oder das Programm auch schrittweise (einzelne Befehle oder Funktionen) mit den Butons mit den Pfeilen ausführen.
(Die mit den Pfeilen sieht man bei dir evtl. nicht, weil zu viel Müll in der Menüleiste ist.
Mit dem Doppelpfeil nach unten, kann man die trotzdem anzeigen)
Der blaue Button resetet das Programm ohne den Simulator zu beenden.
Es kann dann wieder vom Anfang gestartet, oder auch schrittweise ausgeführt werden.

Re: Software Simulator in der MPLAB X IDE

#13

Ungelesener Beitrag vloki » 9. Sep 2019, 20:39

Das folgende Ist zwar für einen Hardware Debugger, aber das macht keinen wirklichen Unterschied...

Klick doch mal auf den ersten Link (uCquick-X.....) in der rechten Seitenleiste hier:
https://www.hs-ulm.de/wir/Personal/Pers ... r/uCQMCON/

und schau dir Bildchen an unter
3.1.8.3 Programmieren der Hardware mit dem Debug-Code
3.1.8.4 Ausführen, Anhalten und Reset des Programms

<edit>
Oder schau da nach: https://pic-projekte.de/blog/mplabx-ide/#Debuggen

Re: Software Simulator in der MPLAB X IDE

#14

Ungelesener Beitrag Herbert » 10. Sep 2019, 08:33

Hallo vloki,
danke für die Erklärung u. Hinweise, irgendwie übersehe ich wohl beim lesen u. stöbern eine ganze Menge!
Aber dank eurer Hilfe bin ich wieder ein kleines stückchen weiter. danke

Grüße Herbert

Re: Software Simulator in der MPLAB X IDE

#15

Ungelesener Beitrag Kaspesch » 10. Sep 2019, 13:05

Hey habe ebenfalls eine Frage zu MPLAB X.
Habe via Assembler eine blinkende LED programmiert.
Möchte mir per IO View meine Port Ausgänge und den Timer0 anzeigen lassen.
Das Programm scheint zu funktionieren nur ändern sich die Werte nur wenn ich den Port neu anklicke.
Ist es möglich sich die Port-Werte und Timer "live" anzeigen zu lassen?

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag