历史上的今天
返回首页

历史上的今天

今天是:2024年12月14日(星期六)

2021年12月14日 | MCU软件基准测试实用技巧:编译器优化能力评测指引

2021-12-14 来源:EEWORLD

在MCU开发和应用中,工程师都需要进行MCU的能力测试,通用的做法是用Benchmark(基准)程序来测试。然而,在做基准测试时,编译器的优化能力也在测试结果中有较为明显的影响,同一套硬件平台,选用不同的编译器和不同的优化选项,可能得出的结果相差较大。


为了最大程度释放MCU的性能,在基准测试中取得最理想的结果,往往需要工程师不仅对自身的硬件比较了解,更需要深入了解编译器的优化原理,并灵活应用,才能在基准测试中发挥出MCU的全部性能。IAR Systems作为全球知名的嵌入式工具厂商,其编译器在优化能力上有独特的优势,MCU配合IAR的编译器往往能够得出较好的基准测试结果。


本文以已在MCU领域内广泛使用的IAR Embedded Workbench开发工具套件为例,来分享MCU软件基准测试应该注意的项目和以下技巧,从而帮助读者能够去生成业内最高效和最完备的代码。利用以下项目和设置,工程师可以精准调整优化等级,最大限度地进行测试和提升所开发和应用代码的性能。

 

image.png?imageView2/2/w/550


选择代码尺寸还是执行速度


利用IAR Embedded Workbench等开发工具套件,工程师可以对整个工程范围或对单个文件设定优化级别和类型。在源代码中,甚至可以对单个函数使用 #pragma optimize 指令来完成此操作。


优化的目的是减少代码尺寸和提高执行速度。如果只能满足其中一个目标,编译器会根据用户指定的设置进行优先处理。因此,在实际的软件基准测试中,工程师可以尝试各种设置来获得最佳效果。举个例子,由于函数内联更侧重于执行速度的优化,相较于采用通用代码尺寸优化设置,采用函数内联与通用代码执行速度优化设置将获得更小的程序代码。


 image.png?imageView2/2/w/550


选择小型内存模型


为了能够充分地发挥MCU器件的性能和减少应用中的问题,软件开发必须充分考虑MCU器件的内存等资源限制,因此需要为目标器件和项目选择尽可能小的内存模型。小型内存模型的优点包括:


更小尺寸的地址

更小尺寸的指令

更小尺寸的指针

效率更高

代码更少


诸如IAR Embedded Workbench这样的成熟的开发工具套件也集成了相关评估功能,可以对内存模型进行多方面评估,从而帮助工程师去测试软件的规模和优化设计。

选择合适的运行时库


默认情况下,运行时库是以最高代码尺寸优化级别进行编译的。如果您想要对速度进行优化,请考虑重新编译生成这些库。可以通过配置选项来设置某些标准库功能(如语言环境、文件描述符和多字节)最适合的级别。


根据具体需求,在库选项中选择 scanf 输入和 printf 的格式。默认选项并非最小格式。


 image.png?imageView2/2/w/550

 image.png?imageView2/2/w/550



使用正确的数据类型


数据类型与代码尺寸或者执行速度息息相关,因此需要利用开发工具来对数据类型进行观察和分析,以便找到适合硬件资源的类型。在IAR Embedded Workbench开发工具套件中,开发人员可以从以下几个方面着手进行测试和优化:


选择最适合您应用程序的的数据类型尺寸

尽量使用无符号字符型,这样就能执行位操作而不是算术操作

 

检查目标特定选项


检查能提高性能的目标特定选项,这在日常的MCU设计和应用开发中往往需要工程师具有相当的经验,但是通过使用诸如IAR Embedded Workbench这类成熟的开发工具套件则可以快速而完善地完成必要的性能检查:


高效的寻址模式——可实现高效的内存访问

使用特定的寄存器来处理常量/变量——代码在寄存器上的操作效率比在内存上更高

偶对齐函数入口——偶对齐指令可以提高速度

字节对齐对象——更小的存储空间需求,但可能生成更大的代码尺寸


使用基准测试相关代码


所有的MCU开发工具都应该提供基准测试相关代码,但是成熟的通用开发工具的代码库都是这些提供商在相关领域经验的浓缩,因此更为全面和高效。其中的重要经验包括:


嵌入式系统的基准测试应该针对嵌入式程序的特点来设计。

实际的应用程序通常也适用于基准测试,但需要确保代码的可执行性。链接器会删除未引用的代码和变量,但并非所有的链接器都具备这种功能。

确保测试代码不受测试工具(测试相关函数)的影响。以下示例其实是对 printf() (测试相关函数)进行了基准测试。

 

image.png?imageView2/2/w/550


比较链接后生成的代码。一款编译器可能会采用内联代码,而另一款编译器可能会调用库。

充分了解用于执行基准测试的应用代码!


总结


通过使用诸如IAR Embedded Workbench这类成熟的开发工具套件,发挥其在几十年全球性应用中行汇聚和迭代出的知识,MCU设计和应用开发工程师可以快速完成上述这些必要的性能测试,同时也可以进一步有针对性地发挥MCU的性能,从而实现目标器件最优化的、软硬件合一的功能。


推荐阅读

史海拾趣

Apex Tool Group公司的发展小趣事

由于我无法获取关于Apex Tool Group在电子行业内部发展的具体细节和故事,因此我无法提供五个精确到每个故事都至少500字的电子行业相关发展故事。但我可以根据已知信息,尝试概括Apex Tool Group的发展概况,以及它如何可能涉及电子行业。

Apex Tool Group(艾沛克斯工具集团)是一个专业的手动和电动工具制造商,成立于2010年,由美国的丹纳赫集团(Danaher)和库柏工业集团(Cooper Industries)合资成立。公司总部位于美国马里兰州的Sparks,并在全球拥有20多家工厂,产品覆盖多个国家和地区。

Apex Tool Group的发展之路充满了变革和机遇。它凭借两大集团的技术和资源优势,迅速崛起为行业内的佼佼者。公司不断推出创新产品,满足不同客户的需求,并在市场上获得了良好的口碑。

在电子行业,Apex Tool Group的产品可能也得到了广泛应用。随着电子行业的快速发展,对高精度、高效率的工具需求日益增长。Apex Tool Group凭借其卓越的技术和品质,为电子行业提供了可靠的工具解决方案。无论是在电子产品的制造过程中,还是在电子设备的维修和维护中,Apex Tool Group的工具都发挥着重要作用。

此外,Apex Tool Group还注重与客户的紧密合作。它根据客户的需求提供定制化服务,帮助客户解决实际问题。这种以客户为中心的经营理念,使得Apex Tool Group在电子行业中赢得了广泛的认可和信任。

然而,关于Apex Tool Group在电子行业内部发展的具体故事,如具体的合作案例、产品创新历程、市场拓展策略等,我需要更多的相关资料才能给出详细的描述。如果您对这方面的信息感兴趣,建议查阅Apex Tool Group的官方网站、行业报告或相关新闻报道,以获取更详细的信息。

希望以上内容能够对您有所帮助,如有更多问题,欢迎继续提问。

FINDER公司的发展小趣事

在电子行业中,FINDER公司(即Finder芬德)的发展历程充满了创新与进取的故事。以下是五个关于FINDER公司发展起来的相关故事,每个故事均基于事实进行描述:

1. 创立与初步发展

故事背景:FINDER公司由Piero Giordanino于1954年创立,当时他凭借对电子技术的深刻理解和远见卓识,决定投身于继电器制造领域。在成立初期,FINDER专注于研发和生产高质量的继电器产品,以满足当时市场对电子元器件日益增长的需求。

关键事实:Giordanino在1949年就已经获得了第一步继电器的专利,这为他后来创立FINDER公司奠定了坚实的基础。随着技术的不断积累和市场的逐步开拓,FINDER逐渐在继电器领域崭露头角。

2. 产品多样化与技术创新

故事背景:在成立后的几十年里,FINDER公司不断推出新产品,实现了产品线的多样化。从最初的单一继电器产品,逐步扩展到包括步进继电器、光敏继电器、工业继电器、微型和超薄继电器、功率继电器、定时器继电器插座和配件等多个领域。

关键事实:截至当前,FINDER已生产超过14,500种不同类型的机电和电子设备,产品广泛应用于工业自动化、建筑、家庭和办公室等多个领域。同时,FINDER还致力于技术创新,不断研发出具有更高性能、更可靠性的新产品。

3. 全球化布局与市场拓展

故事背景:随着公司规模的扩大和产品线的丰富,FINDER开始将目光投向全球市场。通过设立分支机构、建立销售网络以及与国际知名企业的合作,FINDER逐步实现了全球化布局。

关键事实:目前,FINDER已经在全球范围内设立了多个分支机构和销售网络,覆盖欧洲、美洲、亚洲和非洲等地区。同时,FINDER还与德国SIEMENS、日本OMRON等世界知名电子企业并列为全球三大继电器制造商之一,在欧洲市场享有极高的盛誉。

4. 质量控制与环保生产

故事背景:在快速发展的同时,FINDER始终将产品质量放在首位。通过严格的质量控制体系和环保生产标准,FINDER确保了产品的卓越品质和可持续发展。

关键事实:FINDER的每个产品在出厂前都经过两个彻底的测试周期以确保最高水平的质量。此外,FINDER还尊重国家和欧盟的环保规范,确保其产品符合现行立法要求。在生产过程中采用环保材料和技术减少对环境的影响。

5. 行业认可与荣誉

故事背景:由于卓越的产品质量和持续的技术创新,FINDER在电子行业中获得了广泛的认可和赞誉。公司不仅赢得了众多客户的信赖和支持还获得了多项行业荣誉和认证。

关键事实:FINDER的产品已经通过了三十多个国家四十多个产品安全认证这充分证明了其在产品质量和安全方面的卓越表现。同时FINDER还被评为全球拥有最多质量认证的继电器制造商之一这进一步巩固了其在行业中的领先地位。

这些故事共同展现了FINDER公司在电子行业中的发展历程和成就。从创立初期的艰难起步到如今的全球知名企业FINDER凭借其卓越的产品质量、持续的技术创新以及全球化布局赢得了广泛的认可和赞誉。

DAICO公司的发展小趣事

在电子行业中,技术创新是企业持续发展的关键。DAICO公司始终将研发创新作为核心战略,不断投入大量资源用于新技术和新产品的研发。通过持续的创新和积累,DAICO在中频/射频和微波控制领域取得了多项技术领先成果,成为行业内的佼佼者。

Hartmann Codier GmbH公司的发展小趣事

在电子行业中,技术创新是企业持续发展的关键。DAICO公司始终将研发创新作为核心战略,不断投入大量资源用于新技术和新产品的研发。通过持续的创新和积累,DAICO在中频/射频和微波控制领域取得了多项技术领先成果,成为行业内的佼佼者。

GWM Associates公司的发展小趣事
使用稳定的电源,并加入滤波电路以减小电源噪声对放大器的影响。
Big-Sun Electronics Co Ltd公司的发展小趣事

Big-Sun Electronics Co Ltd公司自成立以来,始终致力于技术研发和产品创新。在成立初期,公司便投入大量资源于研发部门,通过不断试验和改进,成功研发出了一款具有高效能、低能耗特点的电子芯片,这一技术突破迅速在市场上引起了广泛关注。随着产品线的不断扩展,Big-Sun的电子产品逐渐在行业内树立起了技术领先的形象。

问答坊 | AI 解惑

没搞明白,取补是如何实现双字节减法的

(PIC18F248) NEG_A                                        ;ACCA取补子程序       &nbs ...…

查看全部问答>

散分~wince开机启动速度提高了

散分~系统启动速度提高一半了~俺用的是EP9315,64m的ram加32m的flash~,原来启动大概11秒,现在最多5秒~原因未明,待查找呵呵,心情不错,特来散分~…

查看全部问答>

ARM+VXWORKS开发

我刚开始上班,好多东西都不懂,经理把板子给我了.让我自己弄. 问其他同事,他们都说忙,好郁闷呀! 主机,ARM9开发板,ADS1.2集成开发环境,JTAG仿真器.都有了. 我下一步该做什么. 如果直接用Tornado 2.2 for pcPentium,然后和目标机这样连接可以吗? ...…

查看全部问答>

STR730的疑惑

近来用STR730搞个项目发觉EIC算中断程序地址这样算   0XF3E0+0X00000040+8+0XFFFFFC18  = 0x0000f040事实上跳到0X80000040处,高16位就不说了,固定的,低16位就搞不懂了,多了个0XF000即0XF3E0表示的偏移量是0 ...…

查看全部问答>

请问自定义数组到底放到程序page0,还是1中,再问这句话,是否说:变量溢出

error: can\\\'t allocate .text (sz: 00002cc0 page: 0) in PRAMH0 (avail:             00000ffe) 我应该怎么修改,谢谢…

查看全部问答>

谁来支援我一下...SDIO和RTC的中断套嵌该怎么处理?

RT.现在在做一个小模块.RTC生成时间作为日志的一部分保存在SD卡上.可是...中断好像冲突了.不能1s生成一个文件.1s中断不执行..咋办呢 具体如下: 主函数中 void InterruptConfig(void) {   /* Deinitializes the NVIC */  &nb ...…

查看全部问答>

msp430与PC机远程通信

我用msp430f149与PC机进行远程通信,用max487转换为485接口,单片机发送到PC机的数据,PC机能正确收到,但PC机发送到单片机的数据,单片机收不到,哪位大侠知道为什么?帮帮忙,我着急啊!…

查看全部问答>

无线供电

高手帮助指导LC振荡电路LC振荡电路本身很简单,通电可工作,并可点亮一个LED,不知道怎么提升功率.BD336E中功三极管率,电压12V,电流50MA左右,线圈用.38mm,10T,50T,50T,线圈直径50mm,想点亮十六个LED,并接,电压5V,电流100MA左右, [ 本帖最后由 a37113 ...…

查看全部问答>

就业问题

2013年趋势分析:智能电视还能变啥样? 2012-11-14 13:05:52   来源:中国家电在线        从黑白到彩色,从模拟到数字,从平面到2D再到3D,从“看电视”到“用电视”再到“玩电视”……日新月异的电视技术 ...…

查看全部问答>

南华大学黄智伟 收集的一些电子竞赛竞赛的题目

本帖最后由 paulhyde 于 2014-9-15 03:17 编辑 南华大学黄智伟 收集的一些电子竞赛竞赛的题目 包括历届国赛题,一些省赛题,TI赛题 也许对您有用。    …

查看全部问答>