[活动专区]

【AT-START-F405测评】coremark跑分

[复制链接]
352|3
手机看帖
扫描二维码
随时随地手机跟帖
xhackerustc|  楼主 | 2024-5-12 19:53 | 显示全部楼层 |阅读模式
前面跑过浮点性能测试whetstone, 这次试一把coremark,其实coremark在whetsone之后就跑过,但写文章时搜索看到21ic论坛有好几篇coremark移植文章,就没什么兴致了。不过事情做了,写一写吧,也算给AT32F405的测评收个尾。另本文特别之处在于linux下用cmake模板环境搭建的coremark测试工程,坛子里其它移植都是用IDE的,也算是新颖性吧。
coremark测试工具就不介绍了,一句话概括就是:是一个比较公认的cpu性能测试工具。移植方法大同小异,简单说一说。


coremark代码下载
git clone https://github.com/eembc/coremark


以whetsone为模板创建coremark工程
cp -a project/at_start_f405/examples/whetstone/  project/at_start_f405/examples/coremark/
然后删除whet*相关源码文件。

拷贝coremark相关文件
把前面clone下的coremark中顶级目录下的*.c文件和*.h文件,以及simple目录下的*.c和*.h拷贝到project/at_start_f405/examples/coremark/



CMakeLists.txt修改
主要就是把下面这行SOURCES定义中的模板从whetstone换成下面这行:
"project/at_start_f405/examples/gpio/led_toggle/src/*.c"
把whetsone的头文件那行换成:
project/at_start_f405/examples/coremark/inc)


core_portme.c修改
增加如下两行:
#define ITERATIONS      6000
extern volatile uint32_t gticks;
时间相关的改成下面这样:
#define NSECS_PER_SEC              1000
#define CORETIMETYPE               clock_t
#define GETMYTIME(_t)              (*_t = gticks)
core_portme.h加入:
#define COMPILER_FLAGS "-O3"


编译&烧录
cmake -B build
cmake --build build -j8
pyocd load -e sector -t at32f405rct7_7 build/at32f405.bin


运行截图
1.jpg

CPU是216MHZ, 所以算得2.625 coremark/MHZ

使用特权

评论回复
LEDyyds| | 2024-5-14 11:00 | 显示全部楼层
这个测试开FPU了吗

使用特权

评论回复
xhackerustc|  楼主 | 2024-5-14 20:41 | 显示全部楼层
开FPU了,从whestone模板拷贝过来的

使用特权

评论回复
xhackerustc|  楼主 | 2024-5-14 20:57 | 显示全部楼层
测试环境: gcc13.2.1,裸机。所以也想其它测试的同学的coremark分数

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

11

主题

41

帖子

0

粉丝