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

  在许多情况下需要优化嵌入式系统特性,这些特性包括系统时序、代码大小、RAM 使用和能耗。优化每个特性通常需要不同的方法和技术,但嵌入式开发人员可以遵循几个通用技巧来优化他们的嵌入式软件。

  技巧1 – 始终创建一个基线进行比较

  创建一个基线来比较优化结果是显而易见的。基线测量很重要,因为每个优化周期的回报都会递减。例如,第一次优化能源可能会导致 20% 的改进。第二个,10%,然后是 5%,以此类推。开发人员需要能够看到这一趋势,并量化他们在系统中看到的改进,以投入时间。

  技巧2 – 设置优化目标

  每一次优化都需要越来越多的时间来从系统中挤出最小的改进,团队需要仔细平衡他们的时间投入,并确定由此产生的改进是否值得花时间。在优化开始之前,团队应该设定一个目标水平,一旦达到就足以满足当前应用程序的需要,并表明优化过程已经完成。

  技巧3 – 使用正确的工具进行测量

  如果没有正确的测量工具,优化系统可能会非常困难。如果没有准确的方法来测量系统和微控制器的能量消耗,就无法进行能量优化。在许多情况下,团队无法将这两种不同的能量测量值分开,并在微控制器能量无法降低时尝试将其最小化。如果没有可以准确测量或允许嵌入式开发人员查看系统行为的工具,那么尝试优化系统是没有意义的。

  技巧4 – 使用优化工具

  嵌入式软件可以在许多领域进行优化,以减少代码大小或提高性能,在某些情况下,可以使用单独的或附加的工具链来执行优化。一个示例优化工具是 Somnium DRT 优化器,可与 GCC 一起使用以优化代码大小、能源使用和性能。有时可能不需要外部工具,而只是选择正确的工具链。

  技巧5 – 使用编译器属性和#pragma

  更改编译器,开发人员突然不得不返回并重新处理所有这些代码行。属性和#pragmas 通常是不可移植的,并且在更改编译器时可能导致软件错误。但是,在微调嵌入式软件时,开发人员通常别无选择。使用属性和#pragma 可以提高速度,选择性地将优化应用于单个函数等等。因此,出于这些原因,打算优化软件的开发人员应该熟悉它们,同时阅读用 C 编写可移植优化,这样他们就能明白自己是如何写出仍然可移植的优化。

  技巧6 – 不要犹豫去尝试

  优化系统没有一成不变的做法,嵌入式开发人员不应该感到受限于遵循任何技术。有时学习和优化系统的最佳方法是将实验放在一起,然后看看会发生什么。通过实验和记录结果,能够弄清楚什么有效,什么无效,什么是资源和时间的浪费。一个简单的例子是如何充分利用 printf。

  通过尝试不同的驱动程序模型,有一些方法可以显着提高开发人员在使用 printf 时获得的实时性能,这通常被认为比实际情况要好得多。

  技巧7 – 深入了解编译器生成的指令

  在一些资源极度受限的应用程序中,有时开发人员只需要深入研究编译器生成的指令。选择三元运算符而不是 if/else 可能是正在执行的三个或四个额外指令之间的差异,这会导致应用程序崩溃。虽然 C 等语言是标准语言,但每个编译器优化和生成机器指令的方式略有不同,了解编译器在做什么的唯一真正方法是查看程序集。

途傲科技为中小企业提供网站制作、网站建设、微信H5、微信小程序,多商户平台,多级分销系统,APP开发,手机网站,HTML5多端自适应网站,营销型企业站建设,及对技术人才的培养等都积累与沉淀了丰富的心得和实战经验。

如果您有想法,可以将需求提交给我们【免费提交需求,获取解决方案】

免责声明:文章部分内容收集于互联网,不代表本站的观点和立场,如有侵权请联系删除。

发表回复

在线客服
途傲科技
快速发布需求,坐等商家报价
2024-11-22 20:57:01
您好!欢迎来到途傲科技。我们为企业提供数字化转型方案,可提供软件定制开发、APP开发(Android/iOS/HarmonyOS)、微信相关开发、ERP/OA/CRM开发、数字孪生BIM/GIS开发等。为了节省您的时间,您可以留下姓名,手机号(或微信号),产品经理稍后联系您,免费帮您出方案和预算! 全国咨询专线:18678836968(同微信号)。
🔥线🔥
您的留言我们已经收到,现在添加运营微信,我们将会尽快跟您联系!
[运营电话]
18678836968
取消

选择聊天工具: