Sujet : Re: Baby X is bor nagain
De : david.brown (at) *nospam* hesbynett.no (David Brown)
Groupes : comp.lang.cDate : 29. Jun 2024, 10:05:41
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <v5oip3$3rp4r$1@dont-email.me>
References : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
User-Agent : Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.6.1
On 28/06/2024 10:20, Michael S wrote:
On Fri, 28 Jun 2024 06:56:41 +0200
David Brown <david.brown@hesbynett.no> wrote:
and Borland, as well as gcc in various packagings. (And embedded
developers use whatever cross-compile tools are appropriate for their
target, regardless of the host - the great majority use gcc now.)
>
I am not sure that it is still true.
Vendors like TI and ST Micro push users of their ARMv7-M development
suits toward clang. I didn't look at NXP lately, but would be surprised
if it's not the same.
ARM have moved their official development suite to clang (it used to be Keil's compiler, and before that they had their own). But that is a big toolchain with lots of proprietary tools - clang is just the compiler. And they charge a lot of money for it. (It's been a fair number of years since I tested ARM / Keil tools, and at the time I did not think it gave significant benefits and was therefore not worth the money and the great inconveniences and risks of the licensing system.)
For ARM development, there are basically four choices of toolchains. There is gcc (primarily the "gnu arm embedded" toolchain, but also Code Sourcery and a few other variants where you pay for better libraries, commercial support, and the like). There is IAR (popular amongst companies that have plenty of money and have always used IAR on other microcontrollers). There is Green Hills (popular in the automotive industry). And there is ARM's own toolchain.
gcc toolchains are free, and the standard from manufacturers for a very long time. The others are very expensive, and it's very questionable if they actually provide much extra value for most development teams. (They /do/ provide better tools for some kinds of development.) Consequently, gcc is overwhelmingly the most popular.
Of course, microcontroller manufacturers could also package up clang-based toolchains and provide them for free. And some group could make the equivalent of the microcontroller manufacturer independent "gnu arm embedded" toolchain. (ARM is not going to do that themselves, I think, because they like to sell their own toolsuite for lots of money.) Then I'd expect clang-based tools to be popular for gcc.
I think something like that will come, and I welcome the options - but I don't see it yet. I've seen a move from manufacturers from Eclipse to VS Code, but not from gcc to clang.
It's not like dev can't chose gcc with this suits,
but it takes effort that majority of embedded code monkeys is
incapable of and majority of minority sees no reason.
And of course there /are/ other microcontroller cores, not just ARM. But they are very much the minority these days. However, MIPS (PIC32), AVR and MSP430 are still around, and most developers use gcc for them too. And for embedded x86 development, it's almost all Linux and gcc.