本帖最后由 冰是睡着的水吗 于 2025-1-18 18:55 编辑
拿到Wio Lite AI STM32H725AE视觉开发板后,就一直想测试一下Wio Lite AI STM32H725AE的性能,看看它到底能跑多少分数,就像刚买的新电脑一样,想用专业的
测试软件来测试一下CPU分数,显卡分数等等。那么有什么专业软件专门用来测试MCU单片机性能的呢?
当然有了,这个软件叫做coremark,官网 https://github.com/eembc/coremark
大家可以自行下载,
输入命令下载
打开coremark文件夹
这里我们只用到红圈中的这些文件,复制到工程文件夹里
在工程中添加路劲
这里我直接使用上次创建的串口工程,这个就不反复创建了,是个正常人用过STM32都会创建。不解释
在工程里添加这些文件
现在开始进入正题
1.先打开core_portme.c文件
将上面原来的宏定义修改成下面这样
#define NSECS_PER_SEC CLOCKS_PER_SEC
#define CORETIMETYPE uint32_t
#define GETMYTIME(_t) (*_t = hal_systick_get())
#define MYTIMEDIFF(fin, ini) ((fin) - (ini))
#define TIMER_RES_DIVIDER 1
#define SAMPLE_TIME_IMPLEMENTATION 1
#define EE_TICKS_PER_SEC TICKS_PER_SECOND
2.打开core_portme.h文件
将这里
改为下面
意思是 最高优化等级 O3,这个跑分最高
然后在下面再添加2个宏定义
#define ITERATIONS 4000 // 这个值需要保证能够运行至少10秒,可以先写一个值,运行
#define MAIN_HAS_NOARGC 1 // coremark main不使用返回值
3.打开core_main.c将main修改为`coremark_main
这个会与主函数main重名,懂的都懂
改成这样,避免报错
4,在编译就没有错误了
5.回到main函数中
添加以下代码
extern MAIN_RETURN_TYPE coremark_main(void);
while之前添加如下代码
printf("测试串口打印功能--WioLiteAI\r\n");
coremark_main();
/* Infinite loop */
while(1)
{
}
6.打开.s汇编起始文件
把这个两个改大一点
编译后烧录运行,打开串口助手
可以看到ERROR! Must execute for at least 10 secs for a valid result!
这个错误是由于Iterations : 4000定义太小,我们在后面加两个00
回到core_portme.h文件
把4000改成400000
编译后烧录
打开串口助手,查看
可以看到最后的分数为1737.845940分,这个分数非常高了,比STM32F7系列高了500多分,至此coremark移植测试完毕!!
Wio Lite AI STM32H725AE视觉开发板性能是非常强劲的,希望后面的测评效果!!!