我对GCC和 格林希尔斯c 关于在ARM平台上专门在ARM平台上生成代码的内存足迹的编译器。

这些编译器是否有任何基准或比较?有没有人在这里分享任何经验?

有帮助吗?

解决方案

我没有看到任何基准测试,但是根据我的经验,两个编译器的代码大小非常相似,并且生成了代码。

Green Hills有很多文档和支持,如果您想减少记忆脚印,一旦您脱离了人迹罕至的轨道,它就会变得非常孤独。 Green Hills还支持压缩可执行的图像,如果您的闪光灯有限但RAM充足,那就太好了。

我还使用了自定义运行时和C库(这可以为您节省更多空间),但是您需要进行一些挖掘以获取GCC的信息,但是您可以通过生成的向导获得一些绿色山丘构建文件。

其他提示

您应该注意,绿色丘陵Eula明确禁止被许可人发布基准。

您可以做的是从Green Hills获得评估许可证并进行自己的基准测试。无论如何,这都会更值得信赖和代表,因为您可以在真实的生产代码上对其进行测试。在任何情况下,SAVE ARM7的基准可能与Cortex-M3的基准有很大不同,因此任何可用的已发表结果可能不会比较类似,并且可能不会代表您的平台。

还要注意,即使表面上是从相同的代码基本版本表面上,我也经历了GCC的不同二进制分布的变化(特别是使用软件浮动点性能)。因此,您仍然最好只能相信自己的评估结果。

您可以同时考虑Keil和IAR,同时也具有评估版本。您为什么只考虑这两个?人们通常会在预算庞大的情况下使用绿色山丘,并且可以从单一来源可获得的RTOS集成和调试功能中受益;您可能会仅使用编译器而获得任何好处,这不太可能证明IMO的许可费用是合理的。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top