Aktuelle Zeit: 21.02.2020 14:10

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 12 Beiträge ]  Gehe zu Seite 1, 2  Nächste
Autor Nachricht
 Betreff des Beitrags: µC Emulator [V# 0.0.3][Kernel/Parser OpenSource]
BeitragVerfasst: 08.07.2011 00:57 
Offline
Benutzeravatar

Registriert: 26.06.2008 10:42
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

_________________
Projekte: IO.pbi, vcpu
Pausierte Projekte: Easy Network Manager, µC Emulator
Aufgegebene Projekte: ECluster

Bild

PB 5.1 x64/x86; OS: Win7 x64/Ubuntu 10.x x86


Zuletzt geändert von cxAlex am 13.07.2011 14:47, insgesamt 4-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: µC (Micro Controller) Emulator
BeitragVerfasst: 08.07.2011 08:17 
Offline
Benutzeravatar

Registriert: 29.08.2004 08:37
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.

_________________
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: µC (Micro Controller) Emulator
BeitragVerfasst: 08.07.2011 09:56 
Offline
Benutzeravatar

Registriert: 26.06.2008 10:42
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

_________________
Projekte: IO.pbi, vcpu
Pausierte Projekte: Easy Network Manager, µC Emulator
Aufgegebene Projekte: ECluster

Bild

PB 5.1 x64/x86; OS: Win7 x64/Ubuntu 10.x x86


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: µC (Micro Controller) Emulator
BeitragVerfasst: 08.07.2011 11:23 
Offline
Admin
Benutzeravatar

Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
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.

_________________
BildBildBildBild BildBild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: µC (Micro Controller) Emulator
BeitragVerfasst: 08.07.2011 11:28 
Offline
Benutzeravatar

Registriert: 08.09.2004 00:57
Wohnort: Berlin
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.

_________________
PureBasic 5.71 | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 19.3 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: µC (Micro Controller) Emulator
BeitragVerfasst: 08.07.2011 11:54 
Offline
Benutzeravatar

Registriert: 26.06.2008 10:42
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

_________________
Projekte: IO.pbi, vcpu
Pausierte Projekte: Easy Network Manager, µC Emulator
Aufgegebene Projekte: ECluster

Bild

PB 5.1 x64/x86; OS: Win7 x64/Ubuntu 10.x x86


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: µC (Micro Controller) Emulator
BeitragVerfasst: 08.07.2011 11:58 
Offline
Benutzeravatar

Registriert: 10.03.2005 14:01
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.

_________________
:::: WIN 10 :: PB 5.31 :: (x86) ::::


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: µC (Micro Controller) Emulator
BeitragVerfasst: 08.07.2011 16:21 
Offline
Benutzeravatar

Registriert: 17.05.2007 09:30
Wohnort: Linz - Austria
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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: µC (Micro Controller) Emulator
BeitragVerfasst: 08.07.2011 16:57 
Offline
Benutzeravatar

Registriert: 26.06.2008 10:42
Jup. Meine Ich ^^ War wohl doch schon müder als ich dachte.

Gruß, Alex

_________________
Projekte: IO.pbi, vcpu
Pausierte Projekte: Easy Network Manager, µC Emulator
Aufgegebene Projekte: ECluster

Bild

PB 5.1 x64/x86; OS: Win7 x64/Ubuntu 10.x x86


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: µC (Micro Controller) Emulator [V# 0.0.2]
BeitragVerfasst: 11.07.2011 16:11 
Offline
Benutzeravatar

Registriert: 26.06.2008 10:42
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

_________________
Projekte: IO.pbi, vcpu
Pausierte Projekte: Easy Network Manager, µC Emulator
Aufgegebene Projekte: ECluster

Bild

PB 5.1 x64/x86; OS: Win7 x64/Ubuntu 10.x x86


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 12 Beiträge ]  Gehe zu Seite 1, 2  Nächste

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye