ARM Cortex-M的编译器的差异 [英] ARM Cortex-M compiler differences
问题描述
我即将开发上使用C为我的项目STM32处理器的Cortex-M内核的一些固件和搜索在网络上,我发现了很多不同的编译器:
KEIL,IAR,Linaro的,Yagarto和 GNU工具ARM嵌入式处理器的。
I'm about to develop some firmwares for Cortex-M cores on STM32 processors using C for my projects, and searching on the web I've found a lot of different compilers: Keil, IAR, Linaro, Yagarto and GNU Tools for ARM Embedded Processors.
我想知道,有什么功能上的差别在那里这些编译器可能会影响我的选择的?例如作为一个爱好者,我不需要从厂商的支持或帮助,并在code尺寸的限制是暂时确定。另外,易用性不是主要问题,因为我喜欢学习(和目前我已经配置和工作都Keil的精简版和Eclipse与GNU ARM)。
I was wondering, what functional differences are there between these compilers that might influence my choice? For example as an enthusiast I don't need support or assistance from the vendor, and a limitation on the code size is OK for the moment. Also the ease of use is not a main concern since I like to learn (and for the moment I have both Keil Lite and Eclipse with GNU ARM configured and working).
是生成的code在这些编译器之间的大小/速度方面如此不同?是否有任何对比表? (我发现只有在网络上的相关信息陈旧)
Is the generated code so different in terms of size/speed between these compilers? Are there any comparison table? (I've found only stale infos on the web)
推荐答案
我们也做了一些比较; IAR和Keil通常优于GCC使用默认设置。但也有一些编译器标志可以让GCC来pretty接近IAR和Keil的结果。
We have done some comparisons; IAR and Keil typically outperform GCC with default settings. But with some compiler flags you can make GCC come pretty close to the result of IAR and Keil.
一些你所提到的集成开发环境的编译器。其他的都只是普通的编译器。
有些人preFER与编译器,编辑器和调试一个集成的环境中很好地为您准备的。其他preFER建立自己的环境。这是一个品味的问题。
Some of the compilers you mention are integrated development environments. Others are just plain compilers. Some people prefer a integrated environment with compiler, editor and debugger nicely packaged for you. Others prefer to set up their own environment. It is a matter of taste.
在除了Yagarto,也有GCC对ARM的code的Sourcery的分配。
In addition to Yagarto, there is also the "Code Sourcery" distribution of GCC for ARM.
这篇关于ARM Cortex-M的编译器的差异的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!