LLVM/clang als Compiler für Cortex-M

Gast #4012673
Lesenswert?
• ▲
▼
Hallo zusammen,

wie sind eure Erfahrungen mit clang als Alternative zum gcc als 
C-Compiler auf 32-Bit-Mikrocontrollern? Es wäre doch schön, eine 
Alternative zu haben.
LLVM hat einen Port für die diversen Cortex-M und sollte in der Lage 
sein, Code für "bare metal" zu kompilieren. Man findet bisher jedoch 
wenig bis keine genauen Informationen dazu im Netz, wie man das angeht.
#4235549
Lesenswert?
• ▲
▼
Ich habe gerade meinen erstes Cortex M0 Projekt unter Crossworks von gcc 
auf clang umgestellt. Hatte gleich mal Probleme, dass mein Assemblercode 
nicht compiliert wurde, weil bei GCC "add R0,#32" bei clang "adds 
R0,#32" heißen muss. Das Gleiche gilt für sub. Das kann man aber mit 
"#ifdef __clang__" abfangen.
Generell compiliert clang deutlich schneller bei mir. Faktor 2 ist 
realistisch.
Gast #4357448
Lesenswert?
• ▲
▼
I cannot read much German. But I released earlier this week a firmware 
framework - PolyMCU https://github.com/labapart/polymcu - that primary 
targets ARM Cortex-M. You can use either GCC or LLVM. And because it is 
based on CMake you can build either on Windows or Linux or MacOS.

I also wrote a blog where I compared GCC and LLVM build size on ARM 
Cortex-M: 
http://labapart.com/blogs/3-the-importance-of-the-toolchain-version-in-embedded-space
#4520139
Lesenswert?
• ▲
▼
benwilliam schrieb:
> und hat sich der wechsel gelohnt?

Jepp, alleine schon wegen den deutlich besseren und aussagekräftigeren 
Fehlermeldungen, die die Fehlersuche erleichtern. Die Warnungen helfen 
auch beim Vermeiden von Fehlern. Z.B. wird beim Schreiben der Zahl 
0xabcde in einen uint8_t eine Warnung ausgegeben, die man auch kapiert 
("bla ... 703710 wird zu 222").

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