优化嵌入式软件的特性包括系统时序,代码大小,RAM使用和能耗等。虽然优化每个特性通常都需要自己的方法和技术,但开发人员在优化嵌入式软件时可以遵循几个一般性提示。
始终创建比较基线
首先创建一个比较优化结果的基线是显而易见的,但是我们也能发现很多团队是匆忙地直接进入优化而没有任何基线。基线测量很重要,因为每个优化周期的回报都会减少。例如,优化能量的第一次通过可以导致20%的改善。第二10%,然后是5%,依此类推。开发人员需要能够看到这种趋势,并根据他们的时间输入量化他们在系统中看到的改进。
设置优化目标
每次优化过程都需要越来越多的时间来从系统中挤出最小的改进。团队需要仔细平衡他们的时间投资,并确定最终的改进是否值得花时间。在意识到这一点之前,可以花费数周来优化不再需要优化的系统。在优化开始之前,团队应该设置一个目标,一旦实现,就足以满足当前应用程序的要求。实现该目标表明优化过程已完成。
获取正确的工具进行测量
没有正确的测量工具,优化系统可能非常困难。例如,如果没有准确的方法来测量系统和微控制器能量消耗,则无法优化能量。在许多情况下,团队无法将这两种不同的能量测量结果分开,并试图在微控制器无法降低时将其最小化。如果没有可以准确测量或允许开发人员查看系统行为的工具,那么尝试优化系统是没有意义的。
使用优化工具
嵌入式软件有许多领域可以进行优化,以减少代码大小或提高性能。在某些情况下,可以使用单独的或附加的工具链来执行优化。但有时可能不需要外部工具。只选择合适的工具链就足够了。
使用编译器属性和#pragma
在微调嵌入式软件时,开发人员通常无法做出选择。使用属性和#pragma可以提高速度,有选择地将优化应用于单个函数,致力于优化软件的开发人员应该熟悉属性&#x