PureBoard
https://www.purebasic.fr/german/

µC Emulator [V# 0.0.3][Kernel/Parser OpenSource]
https://www.purebasic.fr/german/viewtopic.php?f=11&t=24547
Seite 1 von 2

Autor:  cxAlex [ 08.07.2011 00:57 ]
Betreff des Beitrags:  µC Emulator [V# 0.0.3][Kernel/Parser OpenSource]

Servus.

Ein kleines Projekt von mir das ich in den letzten 3 Tagen entwickelt habe, eher etwas für die etwas bastlerisch veranlagten hier.

Es handelt um einen µC - Emulator der Byte - Code ausführen kann. Programmiert wird das ganze in einer Assembler - ähnlichen Sprache, es ist ein Editor mit Syntax-Highlighting, Auto-Completion und Befehls-Hilfen enthalten. Der Emulator stellt 4 32 Bit Ports zur Verfügung, an jeden können wahlweise Taster/Leds/7-Segment LED mit/ohne vorgeschaltenen Dezimal zu BCD Encoder/oder eine direkte Eingabe. Des weiteren lacht dich ein fröhliches Gesicht vom µC an und sorgt immer für gute Laune.
Der Emulator kann ~ theoretisch 2 Milliarden Ports ansprechen, wobei Port 0 ein direkter Input/Output vom User ist (InputRequester, MessageBox), die nächsten 32K Ports Storage Ports die einfach alles zurückspiegeln was man an sie sendet und die nächsten 32K Ports Special Function Ports sind (Bestimmte Anzahl Millisekunden warten, ...)
Sämtliche weiter Ports sind frei belegbar, etwa die 4 Ports des Emulators. In einer späteren Version möchte ich die Anzahl frei einstellbar machen, ist nur eine Frage wie ich die Ports am besten alle aufs Fenster bringe.

In Arbeit befinden sich derzeit mehr Input/Output - Mods (Voltmeter, Spannungsqellen/ Funktionsgeneratoren an ADC Convertern), Timer und ein Interrupt-Controller.

Der Editor und der Emulator sind eigenständig lauffähig, damit der bei einem Crash des Emulators (Stack Overflow, ...) beispielweise nicht der Emulator mit abstürzt. Der Emulator arbeitet nach Von Neumann Architektur und hat standardmäßig 1024 Stack-Einträge à 4 Byte Daten + 1 Byte OpCode zur Verfügung. Die Stack-Größe werde ich in einem späteren Release frei einstellbar machen.

Es sind bereits ein paar Beispielcodes verfügbar. Diese kann man mit µCEdit bearbeiten und danach per Execute->Send to Emulator an den Emulator senden oder direkt per µCEmulator ausführen. Das ganze funktioniert nach dem Schema: Datei auswählen->Program->Run (Stop->Reset). Einfach mal ein wenig ausprobieren.

Als kleines Beispiel das KidLed.txt, ein 8-Bit Lauflicht:
Port A auf LED, Port B aus Taster und Port C auf Direct stellen. Der Wert den man in Port C einstellt ist ein Delay um das Lauflicht zu verlangsamen. Taster 0 schaltet die Laufrichtung der LEDs um (Rechtslauf/Linkslauf) und Taster 1 aktiviert den "KIDMode" (abwechselnder Rechts/Linkslauf)

Den Source des Bytecode-Interpreter/ByteCode-Compiler und des Parsers, der Virtuellen I/O Schnittstelle, Virtuellen RAM - Verwaltung und Virtuellen Register werde ich als OpenSource veröffentlichen, es fehlt nur noch etwas Dokumentation.

Das ganze wurde zu Lernzwecken entwickelt, also nicht zu kritisch sein :wink:

Der Editor:
Bild

Der Emulator:
Bild

Download:
http://files.cxalex.bplaced.net/secure. ... uC_Emu.zip

Gruß, Alex

Autor:  DarkDragon [ 08.07.2011 08:17 ]
Betreff des Beitrags:  Re: µC (Micro Controller) Emulator

Hmm naja, ich würde mir wünschen, dass da wenigstens ein offizielles System dahintersteckt. Sowas wie die 8051 oder PIC Simulatoren. Ansonsten ganz nett mal anzusehen.

Autor:  cxAlex [ 08.07.2011 09:56 ]
Betreff des Beitrags:  Re: µC (Micro Controller) Emulator

Ich habe mich sogar bewusst dagegen entschieden mich genau an ein offizielles System zu halten. Ich kenne ein paar dieser Simulatoren, aber die Bedienung usw. ist nicht wirklich Benutzerfreundlich, bzw. wenn man sich nicht wirklich mit der Architektur des jeweiligen µC auskennt stößt man schnell an Grenzen. Das hier ist eher für Anfänger gedacht die überhaupt einmal verstehen wollen wie ein µC funktioniert ohne bereits an ein bestimmtes System gebunden zu werden.

Gruß, Alex

Autor:  RSBasic [ 08.07.2011 11:23 ]
Betreff des Beitrags:  Re: µC (Micro Controller) Emulator

Kann es sein, dass die Datei "uC_Emu.zip" (267 KB (273.702 Bytes)) beschädigt ist? Bei mir wurde deine Anwendung 2x verpackt und ich muss daher auch 2x wieder extrahieren. Aber das zweite Archiv kann ich nicht entpacken, weil ich jedesmal bei jeder Datei die folgende Fehlermeldung bekomme: "Fehler 0x80004005: Unbekannter Fehler" / "Unbekannte Methode"
Ich habe die Datei auch erneut heruntergeladen, aber das zweite Archiv lässt sich nicht entpacken.

Autor:  ts-soft [ 08.07.2011 11:28 ]
Betreff des Beitrags:  Re: µC (Micro Controller) Emulator

winrar hat geschrieben:
! D:\TS-TEMP\test\µC Emu.zip: Unbekannte Methode in µC Emu\Examples\GGT_PushPop_Recursive.txt.
! D:\TS-TEMP\test\µC Emu.zip: Unbekannte Methode in µC Emu\Examples\KidLed.txt.
! D:\TS-TEMP\test\µC Emu.zip: Unbekannte Methode in µC Emu\Examples\PortA_To_PortB.TXT.
! D:\TS-TEMP\test\µC Emu.zip: Unbekannte Methode in µC Emu\help\Help.htm.
! D:\TS-TEMP\test\µC Emu.zip: Unbekannte Methode in µC Emu\Scintilla.dll.
! D:\TS-TEMP\test\µC Emu.zip: Unbekannte Methode in µC Emu\µCEdit.exe.
! D:\TS-TEMP\test\µC Emu.zip: Unbekannte Methode in µC Emu\µCEmulator.exe.

Autor:  cxAlex [ 08.07.2011 11:54 ]
Betreff des Beitrags:  Re: µC (Micro Controller) Emulator

Wah. Bitte mit 7zip entpacken. Ich hab das letztens neu installiert,hat anscheinend die Std Packmethode umgestellt, das hatten wir schon mal :-P

Bin gerade nicht an meinem PC werde das so schnell es geht korregieren!

Gruß Alex

Autor:  rolaf [ 08.07.2011 11:58 ]
Betreff des Beitrags:  Re: µC (Micro Controller) Emulator

7zip sagt alles in Ordnung. Aber in der Tat doppelt gezippt. :mrgreen:

Bei 7zip Kompressionstärke bei ZIP immer auf "Normal" lassen, dann klappts auch mit anderen Entpackern.

Autor:  chi [ 08.07.2011 16:21 ]
Betreff des Beitrags:  Re: µC (Micro Controller) Emulator

Zitat:
"KIDMode" (abwechselnder Rechts/Linkslauf)

Hmm, ich glaube du meinst doch eher K.I.T.TMode oder?

Ansonsten... :allright:

Zitat:
Des weiteren lacht dich ein fröhliches Gesicht vom µC an und sorgt immer für gute Laune.

Werde µC nun täglich starten... Gute Laune kann ich immer brauchen <)


cheers, chi

Autor:  cxAlex [ 08.07.2011 16:57 ]
Betreff des Beitrags:  Re: µC (Micro Controller) Emulator

Jup. Meine Ich ^^ War wohl doch schon müder als ich dachte.

Gruß, Alex

Autor:  cxAlex [ 11.07.2011 16:11 ]
Betreff des Beitrags:  Re: µC (Micro Controller) Emulator [V# 0.0.2]

Update V# 0.0.2

Einige GUI - Verbesserungen am Editor und Emulator, neue Beispiele Dezimal2BCD Encoder und Reaktions-Tester.
Der Source des Emulator-Kerns wurde nun als OpenSource beigelegt. Gegenüber der 1. Version wurde bereits ein Genereller Interrupt-Controller eingebaut auf dem später Timer usw. ansetzen werden.

Download im 1. Post

Gruß, Alex

Seite 1 von 2 Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/