本篇文章来自极术社区与兆易创新组织的GD32F427开发板评测活动,更多开发板试用活动请关注极术社区网站。作者:申小林
如何在GD32F427开发板上移植CoreMARK?
1 下载CoreMARK源码
CoreMark开源的代码可以在Gitbub上自己做下载。
下载地址:https://github.com/eembc/coremark
2 拷贝需要的文件
需要的文件就只有框中的几个,把simple内的两个文件拷贝出来,然后新建一个文件夹,把所有的函数都放到文件夹内,然后把这个文件夹放在自己建立的GD32F427的工程路径下,新建分组,并添加文件夹目录。
3 修改以及配置
3.1 修改堆栈大小
CoreMARK对于堆栈的大小是有要求的,要求堆栈大小不低于1KB,我们需要在 .s文件内修改大小,如果不做修改,会进入hardfult中断。
3.2 注释掉无用的配置
这里需要注释掉一些用不到的功能。因为时钟的设置和现在的配置没有关系。
修改时钟的起始、停止、时间获取的三个函数。
添加初始化函数。包括串口、定时器,这里需要说的一下是串口需要做重定向。不然会导致hardfult,前面说到的不设置堆栈,也会进hardfault。这里提一句,避免大家踩坑。
修改迭代次数以及优化等级配置。
最后还需要说一点,关于主函数,主函数在Coremark是有自带的主函数的,所以需要注释掉自己的主函数,避免冲突。
编译一下,跑个分:结果如下图
再来看看官方的图:跑分是673.20 自己的跑分是:682.322
官方的评分连接请参考这里:
https://www.eembc.org/coremark/scores.php
附件附上本次的全部源码,欢迎大家下载体验。
PS.Coremark不一致主要是官方用的编译器是IAR,本文用的是Keil。