1、Coremark简介及对MCU的重要性
CoreMark是一个基准测试程序,它旨在测试处理器的性能,并为不同的微处理器(microcontrollers, MCU)和中央处理器(central processing units, CPU)提供一个性能比较的标准。CoreMark专注于处理器的核心功能,包括基本的运算、控制流和数据访问。
对MCU的重要性:
1. 性能评估:通过CoreMark测试,开发者可以评估和比较不同MCU的计算性能,这对于选择合适的MCU至关重要。
2. 优化基准:对于MCU制造商来说,CoreMark的分数可以作为优化他们产品的基准。通过改进设计和软件,可以提高CoreMark分数,从而提高产品竞争力。
3. 行业标准:CoreMark作为一个广泛认可的基准测试程序,为MCU性能提供了一个标准的评价体系,有助于标准化比较和评估流程。
总之,CoreMark提供了一个重要的工具,用于评估和比较MCU的性能。这对于MCU的制造商、系统集成商和最终用户来说都是非常宝贵的,因为它帮助他们做出更明智的决策,确保选择最适合其特定需求的处理器。
2、代码
在官方支持网站提供Coremark相关代码的下载。
首先,访问以下网站。需要注册、登录
https://mindsdk.mindmotion.com.cn/
第二步,选择开发板。选择F5330
第三步,点击BUILD 生成代码。
第四步,单击进入代码选择和下载页码。点击例程
第五步,选择coremark例程下载
第六步,使用MDK打开,编译、下载
第七步,使用USB-C连接开发板、打开串口程序,坐等结果
3、不同优化下的Coremark
在优化等级为-○0时coremark结果为:
解读为:
这段报告是CoreMark基准测试的输出结果,展示了在特定的硬件和软件环境下,处理器的性能测试结果。下面逐条解释各个参数的含义:
1. CoreMark Size: 这表示测试运行的规模,这里是400。这个数字通常与处理器处理数据的大小和复杂性有关。
2. Total ticks: 总时钟周期数为32645。这个数字表示执行测试所需的时钟周期总数,更少的时钟周期意味着更高的效率。
3. Total time (secs): 总时间是32.645秒。这是执行测试所需的实际时间,与时钟周期数结合起来,可以反映处理器的速度和效率。
4. Iterations/Sec: 每秒迭代次数为367.590749。这表示每秒可以完成的测试迭代次数,是衡量处理器性能的一个重要指标。
5. Iterations: 迭代次数为12000。这是测试期间完成的总迭代次数,反映了测试的全面性。
6. Compiler version: 使用的编译器版本是GCC 10.3.1。这个信息有助于理解测试结果,不同的编译器和版本可能会对性能有影响。
7. Compiler flags: 编译器标志是"-0hs -no_size_constraints"。这些标志指示编译器在编译测试程序时使用特定的优化设置。
8. Memory location: 内存位置是STACK。这意味着测试使用的数据存储在栈内存中,这可能会影响性能。
9. seedcrc, [0]crclist, [0]crcmatrix, [0]crcstate, [0]crcfinal: 这些是测试中使用的校验和值,用于验证测试的正确执行。这些值确保测试数据的完整性和一致性。
最终CoreMark值为367.590749。
调整优化等级为:
修改迭代次数为24000(不然不满足10S,出现错误)测试结果为:
Coremark值为1788.109075,神一样的分数。对标ST
对标其他: