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)
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.
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.
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ß
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.
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.
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.
> 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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.