NKC Forum
Registrieren | FAQ | Suche | Wer ist online? | Mitgliederliste | Heutige Beiträge | Einloggen



Autor Thema: Projekt C-Crosscompiler
DerInder
Voll in Gange
Seitenadmins
***
ID # 2


  Erstellt am 31. August 2013 09:21 (#1)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Moin Moin,

Torsten und inzwischen auch ich entwickeln z.Z. einen C-Crosscompiler für die 68k NKCs.

Basissystem ist ein Ubuntu-Linux, aktuelles Zielsystem ist erst mal der 68020 mit FPU und GDP-FPGA unter JADOS. Die Unterstützung für die anderen 68k Rechner wird folgen, wenn wir alles zur Zufriedenheit am laufen haben.
Die GDP-FPGA ist eigentlich nur wegen des Timers notwendig ;)

Das erinnert mich daran, dass ich schon vor längerer Zeit eine IO-Karte mir Timer, SPI- und I²C-Interface aufbauen wollte, damit die Leute die keine GDP-FPGA haben auch in den Genuss von z.B. SD-Karten kommen. :rolleyes:

-----------------------
Gruß
-=jens=-

Beiträge: 642 | Mitglied seit: Juni 2004 | IP-Adresse: gespeichert
m.haardt
Stammgast
**
ID # 93


  Erstellt am 09. September 2013 21:17 (#2)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Was meinst Du mit "entwickeln"? Eine Library für gcc machen oder wirklich einen Compiler schreiben?

Michael

Beiträge: 289 | Mitglied seit: April 2008 | IP-Adresse: gespeichert
DerInder
Voll in Gange
Seitenadmins
***
ID # 2


  Erstellt am 09. September 2013 21:28 (#3)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Moin,

es ist "erst mal" eine Lib für den gcc (läuft schon recht gut).
Ein weiteres Projekt wäre dann ein C-Compiler der direkt auf dem NKC läuft.

-----------------------
Gruß
-=jens=-

Beiträge: 642 | Mitglied seit: Juni 2004 | IP-Adresse: gespeichert
Torsten
Ist öfters hier
**
ID # 92


  Erstellt am 02. November 2015 16:23 (#4)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Moin,

ich habe mal alle meine NKC-68K Projekte auf GitHub eingestellt (https://github.com/THemmecke), damit Aktualisierungen schneller verfügbar sind.
Dazu zählen:

- 68K00: Eagle- und VHDL- Quellen für die 68000er Karte
- 68K20: Eagle- und VHDL- Quellen für die 68020er Karte
- GDPFPGAII: VHDL-Quellen für die GDP-FPGAII (LFXP6C und LFXP2C)
- GDPFPGAII-EAGLE: Eagle-Quellen für die GDP-FPGAII (LFXP6C und LFXP2C)
- NKC-CLIB: CLIB für den NKC (68020 und 68000)


Die bisher nicht in HW realisierte GDPFPGAII Version mit LFXP2C, die Hans-Werner schon auf seiner Seite hat, hat noch einen Bug
in der Spannungsversorgung des FPGA ! Also wenn, dann unbedingt das Git-Repo verwenden !

Die CLIB implementiert eine vollständige ANSI-C-Lib incl. JADOS/NKC-FS und FAT/FAT16/FAT32-FS (FatFs R0.10a von elm chan).
Z.Z. werden tlw. noch GP und Jados Funktionen verwendet.
Zum Kompilieren benötigt man noch die ToolChain für m68k, siehe doc/m68k-tools-ReadMe.txt
Ausserdem ist im Verzeichnis tools ein elf2bin, welches aus dem ELF32 direkt ein *.68K File mit Relokation erzeugt.
Das elf2bin wird vom Makefile automatisch verwendet.
In Makefile.rules kann man verschiedene Einstellungen vornehmen, an einer Doku arbeite ich, falls grosses Interesse an der Lib besteht auch "etwas schneller" :-).

Die Lib >funktioniert<, d.h. es ist noch "Luft nach Oben" für Verbesserungen und Optimierunugen. Ich habe z.B. zunächst mal darauf verzichtet,
das JADOS-Filesystem mit Assembler zu optimieren, gleiches gilt für die Speicherverwaltung, die ist auch eher "rudimetär".

Warum habe ich gerade diese LIB als Grundlage genommen ? Im Gegenzatz zu newlib oder uClibc werden nicht 1Mio Platformen und Prozessorarchitekturen unterstützt,
was es wesentlich einfacher macht wirklich alles (in entlicher Zeit) zu verstehen und dann fehlendes zu implementieren.
Dokumentation ist momentan noch "dünn":
- doc/README 1st.txt- Struktur der Lib
- doc/CLIB-Structure current.dia- DIA-File, das die Struktur rund um File-IO, printf & Co. visualisiert
- doc/m68k-tools-ReadMe.txt- Installation der Tool-Chain
- Makefile.rules- hier kann man einige Schalter umlegen, sollte witestgehend selbsterklärend sein
- projects/ enthält ein paar Beispiele, wie man die Lib verwenden kann


So, jetzt bin ich mal gespannt, ob da drausen noch jemand bastel/tüftelt/programmiert...

Grüsse
Torsten

Beiträge: 35 | Mitglied seit: März 2008 | IP-Adresse: gespeichert
DerInder
Voll in Gange
Seitenadmins
***
ID # 2


  Erstellt am 21. November 2015 13:08 (#5)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Moin Torsten,

ich muß mir leider erst mal wieder eine nue VM erstellen, die alte ist nicht mehr OK :-(

Ich hab allerdings gesehen, das du die FAT Unterstüzung "nur" für die GIDE eingebaut hast. Währe schön, wenn das auch für die SD-Cards eingebaut wird (die verwende ich ja meist).

Ansonsten werde ich wohl so in ca. 2 Wochen wieder dazu kommen, etwas mit/für den NKC zu machen.

-----------------------
Gruß
-=jens=-

Beiträge: 642 | Mitglied seit: Juni 2004 | IP-Adresse: gespeichert
Torsten
Ist öfters hier
**
ID # 92


  Erstellt am 26. November 2015 10:21 (#6)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Moin Jens,

neue VM bauen, siehe doc/m68k-tools-ReadMe.txt !

Wg. der FAT Unterstützung hast du natürlich recht.
Das FS habe ich ja schon versucht soweit zu abstrahieren, sodass JADOS-FS und FAT quasi transparent unterstützt werden.

Der nächste logische Schritt ist, die Low-Level Hardware Routinen ebenfalls in Treiber auszulagern (/drivers) und über ein einheitliches Interface verfügbar zu machen.
Dadurch wäre es mögich, jedes Dateisystem auf jedem Device zu betreiben.

Ich habe da auch schon ein paar Ideen, aber man kommt da schnell in Bereiche, wo es extrem umfangreich wird (z.B. wenn man das dynamisch zur Laufzeit machen will).


LG
Torsten

Beiträge: 35 | Mitglied seit: März 2008 | IP-Adresse: gespeichert
Torsten
Ist öfters hier
**
ID # 92


  Erstellt am 21. Juli 2016 10:02 (#7)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Moin,

habe mal einen ersten Wurf mit Treiber-Modell auf github gestellt:

https://github.com/THemmecke/NKC-CLIB

Die Doku dazu muss noch "wachsen" und da ist sicher noch der ein oder andere Bugs drin. Läuft aber soweit schon ganz gut. Als Demo mal die shell anschauen (projects/shell), da wird im Grunde alles verwendet.

Zugriff auf JADOS Dateisystem erfolgt noch über GP/JADOS, FATx kann auch ohne JADOS betrieben werden.

Einstellungen wie immer in Makefile.rules.

Grüsse
Torsten

Beiträge: 35 | Mitglied seit: März 2008 | IP-Adresse: gespeichert
smed
Lernt noch alles kennen
*
ID # 114


  Erstellt am 09. Februar 2018 07:54 (#8)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Hallo Jens,

>es ist "erst mal" eine Lib für den gcc (läuft schon recht gut).

Da haette ich Interesse dran, koenntest Du die Lib 'veroeffentlichen'? Ich habe eine gcc m68k toolchain (Neudeutsch!) auf dem Windows10 PC am Laufen, bin aber noch ganz am Anfang mit den diversen Complier/Linkersettings zu experimientieren. Ein C cross compiler fuer den NKC am PC ist eine sehr reizvolle Sache, selbst ohne die C standard libs (wer braucht die schon - GP forever)

Gruss
smed

Beiträge: 18 | Mitglied seit: Januar 2011 | IP-Adresse: gespeichert
DerInder
Voll in Gange
Seitenadmins
***
ID # 2


  Erstellt am 09. Februar 2018 13:39 (#9)  |  Zitat Zitat   PN PN   E-Mail E-Mail
Moin smed,

der Compiler ist nicht mein "Kind", ich bin da nur Anwender/Tester.
Torsten hat alles auf git veröffentlich: https://github.com/THemmecke/NKC-CLIB

Viel Spass

-----------------------
Gruß
-=jens=-

Beiträge: 642 | Mitglied seit: Juni 2004 | IP-Adresse: gespeichert



| NDR Computer | Boardregeln


Tritanium Bulletin Board 1.6
© 2010–2016 Tritanium Scripts


Seite in 0,040693 Sekunden erstellt
19 Dateien verarbeitet
gzip Komprimierung ausgeschaltet
1723,53 KiB Speichernutzung