toolchain lineage

Asked by Trevor Woerner

- ARM has its own armcc which is part of its DS-5 product (which is not based on GCC).
- ARM bought Keil, which was a toolchain company which had its own ARM toolchain (not based on GCC).
- A group of ARM engineers works on this gcc-arm-embedded toolchain (which is based on GCC).

(are the above statement correct?)

I'm very curious to know how these fit together. Are the gcc-arm-embedded engineers from either the armcc or the Keil teams, or a third independent group?

Whatever happened to Keil's ARM toolchain? Is it lost? Or does it form part of armcc or gcc-arm-embedded?

Question information

Language:
English Edit question
Status:
Solved
For:
GNU Arm Embedded Toolchain Edit question
Assignee:
No assignee Edit question
Solved by:
Terry Guo
Solved:
Last query:
Last reply:
Revision history for this message
TM (tm1234) said :
#1

Since nobody has replied yet... :-)

My understanding is that ...

(1) The armcc tools used in DS-5 are an evolution of the tools originally used in RVDS and ADS before that.

(2) The community edition of DS-5 uses gcc from the Linaro project.

(3) ARM bought Keil a while back and Keil continue to develop their MDK toolchains (including MDK-ARM) which are separate from those used in DS-5. So Keils ARM toolchain is not "lost" - it's still in MDK-ARM.

(4) So ARM continue to offer two different toolchains for ARM targets - DS-5 (CE and Professional) and Keil MDK-ARM. I'm not 100% sure but I suspect that DS-5 is generally pitched at "application" level CPUs while MDK-ARM is pitched at "embedded" CPUs - but there seems to be some overlap.

(5) Apart from the DS-5 community edition there is no overlap with GCC here.

(6) GNU Tools for ARM Embedded Processors is the "bare metal" toolchain targeting (mainly) Cortex-M/R processors (and some other "legacy" ARMs) and is something of a by-product of the Linaro project.

(7) Assuming there are ARM engineers working directly on GNU Tools for ARM Embedded Processors I don't know where in ARM they come from and if any of them are from the DS-5 or Keil MDK-ARM teams.

Hope this helps and I am open to correction and education on all of the above. :-)

Revision history for this message
Terry Guo (terry.guo) said :
#2

I think your understanding matches the current situation. So no corrections from me as an ARM employee working on this embedded tool chain. Just a little input to item (7), the embedded tool chain team is a rather independent team since the moment it is established. We are based in Shanghai China, unlike the DS-5 team, most of them are at Cambridge UK.

Revision history for this message
TM (tm1234) said :
#3

Thanks Terry. Not sure if you are at liberty to say but ...

Are the ARM engineers here dedicated to GNU Tools for ARM Embedded Processors or do they work on other stuff - e.g. Linaro or one of the other ARM toolchains?

Who are the ARM engineers here - some or all of the Chinese names here I presume?

https://launchpad.net/gcc-arm-embedded/+topcontributors

Thanks.

Revision history for this message
TM (tm1234) said :
#4
Revision history for this message
Best Terry Guo (terry.guo) said :
#5

Yes. Those in list of active members are ARM team and official ARM employees. Some of them are dedicated to this embedded tool chain, some of them works for both embedded and Linaro tool chain.

Revision history for this message
Trevor Woerner (trevor-woerner) said :
#6

This is excellent feedback! Thanks so much you guys for letting me know how this tool fits in with the larger Cortex-M toolchain ecosystem.

Revision history for this message
TM (tm1234) said :
#7

Thanks for the additional info Terry.

Revision history for this message
TM (tm1234) said :
#8

Oh - according to this:

http://www.electronics-eetimes.com/en/arm-moves-to-llvm-open-source-for-future-compilers.html?cmp_id=7&news_id=222920747&vID=209&page=0#

"DS-5 and Keil have the same proprietary compiler but they are still separate tool chains because they are different in the way they operation and we just havent had the engineering capacity to merge those two, said Owens [Daniel Owens, product manager for software development tools at ARM]"

This modifies slightly what I first posted above.

Apart from that specific point what does this announcement mean for GCC for ARM Embedded more generally?!?

"ARM has supported GCC open source but LLVM will form the basis of all new compiler technology developments."

Revision history for this message
Joey Ye (jinyun-ye) said :
#9

GCC and LLVM are both technology to support development on ARM
architectures. LLVM will be the basis for the commerial ARM Compiler. GCC
will continue to be the basis of ARM open source solutions.

On Wed, Apr 9, 2014 at 12:26 AM, TM <email address hidden>wrote:

> Question #244722 on GCC ARM Embedded changed:
> https://answers.launchpad.net/gcc-arm-embedded/+question/244722
>
> TM posted a new comment:
> Oh - according to this:
>
> http://www.electronics-eetimes.com/en/arm-moves-to-llvm-open-source-for-
> future-compilers.html?cmp_id=7&news_id=222920747&vID=209&page=0#<http://www.electronics-eetimes.com/en/arm-moves-to-llvm-open-source-for-future-compilers.html?cmp_id=7&news_id=222920747&vID=209&page=0#>
>
> "DS-5 and Keil have the same proprietary compiler but they are still
> separate tool chains because they are different in the way they
> operation and we just havent had the engineering capacity to merge those
> two, said Owens [Daniel Owens, product manager for software development
> tools at ARM]"
>
> This modifies slightly what I first posted above.
>
> Apart from that specific point what does this announcement mean for GCC
> for ARM Embedded more generally?!?
>
> "ARM has supported GCC open source but LLVM will form the basis of all
> new compiler technology developments."
>
> --
> You received this question notification because you are an answer
> contact for GCC ARM Embedded.
>

Revision history for this message
TM (tm1234) said :
#10

> GCC
> will continue to be the basis of ARM open source solutions.

But ARM Compiler 6 onwards is LLVM based and also open source according to the article.
The message (as ever, in my experience, with ARM and the various compilers that they sell or support - ADS/RVDS/ARM Compiler, Keil, Linaro, bare metal GCC, CodeSourcery (in the past anyway)) is muddled...
:-(

Revision history for this message
Joey Ye (jinyun-ye) said :
#11

TM,

ARM Compiler 6 is open source based commerical solution. Embedded GCC is 100% open source free of charge solution.

I agree there are so many variants of ARM compilers, and I see it as an advantage that can fit variants of usage model.

Thanks,
Joey