RISC-V技术论坛
直播中

jf_15811252

3年用户 249经验值
擅长:嵌入式技术
私信 关注

【兆易创新GD32VF103R-START开发板试用体验】coremark跑分

本帖最后由 jf_15811252 于 2022-5-23 11:05 编辑

本篇文章进行GD32VF103RBT6的coremark跑分测试,在测试前需要准备一个正常使用的工程,需要有串口打印和定时器中断功能,当然也可以使用systick进行计时。

在MRS开发环境下,首先准备串口程序,需要支持printf功能。
  1. int _put_char(int ch)
  2. {
  3.     usart_data_transmit(USART1, (uint8_t) ch );
  4.     while ( usart_flag_get(USART1, USART_FLAG_TBE)== RESET){
  5.     }
  6.     return ch;
  7. }
但是在MRS开发环境下printf打印函数不支持浮点类型,可以在软件中设置支持

float支持.jpg
接下准备定时器部分,本次采用的是定时器0,1ms产生一次中断
  1. void timer0_config(uint16_t psc,uint32_t arr)
  2. {
  3.         timer_parameter_struct   timer_initpara; //定时器结构体
  4.         rcu_periph_clock_enable(RCU_TIMER0);     //使能TIMER0时钟

  5.         timer_deinit(TIMER0);
  6.         timer_struct_para_init(&timer_initpara); //将结构体参数变为初始值

  7.         timer_initpara.prescaler         = psc;               //预分频
  8.         timer_initpara.alignedmode       = TIMER_COUNTER_EDGE; //对齐模式
  9.         timer_initpara.counterdirection  = TIMER_COUNTER_UP;   //计数方向
  10.         timer_initpara.period            = arr;               //周期
  11.         timer_initpara.clockdivision     = TIMER_CKDIV_DIV1;   //时钟分频
  12.         timer_initpara.repetitioncounter = 0;                  //重复计数器
  13.         timer_init(TIMER0, &timer_initpara);

  14.         timer_interrupt_enable(TIMER0,TIMER_INT_UP); //使能更新中断
  15.         eclic_irq_enable(TIMER0_UP_IRQn,2,0); //使能中断线

  16. //        timer_enable(TIMER0);

  17. }
在基本工程准备好后,去官网http://www.eembc.org/coremark/index.php下载coremark源码,复制以下部分到自己工程中
复制部分.jpg
在自己的工程下新建coremark文件夹,并且复制以上部分到coremark文件夹下
复制到工程.jpg
接下来在进行MRS并刷新工程,在项目,属性添加coremark头文件路径
添加coremark路径.jpg
由于coremark中使用了main函数,所以需要将main.c中的main函数删掉,coremark和单片机的接口在core_portme.c中的portable_init函数,接下来则将之前的硬件初始化函数移入接口函数内即可
移入接口.jpg

接下来设置start_time,stop_time,get_time这三个函数,这里将原来的设置删掉写上自己的部分,
函数设置.jpg
设置时基,计数变量以及运行时间
计数值.jpg
将不需要的部分屏蔽掉
不需要的部分.jpg
尽量提高得分,将优化等级提高
修改优化等级.jpg
当然优化等级也可打印出来,按以下设置即可
打印优化等级.jpg
接下来编译工程下载程序,连接好串口观察串口输出值
跑分.jpg
由上图可知,本次跑分为282.193585。

回帖(1)

dianzi

2022-5-23 09:40:43
由上图可知,本次跑分为282.193585,很强。

有性能天梯图吗?
举报

更多回帖

发帖
×
20
完善资料,
赚取积分