文章
日志
帖子
首页
论坛
博客
大讲堂
人才网
直播课
资讯
全部
通信/手机
综合电子
测试测量
半导体/EDA
微处理器
模拟/电源
可编程逻辑
嵌入式
汽车电子
医疗电子
工业电子
物联网
可穿戴
机器人/飞行器
其他科技
传感器/Mems
射频微波
人工智能
技术文章
全部
通信/手机
综合电子
测试测量
半导体/EDA
微处理器
模拟/电源
可编程逻辑
嵌入式
汽车电子
医疗电子
工业电子
物联网
可穿戴
机器人/飞行器
其他科技
传感器/Mems
射频微波
人工智能
频道
通信/手机
综合电子
测试测量
半导体/EDA
微处理器
模拟/电源
可编程逻辑
嵌入式
汽车电子
医疗电子
工业电子
物联网
可穿戴
机器人/飞行器
其他科技
传感器/Mems
射频微波
人工智能
登录
注册
创芯云服务 :
创芯大讲堂
|
创芯人才网 |
数字IC职业培训
EETOP诚邀线上IC培训讲师!
资讯
>
嵌入式
>
内容
MCU软件基准测试实用技巧:编译器优化能力评测指引
2021-12-14 19:01:53
来源:
IAR Systems
在MCU开发和应用中,工程师都需要进行MCU的能力
测试
,通用的做法是用Benchmark(基准)程序来
测试
。然而,在做基准
测试
时,编译器的优化能力也在
测试
结果中有较为明显的影响,同一套硬件平台,选用不同的编译器和不同的优化选项,可能得出的结果相差较大。
为了最大程度释放MCU的性能,在基准
测试
中取得最理想的结果,往往需要工程师不仅对自身的硬件比较了解,更需要深入了解编译器的优化原理,并灵活应用,才能在基准
测试
中发挥出MCU的全部性能。IAR Systems作为全球知名的嵌入式工具厂商,其编译器在优化能力上有独特的优势,MCU配合IAR的编译器往往能够得出较好的基准
测试
结果。
本文以已在MCU领域内广泛使用的IAR Embedded Workbench开发工具套件为例,来分享MCU软件基准
测试
应该注意的项目和以下技巧,从而帮助读者能够去生成业内最高效和最完备的代码。利用以下项目和设置,工程师可以精准调整优化等级,最大限度地进行
测试
和提升所开发和应用代码的性能。
选择
代码尺寸还是执行
速度
利用IAR Embedded Workbench等开发工具套件,工程师可以对整个工程范围或对单个文件设定优化级别和类型。在源代码中,甚至可以对单个函数使用 #pragma optimize 指令来完成此操作。
优化的目的是减少代码尺寸和提高执行速度。如果只能满足其中一个目标,编译器会根据用户指定的设置进行优先处理。因此,在实际的软件基准
测试
中,工程师可以尝试各种设置来获得最佳效果。举个例子,由于函数内联更侧重于执行速度的优化,相较于采用通用代码尺寸优化设置,采用函数内联与通用代码执行速度优化设置将获得更小的程序代码。
选择
小型
内存模型
为了能够充分地发挥MCU器件的性能和减少应用中的问题,软件开发必须充分考虑MCU器件的内存等资源限制,因此需要为目标器件和项目选择尽可能小的内存模型。
小型内存模型的优点包括:
更小尺寸的地址
更小尺寸的指令
更小尺寸的指针
效率更高
代码更少
诸如IAR Embedded Workbench这样的成熟的开发工具套件也集成了相关评估功能,可以对内存模型进行多方面评估,从而帮助工程师去
测试
软件的规模和优化设计。
选择合适的
运行时
库
默认情况下,运行时库是以最高代码尺寸优化级别进行编译的。如果您想要对速度进行优化,请考虑重新编译生成这些库。可以通过配置选项来设置某些标准库功能(如语言环境、文件描述符和多字节)最适合的级别。
根据具体需求,在库选项中选择 scanf 输入和 printf 的格式。默认选项并非最小格式。
使用正确的数据类型
数据类型与代码尺寸或者执行速度息息相关,因此需要利用开发工具来对数据类型进行观察和分析,以便找到适合硬件资源的类型。在IAR Embedded Workbench开发工具套件中,开发人员可以从以下几个方面着手进行
测试
和优化:
选择最适合您应用程序的的数据类型尺寸
尽量使用无符号字符型,这样就能执行位操作而不是算术操作
检查目标特定选项
检查能提高性能的目标特定选项,这在日常的MCU设计和应用开发中往往需要工程师具有相当的经验,但是通过使用诸如IAR Embedded Workbench这类成熟的开发工具套件则可以快速而完善地完成必要的性能检查:
高效的寻址模式——可实现高效的内存访问
使用特定的寄存器来处理常量/变量——代码在寄存器上的操作效率比在内存上更高
偶对齐函数入口——偶对齐指令可以提高速度
字节对齐对象——更小的存储空间需求,但可能生成更大的代码尺寸
使用基准
测试
相关
代码
所有的MCU开发工具都应该提供基准
测试
相关代码,但是成熟的通用开发工具的代码库都是这些提供商在相关领域经验的浓缩,因此更为全面和高效。其中的重要经验包括:
嵌入式系统的基准
测试
应该针对嵌入式程序的特点来设计。
实际的应用程序通常也适用于基准
测试
,但需要确保代码的可执行性。链接器会删除未引用的代码和变量,但并非所有的链接器都具备这种功能。
确保
测试
代码不受
测试
工具(
测试
相关函数)的影响。以下示例其实是对 printf() (
测试
相关函数)进行了基准
测试
。
比较链接后生成的代码。一款编译器可能会采用内联代码,而另一款编译器可能会调用库。
充分了解用于执行基准
测试
的应用代码!
总结
通过使用诸如IAR Embedded Workbench这类成熟的开发工具套件,发挥其在几十年全球性应用中行汇聚和迭代出的知识,MCU设计和应用开发工程师可以快速完成上述这些必要的性能
测试
,同时也可以进一步有针对性地发挥MCU的性能,从而实现目标器件最优化的、软硬件合一的功能。
关键词:
EETOP 官方微信
创芯大讲堂 在线教育
创芯老字号 半导体快讯
相关文章
上一篇:
大联大世平集团推出基于NXP产品的PEPS
下一篇:
Imagination Series3NX神经网络加速器
全部评论
最新资讯
最热资讯
黄教主亲自出马!全球首台DGX H200 送交 OpenAI
台积电虐待美国员工!
摩尔斯微电子在中国台湾设立新办事处,拓展
你应该知道的关于电源芯片的PSRR测量 _____
美国考虑限制中国使用RISC-V
应届生被放鸽子!
柔宇科技破产审查新进展:消息称CEO刘自鸿
Transphorm与伟诠电子合作推出新款集成型Si
Vishay推出饱和电流达230 A的超薄汽车级IH
芯科科技大大简化面向无电池物联网的能量采
品英Pickering推出新款PXI高压多路复用器,
美光全系列车规级解决方案已通过高通汽车平
美光全系列车规级解决方案已通过高通汽车平台验证, 助力 AI 智能汽车
英飞凌发布新一代PSOC™ Edge产品组合, 为物联网、消费和工业应用提供强大的AI功能
英飞凌发布新一代PSOC™ Edge产品组合, 为物联网、消费和工业应用提供强大的AI功能
恩智浦首个云实验室正式上线运营
Uhnder 推出首款适用于更广泛汽车市场的 4D 数字成像雷达芯片
罗克韦尔自动化联合上海气候周倡议发起,气候灯塔点亮仪式暨主题论坛在沪启幕
Qorvo引领创新:Wi-Fi7与BMS以及传感器技术的卓越应用与发展
印度IC工程师比全球任何地方都要多,高通已在印度设计芯片!
苹果大跌,华为暴涨!
多名应届生被特斯拉毁约offer:痛失春招机会
埃万特在2024年中国国际橡塑展上率先推出不含聚四氟乙烯(PTFE)的LubriOne™耐磨损自润滑配方
Arm 的使命是助力应对 AI 无止尽的能源需求
业界最热文章
将意图转化为行动:走进嵌入式语音控制
基础设施数字化正当时,兆易创新与信驰
深圳:鼓励高端微控制器(MCU)、计算芯
英特尔裁员
德州仪器低功耗汽车微控制器为汽车应用提
IAR嵌入式解决方案发布全新版本,增强云
242亿公里远程遥测!人类最远航天器CPU故
手把手教你制作高速吹风机
瑞萨推出全新RA0系列超低功耗入门级MCU
瑞萨推出兼顾超低功耗和卓越25fs-rms抖动
嵌入式FPGA IP正在发现更广阔的用武之地
大联大世平集团推出基于NXP产品的Matter
MIKROE推出世界上最大的嵌入式项目平台Em
贸泽电子开售适用于智能电机控制和机器学
瑞萨Quick Connect Studio实现颠覆性改
IAR率先支持瑞萨首款通用RISC-V MCU,树
Broadcom面向运营商与数据中心网络推出St
实现不间断能源的智能备用电池第二部分:
CSR发布了一组灵活且功能丰富的SoC解决方
东芝在其电机控制软件开发套件中新增位置
ET创芯网(EETOP)-电子设计论坛、博客、超人气的电子工程师资料分享平台
论坛
博客
大讲堂
人才网
直播课
关于我们
联系我们
隐私声明
@2003-2024 EETOP
京ICP备10050787号
京公网安备:11010502037710