返回列表 发新帖我要提问本帖赏金: 50.00元(功能说明)

[活动专区] 【AT-START-F405测评】coremark跑分

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


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


以whetsone为模板创建coremark工程
  1. 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换成下面这行:
  1. "project/at_start_f405/examples/gpio/led_toggle/src/*.c"
把whetsone的头文件那行换成:
  1. project/at_start_f405/examples/coremark/inc)


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


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


运行截图
1.jpg

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

打赏榜单

ArteryMCU 打赏了 50.00 元 2024-06-07
理由:[F405开发板评测活动]内容优质

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分数
您需要登录后才可以回帖 登录 | 注册

本版积分规则

42

主题

165

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部

42

主题

165

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部