M16C und GCC

Gast #5556
Lesenswert?

Soweit ich weiß gibt es noch keinen Port des GCC für die M16C Familie. 
Hat sich schon jemand mal mit dem Gedanken getragen und/oder wäre 
interessiert, daran mitzuarbeiten.
Ich frage auch einmal in der gcc-mailingliste, ob sich bei denen schon 
diesbezüglich jemand gemeldet hat. Falls ich etwas in Angriff nehme, 
werde ich hier Bescheid sagen.

Ciao,
    Manuel

(Ich kann schon in etwa realistisch abschätzen, was das für ein Aufwand 
ist - binutils, gcc, gdb, newlib portieren. Ich rechne mit ca. 30-50 
kLOC zusammen.)
Admin Persönliche Seite #5558
Lesenswert?

Der NC30 ist nur eine uralte DOS-Version, die nicht mehr 
weiterentwickelt wird. Was machst du, wenn es ein Problem mit dem 
Compiler gibt? Ein Bug auftaucht? Ein neuer M16C auf den Markt kommt, 
der von dem alten Compiler nicht unterstützt wird?

@Manuel: Im Moment verwende ich den M16C noch nicht, hauptsächlich 
deshalb weil es noch keinen GCC gibt. Wenn sich noch mehr 
Interessierte fänden, wäre ich wahrscheinlich dabei. Muss allerdings 
dazusagen dass ich auf dem Gebiet keine Erfahrung habe, hab nur mal ein 
paar Tutorials durchgelesen und ein wenig in den GCC-Sourcecode gekuckt.

Gruß
Andreas
Gast #5559
Lesenswert?

Hallo...
Ich waere auch daran interessiert, habe aber auch wenig erfahrung in 
diesem Gebiet. :-((
Habe mal an einem anderen Compiler mitgeschrieben, aber im Grunde nur 
Sachen umgeschrieben, und habe ueberhaupt keine Vorstellung, wie so 
etwas fuer den gcc zu machen waere.
Alex1
Gast #5560
Lesenswert?

Nachdem einige (wenige) Interesse geäußert haben, aber anscheinend noch 
niemand sich damit konkret beschäftigt hat, werde ich jetzt anfangen, 
zunächst einmal binutils zu portieren. Wenn jemand sich beteiligen 
möchte, bitte private E-Mail an mich, je nach Andrang können wir das 
dann über Mail handhaben oder ich kann versuchen, einen CVS-Server 
hierfür aufzusetzen.
Zum Ausprobieren habe ich von glyn jeweils ein Evaluation-Board mit 
M16C/62 und M16C/80 bestellt, das  bald hier anrücken sollte. Ziel ist 
jedenfalls, sowohl den 80er als auch den 60er Kern zu unterstützen.

Ciao,
    Manuel
Gast #5561
Lesenswert?

Hi,

soweit ich das den Data Sheets entnehmen kann, sind das eh nur eine 
handvoll Befehle in denen sich die beiden unterscheiden. Interessant 
wäre dann natürlich noch der M32C (trotz des Namens eigentlich die 
gleiche, nur verbesserte, Baureihe). Auch das wären wieder nur nen paar 
Befehle die sich unterscheiden.
Bei Interesse suche ich die Befehle, rspektive die Unterschiede, auch 
raus.

Gruss

Andre
Gast #5562
Lesenswert?

Richtig, die Unterschiede sind nicht allzu groß, so dass es durchaus 
sinnvoll ist, alle in einem Port zu unterstützen. Wobei M16C/80 und 
M32C/8x viel näher verwandt sind und sich eigentlich fast nur in 
Peripheriefunktionen unterscheiden (CAN, Intelligent I/O, ???, 
hinzugekommen sind nur SHANC/SHLNC, die ziemlich irrelevant sind), 
wohingegen der 60er und der 80er Kern unterschiedlich breite 
Adressregister haben (16 vs. 24 Bits), so dass man da etwas aufpassen 
muss, weil sich der zu erzeugende Code dann strukturell unterscheidet.
Inwieweit die Assembler-Befehler binär unterschiedlich codiert werden, 
kann ich momentan noch nicht sagen, kann ich mir aber ehrlich gesagt 
nicht vorstellen. Aber das wird sich im Laufe der Portierung automatisch 
herausstellen.
Datenblätter habe ich übrigens alle schon vorliegen, aber danke für das 
Angebot.
Ciao,
Manuel
Gast #5568
Lesenswert?

@Andre, Ralf, Bernd & Sascha,

nein, das Projekt ist nicht verflossen, ich war nur gerade auf einer 
Konferenzreise in den USA und kämpfe mich momentan noch durch die ca. 
300 aufgelaufenen E-Mails. Es gibt einige Mitstreiter, die ebenfalls 
Interesse gezeigt haben, und ein Projekt bei Savannah 
http://savannah.nungnu.org/projects/m16c mit den ersten Arbeiten. Wir 
sind noch ziemlich am Anfang, will heissen bei einer Portierung der 
binutils (assembler, linker etc.), und werden danach auf gcc 
weitermachen. Wird aber nicht von heute auf morgen passieren, und kann 
durch freiwillige kompetente Helfer beschleunigt werden. Weiteres bitte 
per privater E-Mail, aber wie gesagt, da warten noch einige auf 
Beantwortung in den naechsten Tagen...

Ciao,
     Manuel
Gast #5572
Lesenswert?

Hallo Daniel (und andere Interessierte),

nein, aufgegeben wurde das Projekt (noch) nicht, aber es hat sich immer
noch niemand gefunden, der aktiv mitmachen würde, so dass es quälend
langsam vorangeht. Immerhin ist jetzt auf Linker-Seite mal ein kleiner
Fortschritt passiert. Ich war vergangene Woche auf der embedded World
in Nürnberg und habe mir dort ein neues M16C-26 Board und gleichzeitig
wieder etwas Motivation geholt ;-)

Ciao,
  Manuel
Gast #5574
Lesenswert?

Ja und nein, das hängt hauptsächlich von einem selbst ab ;-)
Für GCC selbst gibt es zum einen die GCC-eigene Doku zur Portierung
(Hint: info gccint), zum anderen die schon etwas betagtere Einführung
"Porting GCC for Dunces"
ftp://ftp.axis.se/pub/users/hp/pgccfd/pgccfd.pdf
Etwas dünner sieht es bei den Binutils aus, also Assembler, Linker
etc., dort gibt es so gut wie nichts. Man kann sich nur an
existierenden Ports entlanghangeln. Bevor man richtig mit dem GCC
anfangen kann, braucht man aber erst einmal diese Tools. Und da stehen
wir nun momentan...
Gast #5575
Lesenswert?

Ich würde ja gerene helfen, aber irgendwie traue ich es mir nicht zu,
dermassen Low Level zu programmieren. Deswegen mein grösster Respekt an
Manuel, sowas wirklich umzusetzten. Bin wirklich schon hochgespannt auf
das Ergebnis. Und ja, ich kann warten.  ;-)

Gruss,

Andre

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