嵌入式软件开发基本要素之代码质量

嵌入式技术

1330人已加入

描述

消费类电子产品、汽车应用和工业设备等市场对产品要求不断增加,要求产品在更短的周期内具备更多的新功能。这对嵌入式软件及其开发起到了重要作用。如今,嵌入式应用已经变得比以往任何时候都更加复杂,并且通常由多个具有不同技能的大型分布式团队构建。在这样的背景下,开发人员需要专注于创新,确保产品质量,并在市场上脱颖而出。

作为嵌入式软件开发的领军企业,40年来,IAR一直与嵌入式软件开发人员紧密合作,深刻理解嵌入式开发人员的日常工作流程,并提供了全面的解决方案,涵盖了所有嵌入式软件开发的基本要素,从而提高生产力和效率,保证质量,并加快产品上市时间。

IAR

IAR 的嵌入式开发解决方案涵盖了所有的嵌入式软件开发基本要素,增加了提高生产力和效率的价值,保证了质量,并加快了上市时间。这一切可以通过投资回报率(ROI)和总拥有成本(TCO)的用例来得到证明。

在本系列专栏中,我们将通过具体的案例,逐一探讨这些基本要素如何对ROI和TCO产生积极影响。本文为第一讲,将分析代码体积如何具体影响ROI和TCO。

为什么要关注代码体积和基准?

缩小代码体积可以在芯片中添加更多功能,同时通过跟踪处理器的基准,可以选择闪存更小但更便宜的芯片。因此,“代码体积”和“基准”这两个因素都有助于成本优化。

虽然 CoreMark 是一个速度基准,但得益于其广泛的方法,它也是一个很好的代码体积基准。在各种芯片上观察该基准测试的一个文件 (coremark.c),可以发现,根据下图中显示的所使用的芯片,其体积有小幅度的变化。包括 ARM RealView Compiler、GCC/GNU Tools ARM Embedded (w/o LTO),IAR ANSI C/C++ Compiler for ARM 等工具在图中水平坐标列出。条形图显示了 NXP 和 ST 不同芯片上的代码体积,单位为字节。NXP: Kinetis K70 (Cortex-M4F) 、KL25Z (Cortex- M0+) 和 LPC11U24 (Cortex-M0);以及 ST: STM32F207 (Cortex- M3) 和 STM32F746 (Cortex-M7)。

IAR

IAR Embedded Workbench(条形图中为:ICCARM V7.70.1)呈现出比其他工具小得多的变化程度,但节省的尺寸百分比相似。再看下图中基准测试的矩阵操作代码,数据是类似的。这里我们可以再次看到,用 IAR 的工具套件编译的代码比其他工具生成的代码更紧凑。

实际上,在 CoreMark 总共 34 个模块的 30 个中,IAR Embedded Workbench for Arm 产生了更紧密的代 码,总体体积差异约为 20%。 同样,我们在调研客户使用 IAR Embedded Workbench for RX 和 IAR Embedded Workbench for RL78 开发的真实应用案例发现,IAR生成的代码体积比 GCC 和其他工具小 27% 至 28%

IAR

那么,采用较小的芯片体积可以节省多少钱?显然,这取决于许多变量因素,包括底层架构以及是否能得到一个具有类似外设集和封装类型的更大芯片。比如,我们可以看看来自同一系列和芯片供应商的一些流行的 Cortex-M4 芯片。它们来自同一系列和芯片供应商,具有相同的MCU和外设,但闪存容量不同。一个具有 512 kB 闪存的芯片在一家主要分销商处的单件售价为 17.34 美元(截至 2022 年 11 月),而来自同一系列的具有 1024 kB 闪存的类似芯片在同一分销商处的单件售价为 21.47 美元,每个部件相差 4.13 美元。如果不能把代码放进更小的芯片中, 那么花费必然会比原来多 23.8%。

即使在 1 万个单元的中度生产中,增加的成本也会达到 4.1 万美元。根据 ST、NXP、Renesas、Microchip 和 TI 等不同芯片供应商的各种基准,当 Arm 内核或专有内核从 256 kB 跳到 512 kB 或 1024 kB 时,价格至少相差 1 美元。同样,在 1 万个单元的中度生产中,增加的成本至少是 1 万美元。价格可能因架构和芯片供应商的不同而有所差别,但总体来说,节约的成本是相当可观的。

编辑:黄飞

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分