x86/x64 平台上的嵌入式开发通常使用哪些 C 编译器?
GCC常用吗?
如前所述,它取决于嵌入式系统的架构。但是,通常情况下,我为所讨论的体系结构找到了一个“移植的”gcc 交叉编译器。另一个流行的编译器是Keil。
取决于架构。
如果你有一个奇特的架构,比如说一个由第三方定制的标准模型 CPU(例如修改过的 MIPS,比如 PSP 上的 Allegrex),那么标准的 GCC 可能不会输出最优化的代码。您将不得不使用他们自己的工具/编译器(或修改 GCC 本身以添加对该架构的修改)。
如果它是 GCC 支持的标准架构/CPU,那么 GCC 应该与任何其他 C 编译器一样好,甚至更好。
我也在研究嵌入式系统(主要是 DSP 处理器)。我通常只使用 GCC 在 LINUX 机器上测试和模拟我的初始代码。但要创建一个真正适用于 DSP 的代码集,我必须使用单独的编译器(VisualDSP++,它是由 ADI 为自己的 DSP 处理器集开发的)。您可能需要与嵌入式系统的制造商核实要使用的特定编译器。
安树
自由软件 (GNU):绝对是 GCC。
ARM 的专有软件可能是 Keil 或 IAR C 编译器。IAR 还支持许多其他处理器和更简单的微控制器。