Forum: Mikrocontroller und Digitale Elektronik Kleiner AVR ATtiny Simulator + Sourcen


von Mark S. (struberg)


Lesenswert?

Hallo!

Da ich (im Urlaub nur mit GPRS im inet) auf meiner Suche nach einem
kleinen AVR Simulator nicht 50MB sources aus dem Netz nuckeln wollte,
(gcc+libc+gdb+...) war ich auf der Suche nach einem kleinen Projekt,
dass ebendieses mit wenigen kB erreicht.

Jonas Diemer hat bereits vor laengerer Zeit einen kleinen AVR Simulator
selbst geschrieben. Ich habe seine Version um einen primitiven
Bedienteil und ein paar noch fehlende Instructions erweitert, und mich
mit ihm in Verbindung gesetzt. Jonas hat nun die neue Version auf
Sourceforge zur Verfuegung gestellt.

http://www.sourceforge.net/projects/avrsimu

Der Simulator ist bei weitem noch nicht perfekt, aber sollte reichen,
um die ersten Schritte mit einem AVR unter Linux (oder sonst einem
System mit cmdline, wie hier zB gerade mit meiner UltraSparc, oder
WinX) nachvollziehen zu koennen, ohne zuerst tagelang eine toolchain
zusammenstellen zu muessen.
Als Assembler verwendete ich fuer die Tests Gerd's gavrasm.

http://www.avr-asm-tutorial.net

Zur Bedienung:
Das Programm liest intel hex files und wird mit dem hex-file namen als
Parameter gestartet.
# avrsimu test.hex

Wenn man ein Fragezeichen '?' [Enter] eingibt, erhaelt man die
Hilfe.
mit n[Enter] kann man zB die next instruction ausfuehren.

Kleingeschriebene Kommandos stellen Simulatoranweisungen und Ausgaben
dar, groszgeschriebene sind Kommandoeingaben.
zB: r... show Registers
und R... Set Register value


Es waere fein, wenn Ihr das Teil mal antesten koenntet! Derzeit werden
ATtiny's unterstuetzt, aber die Architektur kann (fast) beliebig
erweitert werden.
Fuer Anregungen oder Mithilfe bei Erweiterungen waeren wir natuerlich
ebenfalls dankbar.

LieGrue,
strub

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.