Frage

Ich mag einen Simulator für die folgende Mikrocontroller-Board erstellen / starten: http://www.sparkfun.com/commerce/product_info.php?products_id=707#

Die Firmware ist in Assembler geschrieben, so ich suche ein paar Hinweise, wie man über die Simulation die Eingänge gehen würde, die die Hardware erhalten würde und dann würde der Simulator an die Ausgänge von der Firmware antworten. (Das würde auch die Firmware in der simulierten Umgebung ausgeführt wird).

Alle Hinweise, wie Sie anfangen sollen?

Danke Chris

War es hilfreich?

Lösung

Das Schreiben eine ganze Emulator eine echte Herausforderung sein wird. Ich habe versucht, bevor Sie einen ARM-Emulator zu schreiben, und lassen Sie mich Ihnen sagen, es ist kein kleines Projekt. Du wirst den gesamten CPU-Kern zu emulieren, um entweder hat oder finden, das bereits geschrieben.

Sie werden auch brauchen, um herauszufinden, wie alle IO funktioniert. Es von SparkFun über dieses Board sein docs, aber Sie werden einen Speichermanager schreiben müssen, wenn es verwendet MMIO, etc.

Das Konzept eines Emulators ist nicht so weit weg von einem Dolmetscher, wirklich. Sie müssen den Firmware-Code zu interpretieren, und im Grunde mit den Anweisungen folgen zusammen.

Ich würde einen guten interaktiven Debugger empfiehlt stattdessen einen Emulator von Angriff zu nehmen. Die Chancen, die Hardware zu zerstören, sind gering, aber wirklich kaufen, würden Sie lieber einen neuen Vorstand oder 9 Monate damit verbringen, etwas zu schreiben, die das gesamte System nicht umsetzen wird?

Es ist wahrscheinlich, dass die PIC 18F2520 bereits einen Emulator Kern für sie geschrieben hat, aber Sie werden in alle Hardware-Spezifikationen vertiefen müssen, um zu sehen, wie all die IO noch abgebildet wird. Wenn Sie es das Gefühl oben sind, wäre es ein gutes Projekt, aber ich hielt nur stattdessen einen Remote-Debugger verwendet wird.

Andere Tipps

Sie müssen einen PIC-Simulator schreiben und dann die IO-Funktionalität des Ports emulieren.

Um ehrlich zu sein, es sieht aus wie sein als Entwickler-Kit entwickelt - ich würde keine Sorgen über Ihren Code das Gerät zu zerstören, wenn Sie darauf achten. Es sei denn, dies ein Runner-up für ein Unternehmen Paket, würde ich ernsthaft die ROI Frage auf eine SIM zu schreiben.

Gibt es einen bestimmten Grund, einen Emulator / Simulator zu machen, gegen nur die reale Sache mit?

Das Board ist preiswert; Microchip hat nun die Realice Debugger, die ziemlich viel reaktionsfähiger als die alte ICD2 „Hockey-Puck“ ist.

Microchip MPLAB schon hat einen eingebauten Simulator. Es wird die ganze Platte für Sie nicht simulieren, aber es wird die 18F2520 behandeln. Sie können eine Art Eingangstestvektoren verwenden & Output-Log-Dateien, ich habe das schon mit einem anderen Microchip IC getan und es war machbar, aber irgendwie umständlich. Ich würde vorschlagen, dass Sie die Komponententests Ansatz und modularisieren, wie Sie Dinge tun; herauszufinden, Ihre Testeingänge und erwartete Ausgaben für einen überschaubaren Teil des Systems.

  

Es ist wahrscheinlich, dass die PIC 18F2520 bereits einen Emulator Kern für sie geschrieben hat,

Ein Open-Source, Cross-Plattform-Simulator für Mikrochip / PICs ist unter dem Namen „verfügbar gpsim “.

Es ist extrem unwahrscheinlich, dass ein Fehler in Ihrem Code könnte die physischen Schaltkreise beschädigen. Wenn das möglich ist, dann ist es entweder ein Fehler in dem Board-Design oder es sollte sehr klar dokumentiert werden.

Wenn ich kann Sie bieten einen Vorschlag aus der langjährigen Erfahrung mit diesen Geräten arbeiten: programmiere sie nicht in der Montage. Sie werden verrückt. Verwenden Sie C oder BASIC oder eine übergeordnete Sprache. Microchip stellt einen C-Compiler für die meisten ihre Chips (wissen nicht über diese), und andere Unternehmen produzieren sie auch.

Wenn Sie sich mit einem Emulator darauf bestehen, ich bin ziemlich sicher, dass Microchip einen Emulator für fast jede ihrer Mikrocontroller macht (zumindest einer aus jeder Produktlinie, die wahrscheinlich gut genug wäre). Diese Emulatoren sind nicht immer billig, und ich bin nicht sicher, ihre Fähigkeit, komplexe externe Eingabe zu übernehmen.

Wenn Sie immer noch Ihre eigene versuchen wollen schreiben, ich glaube, Sie werden feststellen, dass die PIC-Emulation selbst recht einfach sein wird - das Format aller Opcodes gut dokumentiert ist, wie die Speicherarchitektur ist, usw. Es wird emuliert die anderen Geräte auf dem Brett und die Verbindungen zwischen ihnen werden, die Ihnen töten. Sie könnten in der Codierung die Verbindungen zwischen den Komponenten suchen wollen ein VHDL-Tool, das Sie benutzerdefinierte Simulationen für die verschiedenen Komponenten erstellen kann.

Ist das nicht ein Hardware-in-the-Loop-Simulator Problem? (Z.B. http://www.embedded.com/15201692 )

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top