mikrocontroller.net

Forum: PC-Programmierung Compiler portieren


Autor: Marius S. (lupin) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich wünsche mir schon seit langen einen C Compiler für meinen Pokemon 
Mini (http://pokeme.shizzle.it/)... Bisher hat sich aber noch niemand 
gefunden, der mir mal eben einen Compiler portiert :)

Also will ich da selber mal ran. Hat schonmal jemand Erfahrungen in den 
Bereich gesammelt? Ich glaube ich kann alles an Tipps gebrauchen.

Als mögliche Kandidaten denke ich kommen vor allem SDCC und LCC in 
betracht. Oder kennt jemand noch einen anderen geeigneten Compiler? 
Möglichst einfach zu portieren soll er sein.

Habe mir jetzt SDCC mal genauer angeschaut, weil der soll ja relativ (!) 
einfach zu portieren sein. Außerdem kompiliert er mit VC6 schön nativ 
unter Windows. Den Assembler habe ich schon zum Teil portiert, das ist 
aber auch relativ einfach.

Im grunde muss man ja nur das Backend portieren welches iCode in 
Assembler Befehle wandelt. Allerdings sind die bereits vorhandenen 
Backends nicht gerade einfach zu durchblicken...

Ich habe auch so gut wie keine Dokumentation/Beschreibung zum Portieren 
des SDCC gefunden.

Vielleicht ist das ganze auch aussichtslos und ich sollte lieber einen 
einfachen Basic compiler schreiben? :-/

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Marius S. schrieb:

> Als mögliche Kandidaten denke ich kommen vor allem SDCC und LCC in
> betracht. Oder kennt jemand noch einen anderen geeigneten Compiler?
> Möglichst einfach zu portieren soll er sein.

Der Portable C Compiler ist, wie der Name schon suggeriert, recht 
portabel. Jedenfalls wenn der Zielprozessor registerorientiert arbeitet.
Siehe http://pcc.ludd.ltu.se.

Für eine Akku-Architektur, wie der Pokemon Mini zu enthalten scheint, 
müsste der Codegenerator jedoch ziemlich umgebaut werden. Da könnte SDCC 
geeigneter sein.

Autor: Abdul K. (ehydra) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habe mir den Pokemon kurz angesehen. Das sieht nach modifizierten Z80 
aus wie im Gameboy. Und da gibts nix fertiges?

Autor: Reinhard Kern (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Abdul K. schrieb:
> Habe mir den Pokemon kurz angesehen. Das sieht nach modifizierten Z80
> aus wie im Gameboy. Und da gibts nix fertiges?

Hallo,

die Schreibweise ist ähnlich Z80, das wars aber dann auch. Der 
CPU-Aufbau ist ganz anders, die Befehlscodierung auch.

Gruss Reinhard

Autor: Abdul K. (ehydra) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Achso. Habe kurz nach einer OpCode-Tabelle geschaut, aber keine 
gefunden. Sonst hätte ich das sofort verifizieren können.

Bezieht sich deine Aussage nun auf Gameboy und/oder Pokemon bzw. ist die 
CPU bei beiden gleich?

Autor: Marius S. (lupin) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die CPU ist einiges komplexer als ein z80 würde ich sagen (viel mehr 
Befehle).

Eine ziemlich umfangreiche Doku gibt es in unseren Wiki:
http://wiki.sublab.net/index.php/Pokemon_Mini

Was fertiges gibt es leider nicht.

pcc habe ich mir angeschaut, kann aber nicht wirklich beurteilen ob der 
geeignet ist.

Autor: Abdul K. (ehydra) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke! Sieht sehr nach Z80 aus. Wer den programmiert hat, wird sich 
sofort wohl fühlen.
Andererseits sind die Erweiterungen meiner Meinung nach chaotisch 'nach 
Bedarf' dazudesignt.

Und die Hardware drumherum gibt auch nicht viel her. Da ist ein GBA oder 
DS viel interessanter.

Autor: Marius S. (lupin) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab einen interessanten Compiler gefunden:
http://sun.hasenbraten.de/vbcc/

Die Dokumentation schaut umfangreich aus, es gibt vom gleichen Autor 
auch linker und assembler, das Backend ist dokumentiert und es gibt ein 
Beispiel-Backend auf welches man aufbauen kann.

Ich denke damit werde ich es versuchen.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.