介绍一些关于优化嵌入式软件的小技巧

嵌入式技术

1368人已加入

描述

(文章来源:科技热点点评)

优化嵌入式软件的特点包括系统定时、码大小、RAM使用、功耗等。当优化每个特征通常需要其自己的方法和技术时,当优化嵌入式软件时,开发者可以遵循几个一般的提示。

始终创建比较基线:首先,创建优化效果显着的比较基准,但我们可以找到很多匆忙的球队没有任何直接访问优化基线。基线测量是很重要的,因为每个优化周期回报率将下降。例如,以优化第一道次的能量可导致20%的改进。第二个10%和5%,等等。开发人员需要能够看到这个趋势,并进入量化根据自己的时间在系统中他们看到了改善。

设置优化目标:每一个优化过程都需要越来越多的时间从系统中挤出最小的改进。团队需要仔细权衡他们的时间投入,并确定最终的改进是否值得花时间。在实现这一点之前,可能需要数周时间来优化不再需要优化的系统。在优化开始之前,团队应该设定一个目标,一旦实现,就足以满足当前应用程序的需求。该目标的实现表明优化过程已经完成。

获取正确的测量工具:没有合适的工具来衡量和优化系统是非常困难的。例如,如果存在要测量的系统和微控制器的能量消耗没有准确的方式,能量不能被优化。在许多情况下,这些球队不能分开两个不同的能量测量结果,并尽量减少微控制器不能最小化。如果不这样做,也可以准确地测量允许开发人员查看该工具的系统行为,然后尝试优化系统就没有意义了。

使用优化工具:嵌入式软件有许多方面可以优化以减少代码大小或提高性能。在某些情况下,可以使用单独或附加的工具链来执行优化。但有时可能不需要外部工具。只要选择正确的工具链。

使用编译器属性和#杂注:当微调嵌入式软件开发人员往往不能做出选择。使用#pragma性能并能提高速度,选择性地应用到单一功能的优化,致力于优化软件开发者应该熟悉的属性,而且还读C语言编写的优化便携,所以他们仍然可以了解如何编写可移植的优化,而不会再回来讨论这些问题。

如果没有固定的优化系统的实践,开发人员就不应该感到受限于遵循任何特定的技术。有时学习和优化系统的最好方法是把实验放在一起看会发生什么。通过实验和记录结果,我们可以发现什么是有效的,什么是无效的,什么是浪费资源和时间。通过尝试不同的驱动模型,有很多方法可以提高开发人员在使用printf时的实时性能,这通常被认为比实际情况要好得多。

深入研究编译生成的指令。在应用程序的资源极为有限,开发人员只需要挽起袖子和深入的编译器生成的指令研究。通过如果/其他选择三个或四个额外指令之间的差可以是正在执行它三元操作,这会导致应用程序崩溃。虽然标准语言,诸如C,但每个编译器优化,并生成机器指令的方法略有不同。唯一真正的方法来了解编译器做的是看装配。

应用程序的优化要求将非常不同。一些小批量应用程序可能根本不需要优化。当每一个其他的时钟周期或纳米放大器都很重要时,可能需要花费大量时间来尝试从系统中挤出最后一点性能或能量。尽管每个系统都不同,但这些技术为开发人员和团队实现更高效的系统提供了起点。

(责任编辑:fqj)

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

全部0条评论

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

×
20
完善资料,
赚取积分