Themabewertung:
  • 1 Bewertung(en) - 5 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Software entwickeln und testen mit dem MPLAB X Simulator
#1
Hallo Forum,
Software für Microcontroller (MCU) lässt sich auch völlig ohne Hardware (Programmer und MCU) entwickeln.
Möglich ist das durch Software die den jeweiligen Microcontroller auf einem PC simuliert. Der entwickelte
Code wird in dieser simulierten Umgebung ausgeführt wie ein einer richtigen MCU. Für die Microchip Produkte
PIC und Atmel ist die Simulationssoftware Bestandteil der kostenfrei vom Hersteller bereitgestellten
Entwicklungsumgebungen MPLAB IDE bzw. Atmel Studio.

Für einen schnellen Einstieg in die Arbeit mit dem MPLAB X Simulator für PIC MCU’s habe ich hier eine Schritt
für Schritt Anleitung in Form von Screenshots erstellt.

Voraussetzung ist eine installierte MPLAB X IDE mit XC8 Compiler, wie hier von Bernhard beschrieben.  Zum
Nachvollziehen kann ein beliebiges Projekt in die IDE geladen werden. Ich habe hier meine
Ampelsteuerung für den PIC18F45K20 verwendet.

Los gehts...

Nachdem das Projekt geladen ist, wird als „Debug Tool“ der Simulator der MPLAB X IDE eingestellt. Hierfür klickt
man auf das Icon für die Projekteinstellungen im „Dashboard“ unten links. In dem sich öffnenden Fenster kann
nun der Simulator ausgewählt werden.

   

Für einen einfachen Einstieg empfiehlt sich die Einstellung des „Debug startup“ auf „Halt at Main“. Damit stoppt
der Simulationsprozess immer erst mal am Anfang der „Main“ Funktion, was die Orientierung im Code erleichtert.
Der Konfigurationspunkt findet sich über das Menü unter "Tools/Options/Embedded/Generic Settings" ganz unten.

   

Damit sind alle Einstellungen erledigt und die Simulation kann über den Debug Button in der oberen Icon Leiste
gestartet werden. Nach erfolgreicher Kompilation wird der Code im Simulator gestartet und, wie oben eingestellt,
am Anfang der Main Funktion angehalten. Mit den Schaltflächen rechts des Debug Buttons kann der Quellcode
nun Zeile für Zeile durchgeschaltet werden.

   

Über den Menüpunkt "Window/Debugging/IO View" lassen sich die jeweils aktuellen Registerinhalte, IO Ports oder Variablen darstellen.

   

Hier im Beispiel wurden im Quelltext als letztes die „Low priority interrupts“ aktiviert. Der IO View für das Interrupt-
Register INTCON spiegelt diese Änderung durch Rotfärbung des zuständigen Bits „PEIE_GIEL“ wieder. Neben den jeweils
aktuellen Änderungen durch den Quellcode, kann auch der Status aller anderen Register und Ports des MCU eingesehen
und per Mausklick verändert werden.

   

Hier noch ein Beispiel mit den Datenrichtungs-Registern TRISC und TRISD.

   

Alternativ zum Schritt für Schritt durchschalten kann der Code über den grünen Button mit dem Pfeil auch
kontinuierlich gestartet werden. Um bei bestimmten Programmpunkten Einblick in die Register oder Variablen nehmen
zu können, lassen sich durch Klicken auf die Zeilennummern sogenannte Brakepoints einfügen. Der Simulator stoppt
die Programmausführung bei diesen Punkten, man kann Register und Ports einsehen und bei Bedarf auch zeilenweise
weiterschalten. Durch Klick auf den grünen Button läuft der Code jeweils weiter bis zum nächsten Breakpoint.

   

Neben Registern und Ports lassen sich über das Register Watches auch aktuelle Inhalte der im Code verwendeten
Variablen angezeigen.

   


Viel Spaß beim Simulieren.

Holger
Zitieren
#2
Super erklärt Holger!
Ansprechpartner für Umbau oder Modernisierung von Röhrenradios mittels SDR,DAB+,Internetradio,Firmwareentwicklung. 
Unser Open-Source Softwarebaukasten für Internetradios gibt es auf der Github-Seite! Projekt: BM45/iRadio (Google "github BM45/iRadio")
Zitieren


Gehe zu: