在线客服
  • |
  • 400-821-8800
  • |
  • 手机西域
    手机西域下载二维码

    开发者:西域智慧供应链(上海)股份公司

    版本:4.6.8

    扫一扫,下载西域客户端
    手机采购 移动办公
    iPhone Android
  • |
  • 快速下单
  • |
  • 我的西域
  • CoreMark评测CPU运算性能

    文/ 发布于2018-09-05 浏览次数:3910

      在嵌入式领域有一个软件被看作是一种信仰,与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了,据网上的解释是这个选项剔除了很多不必要的累赘定义,能大大优化编译速度。

    免责声明:文章仅供学习和交流,如涉及作品版权问题需要我方删除,请联系我们,我们会在第一时间进行处理。
    相关标签:
    相关资讯
    沪公网安备 31011502008645号 | 沪ICP备09003861号 | 增值电信业务经营许可证:合字B2-20200044 | 第二类医疗器械经营备案编号:沪浦药监械经营备20200151号 | 医疗器械经营许可证编号:沪浦药监械经营许20200092号 | 互联网药品信息服务资格证书编号:(沪)-经营性-2020-0028 | 危险化学品经营许可证:沪(浦)应急管危经许[2022]204062(DYS)