本帖最后由 xu_xupt 于 2024-1-24 11:43 编辑

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/

192020hhqwwgicczxd6qxw

第二步,选择开发板。选择F5330

192020koyjup5ahp6oo588

第三步,点击BUILD 生成代码。

192020xq3wtmtwp1vtpbt8

第四步,单击进入代码选择和下载页码。点击例程

192021ojhzem0s1y052l1w

第五步,选择coremark例程下载

192021rzdb07py72wewypi

第六步,使用MDK打开,编译、下载

192021v4ommmrjztqzheh0

192022ek287718j32c923d

第七步,使用USB-C连接开发板、打开串口程序,坐等结果

192022hv1vyni6vw5w0v0k

192022tey1gl441ymndkrn


3、不同优化下的Coremark

在优化等级为-○0时coremark结果为:

192023yd87fph676nh9c7x

解读为:

这段报告是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。

调整优化等级为:

192023drvdw5dffdfgvmmm

修改迭代次数为24000(不然不满足10S,出现错误)测试结果为:

192023xgd8prtl2d4jc5jp

192023om6w6883eyorw6el

Coremark值为1788.109075,神一样的分数。对标ST

192024ikvfkmm6mwizttd8

对标其他:

192024wp3lc3tt737d37d6