Forum: Compiler & IDEs Welche Mikrocontroller werden von GCC unterstüzt?


von Tester87 (Gast)


Lesenswert?

Hallo zusammen,

wie der Betreff schon sagt, möchte ich herausfinden, welche 
Mikrocontroller von GNU-Compilern unterstützt werden. Gibt es eine 
Stelle, bei der man dazu konkrete Antworten bekommt?

Auf Wikipedia habe ich folgende Liste gefunden, bei der ich aber nicht 
weiß, inwieweit ich ihr trauen kann:

http://de.wikipedia.org/wiki/GNU_Compiler_Collection

Zu der Liste: Dort ist allgemein "ARM-Architektur" aufgeführt. Das heißt 
doch nicht, dass alle ARM-Prozessoren gleich von GNU-Compilern 
unterstützt werden?

Konkret würde ich gerne wissen, ob/welche der folgenden Controller 
Unterstützt werden:

V85x
RH850
SPC56xx
SPC57xx
TMS570
MPC56xx
MPC57xx
TC2xx

Könnt ihr mir weiterhelfen bzw. weitere Tipps geben?

Vielen Dank!

Gruß

Tester87

PS: Kann mir eventuell jemand beantworten, ob ein Compiler (nur) 
Prozessorbezogen ist? D.h. wenn ich in zwei unterschiedlichen 
Mikrocontrollern zweimal den gleichen Prozessor habe, dann müsste ich 
den gleichen Compiler verwenden können? (Eine Liste, die ich gefunden 
habe, widerspricht dieser - meiner Meinung nach logischen - Annahme)

von (prx) A. K. (prx)


Lesenswert?

Tester87 schrieb:
> Zu der Liste: Dort ist allgemein "ARM-Architektur" aufgeführt. Das heißt
> doch nicht, dass alle ARM-Prozessoren gleich von GNU-Compilern
> unterstützt werden?

GCC unterstützt Prozessorarchitekturen, keine Bausteine. Entscheidend 
ist also nicht, was auf dem Chip draufsteht, sondern welcher ARM Core 
darin verwendet wird. Man darf aber wohl davon ausgehen, dass praktisch 
alle ARM Architekturen von GCC unterstützt werden. Siehe
https://gcc.gnu.org/onlinedocs/gcc-4.8.2/gcc/ARM-Options.html#ARM-Options

Etwas anders sieht es bei Entwicklungsumgebungen aus, die auf GCC 
basieren. Deren Support für Startup-Code, Include-Files und Libraries 
ist auf die Chips bezogen.

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

https://sourceware.org/binutils/docs-2.24/as/Machine-Dependencies.html#Machine-Dependencies
da sind die prozessorabhängigen Spezialitäten für den GNU-Assembler 
innerhalb der Binutils aufgelistet.

von Tester87 (Gast)


Lesenswert?

Vielen Dank für eure schnellen Antworten!

Also gehe ich davon aus, dass der TMS570 mit ARM-Kern von GCC 
unterstützt wird. Bei der gewählten IDE müssten eventuell aber 
Anpassungen gemacht werden?

Mich hat nur bei folgender Liste gewundert, dass beim TMS570 kein 
GNU-Compiler dabei stand, aber eventuell ist sie unvollständig:

http://vector.com/portal/medien/cmc/datasheets/MICROSAR_Availability_EN.pdf

Laut der Wikipedia-Liste mache ich folgende Annahmen zu den uCs:

V850 (unterstützt GCC, da explizit als Mikrocontroller aufgeführt)
TMS570 (unterstützt GCC, da ARM-Kern)
TC2xx (unterstützt GCC, da Infineon TriCore-Controller unterstützt 
werden sollen?)

Die restlichen Controller-(Familien) (RH850, SPC56xx, SPC57xx, MPC56xx
MPC57xx) können nicht mit der GCC kompiliert werden.

Wenn jemand etwas anderes weiß/denkt, bin ich gerne offen für weitere 
Tipps und Anregeungen.

Gruß

von Sven B. (scummos)


Lesenswert?

Wie schon gesagt wurde, der gcc unterstützt Prozessorarchitekturen, 
keine Mikrocontroller. Bei den Architekturen kannst du davon ausgehen 
dass der quasi alles unterstützt. Du brauchst aber zum Beispiel ein 
Linker File, wo drin steht, wo der Code liegt, und Startup-Code, der zum 
Beispiel die richtigen Interrupts an der richtigen Stelle platziert. 
Sowas kann man sich aber im Notfall auch mit vertretbarem Aufwand selber 
schreiben, das sind nur wenige hundert Zeilen.

von (prx) A. K. (prx)


Lesenswert?

Tester87 schrieb:
> Die restlichen Controller-(Familien) (RH850, SPC56xx, SPC57xx, MPC56xx
> MPC57xx) können nicht mit der GCC kompiliert werden.

Die MSP56xx/570xx klingen nach PowerPC, Das kann GCC auch.
RH850 wird unter V850 mit erwähnt.

von Tester87 (Gast)


Lesenswert?

Vielen Dank. Richtig, die MSP56xx/57xx (sind meines Wissens nach die 
gleichen Controller wie SPC56xx/SPC57xx) sind Power-Architekturen, die 
eigentlich auch von GCC unterstützt werden. Soweit ich an einer anderen 
Stelle erfahren habe, soll es aber (zumindest für den MPC57xx) keinen 
GNU-Compiler - je nachdem, an welcher Stelle man liest/fragt, 
widersprechen sich die Ergebnisse.. Das muss ich nochmal genauer 
untersuchen. Vielen Dank auf jeden Fall für den Hinweis.

von Olaf (Gast)


Lesenswert?

> Gibt es eine Stelle, bei der man dazu konkrete Antworten bekommt?

Schonmal auf die Idee gekommen dir einfach die Manpage des gcc 
anzuschauen? Da siehst du die ganzen Targetspezifischen 
Kommandozeilenparameter.

Olaf

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.