首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

优化嵌入式软件的7个技巧

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

始终创建比较基线

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

设置优化目标

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

获取正确的测量工具

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

使用优化工具

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

使用编译器属性和#杂注

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

不要犹豫,试验一下

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

深入研究编译生成的指令。

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

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

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20191031A06D5100?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券