Hexadecimal File

Gast #585847
Lesenswert?

Hallo,

ich habe für meinen FPGA einen kleinen Microcontroller geschrieben. 
Jetzt wollte ich ein kleines Programm schreiben, welches für den Ablauf 
des Mikrocontrollers zuständig ist.
Es stehen 16 Maschinenbefehle zur Verfügung. Zum Beispiel JMP entspricht 
dem HEX Wert 7.
Mit welchem Programmiersoftware könnte ich ein Programm schreiben?
Wie kann ich sicherstellen dass die Programmiersoftware meine Befehle 
richtig umwandelt?

Danke für Eure Hilfe.

Gast #585959
Lesenswert?

Ich fürchte da mußt Du selber ran.

Eventuell findest Du an Universitäten etwas dokumentiertes/quelloffenes. 
Die Quellen zu avr-as oder sdcc dürften auch recht interessant sein, 
sind aber bestimmt nicht trivial. Etwas einfacher dürfte der 
picoblaze-Assembler sein (ftp://ftp.icarus.com/pub/eda/pbasm).

Rick
Gast #586008
Lesenswert?

Bei einem Compiler hast du einen Lexer und eine Parser der den Source 
Code bearbeitet. Für deinen kleinen Microcontroller könntest du eine 
Scriptsprache nehmen. Damit kannst du in der Regel schneller ein 
Ergebnis erreichen.

Python hat ein parsing module, dass recht elegant ist.

http://pyparsing.wikispaces.com/

Damit kannst du deinen Source Code parsen, Fehler behandeln und dann in 
hex code umsetzen.

Eine Scriptsprache ist auch sehr gut um die Ausgabe anzupassen. Eine 
Möglichkeit ist ja den Hexcode direkt in VHDL oder Verilog mit 
einzubinden.
Gast #586051
Lesenswert?

@alban
Ja ich möchte dann diesen Hexcode direkt in vhdl einbinden.
Leider habe ich noch nie was mit einer Skriptsprache gemacht.
Ist das einfach?
Habe bisher nur ein bisschen C Programmierung gemacht.
Gast #586081
Lesenswert?

@HI

Die Syntax ist sehr ähnlich, teilweise einfacher. Auch muss das Program 
nicht immer erst Compiliert werden, sonder kann direkt gestartet werden.

Kleines Beispiel:
1
printf("Hello World\n");

In Python:
1
print "Hello World"

Großer Vorteil der Scriptsprache ist das es dynamische 
Speicherverwaltung bietet. Du musst also nicht erst mit malloc Speicher 
zur Verfügung stellen.

So kann z.B. ein String ganz einfach erweitert werden:
1
meinString = "Hello"
2
meinString += " World"
3
print meinString
4

5
>>Hello World

Der String kann natürlich auch ganz einfach in eine Datei geschrieben 
werden.

Das Problem hier ist die Art und Weise zu verstehen wie das Parsing 
funktioniert.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren