Forum: Mikrocontroller und Digitale Elektronik Simulationsprogramm für Mikrocontroller


von Sawyer M. (sawyer_ma)


Lesenswert?

Hallo alle zusammen,

ich suche eine Software mit der man Mikrocontroller (8051, Cortex usw.) 
auf dem PC Simulieren kann um Code Simulatorisch zu testen. Es dient für 
mich mehr dem Lernzweck ob meine z.B. PWM, Timer,Interrupts oder sogar 
SPI, I2C usw. richtig funktionieren.

Ich habe Atmel Studio gefunden, würde das mit dem gehen? Mit uVision von 
Keil habe ich gearbeitet, finde es aber zur Simulation nicht unbedingt 
sehr geeignet.

Gibt es gute Programme für Mikrocontroller wie z.B bei Xilinx Ise wo man 
richtig Simulieren kann und die Signalverläufe zu erkennen sind??


Grüße

: Bearbeitet durch User
von Jürgen D. (poster)


Lesenswert?

In der MPLAB IDE für die PICs war wohl schon immer eine Simulator mit 
dabei.
Habe den selbst aber noch nie verwendet.
Wie willst du so denn SPI oder I2C denn testen? Du brachst da ja noch 
den anderen Komunikationspartner.
Warum das ganze nicht mit einen In System Debugger mit echter Hardware 
machen?

von Random .. (thorstendb) Benutzerseite


Lesenswert?

Im Keil Simulator steckt für 8051 bzw. Cortex ein Instruction Set 
Simulator. Je nach Chip wird auch die Peripherie (u.a. UART, SPI, Timer, 
...) mit simuliert.

Du brauchst wohl ein VHDL/Verilog Modell einer CPU, und z.B. ModelSim, 
dann siehst du die Bussysteme etc. Für 8051 wird es da sicherlich einige 
freie Sachen geben, den Cortex findest du z.B. als M1 Modell für ALtera 
(hab mal mit dem Cyclone III Board gespielt).

Signalverläufe von lesbaren Speicherzellen (Variablen) kannst du dir im 
µVision auch im Logic Analyzer darstellen lassen.

Ich hab mir das ganze in meinem Projekt mit echter Hardware am Oszi mit 
SPI Analyse angeschaut.

: Bearbeitet durch User
von Christopher J. (christopher_j23)


Lesenswert?

Sawyer M. schrieb:
> ich suche eine Software mit der man Mikrocontroller (8051, Cortex usw.)
> auf dem PC Simulieren kann um Code Simulatorisch zu testen. Es dient für
> mich mehr dem Lernzweck ob meine z.B. PWM, Timer,Interrupts oder sogar
> SPI, I2C usw. richtig funktionieren.

Jürgen D. schrieb:
> Wie willst du so denn SPI oder I2C denn testen? Du brachst da ja noch
> den anderen Komunikationspartner.

Das sehe ich genauso. Für reinen Code, z.B. wenn du wissen willst ob 
irgendwelche DSP-Routinen auf der entsprechenden Plattform das machen 
was sie sollen gibt es außer den genannten Programmen noch Qemu unter 
Linux. Da kannst du einen Cortex-M3 emulieren. Sobald es um 
Schnittstellen zu anderer Hardware geht (mal abgesehen von einer 
UART-Schnittstelle zur Komm. mit einem PC) macht das aber keinen Sinn 
mehr.

Ein einfaches Dev-Board mit Debugger und ggf. ein Logic Analyzer sind da 
wesentlich sinnvoller.

von Pandur S. (jetztnicht)


Lesenswert?

Atmel Studio enthaelt auch einen Simulator.

von Stefan F. (Gast)


Lesenswert?

> Atmel Studio enthaelt auch einen Simulator.

Toller Tip, hast du den ersten Beitrag des TO gelesen?

von Pandur S. (jetztnicht)


Lesenswert?

>> Atmel Studio enthaelt auch einen Simulator.
>
>Toller Tip, hast du den ersten Beitrag des TO gelesen?

Hab ich, es war die Frage, ob's mit Atmel Studio geht. Ja. es geht.
Kurvenformen sind unpassend. Das ist was fuer FPGA, nicht fuer 
Controller

von Strubi (Gast)


Lesenswert?

Moin,

es gibt den freien GHDL-Simulator und einige Erweiterungen, damit geht 
das (wie z.B. hier http://www.section5.ch/doc/jtag/movies/). Du brauchst 
allerdings einen fertigen SoC (CPU und Peripherie), der von der Logik 
her nicht allzu komplex ist. 8051 geht grade noch, Dinger wie LEON sind 
eher ein bisschen zu gross und laufen sehr langsam im Simulator.
Man muss sich aber die Sourcen zusammensuchen und unter Linux selber 
bauen.
Um Wellenformen anzusehen, brauchst du schon mal eine virtuelle 
Implementation deiner Hardware. Da wird's dann schwierig, bzw. bist du 
gleich beim FPGA..

Gruss,

- Strubi

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
Noch kein Account? Hier anmelden.