本帖最后由 1209实验室@ujn 于 2019-11-14 18:19 编辑
硬件环境:i.MX RT1010 EVK开发板
Cortex-M7F
500MHz
128 KB RAM
Flashless
IDE版本:IAR 8.40.2
SDK版本:2.6.0 (Tag:REL_SDK_2.6.0_RT1010_RFP_1) 下载地址:http://mcuxpresso.nxp.com/en/builder
CoreMark移植详细步骤可参考痞子衡的博客--
本工程基于 imx rt1010 的SDK的hello_world工程。移植需要注意的几点:
1.程序移植的第二步是实现计时功能,由于CoreMark得分其实是单位时间内跑了多少次CoreMark程序,所以CoreMark工程必须要有计时功能。以前在MK64F上移植CoreMark的时候使用systick定时器来计时,但是由于 imx rt1010的主频高达500Mhz,SysTick计时器只有24bit完全不够用,所以这里使用的PIT定时器来计时。
2.为了获取最高的性能,应当让程序运行在TCM之中,选择对应的link file即可实现。
3.不同的IDE的CoreMark工程会有不同的得分,这与编译器的优化性能相关,本次的CoreMark得分只代表IAR 8.40.2上的得分。
4.编译器优化设置设为“High/Speed"。
5.为了方便观看测试log,可以适当的加一些信息,例如打印当前主频。
- PRINTF("CoreMark Test On EVK-MIMXRT1010\r\n");
- PRINTF("RT1010 SystemCoreClock = %dMHz\r\n", SystemCoreClock/1000000);
- PRINTF("Start testing now, please wait.......\r\n");
- PRINTF("*************************************************************\r\n");
复制代码
测试结果如下:
- CoreMark Test On EVK-MIMXRT1010
- RT1010 SystemCoreClock = 500MHz
- Start testing now, please wait.......
- *************************************************************
- 2K performance run parameters for coremark.
- CoreMark Size : 666
- Total ticks : 510617713
- Total time (secs): 21.275738
- Iterations/Sec : 1880.075790
- Iterations : 40000
- Compiler version : IAR EWARM v8.40.2
- Compiler flags : High - Speed - No size constraints
- Memory location : STACK
- seedcrc : 0xe9f5
- [0]crclist : 0xe714
- [0]crcmatrix : 0x1fd7
- [0]crcstate : 0x8e3a
- [0]crcfinal : 0x25b5
- Correct operation validated. See readme.txt for run and reporting rules.
- CoreMark 1.0 : 1880.075790 / IAR EWARM v8.40.2 High - Speed - No size constraints / STACK
复制代码
一美金的价格,1880的coremark得分,还要啥自行车呢?要知道MK64F的得分也就不过300分,性能杀手,价格杀手,值了!
|