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.)
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
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
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
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
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
Wenn hier jeder reinschreibt der Interesse daran hat bringt das nicht
wirklich viel...
Scheinbar ist das Projekt verflossen, sonst hätte es ne Rückmeldung
gegeben.
@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
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
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...
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