- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
CoreMark评测CPU运算性能
在嵌入式领域有一个软件被看作是一种信仰,与PC电脑的Fritz Chess Benchmark评测类似,这个软件的名字叫CoreMark。CoreMark和Fritz Chess Benchmark都是用于评测CPU运算性能的,MCU(单片机)和Cortex-A MPU(微处理器)都可以用这个软件库评测性能,性能越高的MCU/MPU跑分越高;同型号MCU,主频越高跑分越高。
CoreMark的源文件在STM32的官网和各大DIY论坛都能找到,顺带移植手册,这里把手册上传一下,步骤都在里面,很详细:
关键点一,systick设置,由于CoreMark的跑分需要频繁进入systick溢出中断进行计时,因此systick的中断服务函数要重写:
关键点二,初始化设置,由于CoreMark的运行需要串口打印和RCC时钟的支持,因此最简单的情况下至少要初始化RCC和LPUART1外设。
关键点三,关于CoreMark信息输出的设置,CoreMark信息输出是用ee_printf函数进行,这个函数在coremark.h默认被复用为printf函数,而printf函数则被fputc进行弱类型定义,所以,大家也可以将它复用为别的信息输出手段,如LCD屏幕输出、网络Socket等等。
移植成功之后不是可以立刻跑分的,需要修改堆栈的大小,一般堆跟栈都大于0x1000就可以了,L4+板子的FLASH大,设置大点没关系:
最后,关于Optimize for time优化的问题,刚刚移植完成CoreMark工程的时候跑分非常低,只有205分,弄了两天晚上也没有头绪,.s启动文件改过,conf.h文件也改过,就是没法提高到网上预期的311分(120MHz),后面在一个偶然的机会发现了工程配置选项中有个Optimize for time的复选框,选上之后跑分立马就升到311了,据网上的解释是这个选项剔除了很多不必要的累赘定义,能大大优化编译速度。
文档评论(0)