黄色大片在线免费观看_黄色大全下载_黄色的app下载_黄色的软件大全_亚洲国产不卡_亚洲国产成人91porn

信盈达—您身边的嵌入式&人工智能专家
全国免费咨询热线:400-8788-909

深圳嵌入式培训,优化嵌入式软件的七大技巧

时间:2019-06-11 00:00:00 来源:信盈达 作者:信盈达

早前曾讨论过在许多情况下需要优化的嵌入式系统的关键特征,包括系统时序、代码大小、RAM使用率和能耗。虽然优化每个特征通常要求不同的方法和技术,但开发人员在优化嵌入式软件时可以遵循几个通用技巧。


技巧1—总是创建基准用于比较


创建基准用于比较优化结果的必要性显而易见,令人惊讶的是开发团队常常在没有任何基准的情况下匆忙开展优化。基准测量很重要,因为每次优化得到的改进会越来越小。举例来说,第一遍能耗优化可能有20%的改进,第二次有10%,第三次5%,以此类推。开发人员应了解这种趋势,并将他们在系统中获得的改进量化为输入次数的函数。


技巧2—设定优化目标


每一次优化都比前一次需要更多的时间才能从系统中获得极少量的改进。开发团队需要仔细平衡他们的时间投入,并根据改进结果判断是否值得花这么多时间。一味闷头做事很容易沉迷,可能花了数周时间才认识到自己在优化一个不再需要优化的系统。因此在优化开始之前,开发团队应设定一个目标值,达到这个目标,就表示优化结果对当前应用来说足够好,优化过程已经完成。


技巧3—使用正确的测量工具


如果没有合适的测量工具,优化一个系统是很困难的。举例来说,如果不使用一种精确的方法来测量系统和微控制器的能耗,便很难完成能耗的优化。开发人员经常无法区分这两种不同的能量测量,他们试图减少实际上无法再减少的微控制器能耗。


技巧4—使用优化工具


为了减小代码大小或提高性能,嵌入式软件的许多方面都可以优化。一些情况下可以使用独立的或附属的工具链。Somnium DRT优化器就是一种很好的优化工具,可以与GCC一起用来优化代码大小、能量使用率和性能。不过有时候外部工具可能不是必需的,只要选择正确的工具链就足够了。


技巧5—使用编译器属性和#pragma指令


我一般很不喜欢用#pragma指令或编译器属性。属性和#pragma指令通常是不可移植的,改变编译器可能会造成软件缺陷。然而,在调整嵌入式软件时,开发人员通常没有选择。使用属性和#pragma指令可以提高速度,并能根据实际情况有选择地优化某个功能。


技巧6—多做实验


在优化系统方面没有一成不变的方法,开发人员不应该局限于任何一种特殊的技术。有时候学习和优化系统的最好方法是尝试各种实验并分析其结果。


技巧7—深入研究编译器产生的指令


在资源特别有限的应用中,开发人员有时只需挽起袖子深入理解编译器产生的指令。在将要执行的三四个广义指令间选择三元操作符而不是if/else是有区别的,这很可能会导致应用程序崩溃。


虽然像C这样的语言是标准的,但每种编译器在优化和产生机器指令时有少许差异。唯一现实的方法是检查汇编语言,了解编译器在做什么。


不同应用程序的优化需求各不相同。小批量产生的应用程序也许根本不需要优化;而对于另外一些应用程序,每个时钟周期或每毫微安电流都很重要,则可能需要开发人员花大量时间从系统中榨出最后一点性能或能量。虽然每种系统都是不同的,但开发人员若熟记这些技巧,便为实现更高效的系统迈出了可喜的第一步。



主站蜘蛛池模板: 国产精品日韩欧美一区二区 | 日韩精品一区二三区中文 | 国产视频第一页 | 欧美日韩高清一区二区三区 | fc2成人免费人成在线观看播放 | 日韩欧美极品 | 日韩欧美国产精品 | 成人十八影院在线观看 | 国产欧美成人不卡视频 | 99精品在免费线视频 | 黄色永久免费 | 欧美精品国产一区二区 | 成人高清在线观看 | 91久久亚洲国产成人精品性色 | 日本ab在线 | 欧美一区二区三区免费看 | 国产一区二区影视 | 成人剧场| 国产精品一区二区三区高清在线 | 人人爱干 | 国产成人精品综合久久久软件 | 国产成人精品视频一区二区不卡 | 成人男女网18免费0 成人欧美日本免费观看 | 久久国产亚洲高清观看5388 | 不卡一区二区三区卡 | 国产亚洲精品久久77777 | 精品影院 | 精品一二区 | www.成人影院 | 日韩免费视频一区 | 91一区二区在线观看精品 | 成年人视频网站免费 | 精品福利在线 | 啪啪午夜 | 国产成人综合久久亚洲精品 | 国产亚洲精品日韩综合网 | 99久久精品免费看国产情侣 | 国产亚洲精品资源一区 | 欧美日韩国产高清视频 | 奇米网狠狠网 | 日韩欧美亚洲国产高清在线 |