打印
[STM32F7]

NUCLEOF767跑个COREMARK

[复制链接]
1262|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
netlhx|  楼主 | 2016-7-28 22:29 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 netlhx 于 2016-7-28 22:36 编辑

收到官方提供的NUCLEOF767板子,开箱就免了,颜值虽高,看多了也就是那么一回事。
点灯,跑个例程,试试MBED的神奇,都很好,咱玩点闲得蛋疼的事,拿COREMARK来跑个分,算是另类评测!




就是这个东西,不过得赞下ST的慷慨,100块,也就21IC有这个魄力,赞!
随着STM32F7家族的壮大,无论是CUBEMX还是MDK的HAL BSP包是越来越大了,下载一个BSP也要花费不少的时间啊



下面准备一个基本的程序框架,算是COREMARK程序的基础,顺便测试下基本功能。

本贴需要使用以下板载资源
  • LED
  • RCC
  • USART


所以先要把这些设备的情况搞清楚,一个一个的来看。

RCC,通过阅读官方文档,MCU使用的外部晶振默认没有提供,不过ST巧妙的将STLINK/V2-1的MCO引出来了,可以充当STM32F767的外部时钟源,默认是8MHZ。如下



LED居然提供了3个,大手笔啊。这里只用到一个



USART3是默认引出到STLINK/V2-1上的通信接口



了解了这些东西,接下来就可以在STM32CUBEMX中进行配置,先点个灯,然后再在点灯的基础上添加COREMARK的功能。

首先是时钟配置,F767最高支持216MHZ的主频,所以当然要将它的值设定到最高。别的也不多说,各位都是老司机,熟悉得很!
现在的程序功能很简单,先用UART3输出一段简单的欢迎信息,然后就是点灯咯!主要的代码如下


  /* USER CODE BEGIN 2 */
        HAL_UART_Transmit(&huart3, (uint8_t *)msg, strlen(msg), 100);
        clockFrequence = HAL_RCC_GetSysClockFreq();
        sprintf(clkmsg, "Current System Clock Frequency: %d\r\n\r\n", clockFrequence);
        HAL_UART_Transmit(&huart3, (uint8_t *)clkmsg, strlen(clkmsg), 100);

  /* USER CODE END 2 */

  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
  /* USER CODE END WHILE */

  /* USER CODE BEGIN 3 */
                HAL_Delay(500);
                HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_14);

  }
  /* USER CODE END 3 */

编译,运行,如果串口输出如下信息并且LED3开始闪烁,应该算正常了。


接下来准备移植COREMARK到NUCLEO-F767,由于之前在NUCLEO-L432上移植过,所以这个过程就很简单了,大部分是复制工作,再作简单的修改即可。关于COREMARK在STM32上的移植,官方有文档,详情参考:http://www.stmcu.org/article/id-327973



移植后的目录结构见上图

编译,没有错误了!开始跑了,注意默认的优化参数为-O3。

第一种情况:没有开时间优化的结果,请忽略输出中的-Otime,实际上是没有为TIME优化的。



只有可怜的500多分!


第二种情况,加上时间优化后的结果



COREMARK的得分值为881,与官方宣称的1082差距非常大!

不过倒是在PROFILE_RUN模式下得到过1167的结果,比官方宣称的值还要高那么一点点!


欢迎各位拍砖,看看是否还有优化不足的地方,否则测试值就相差太多了
补充一下:代码中对ICACHE及DCACHE都是开启了的





沙发
netlhx|  楼主 | 2016-7-28 22:37 | 只看该作者
沙发是自己的

使用特权

评论回复
板凳
paderboy| | 2016-7-29 09:12 | 只看该作者
赞啊

使用特权

评论回复
地板
mmuuss586| | 2016-7-29 09:26 | 只看该作者
谢楼主分享经验;

使用特权

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

本版积分规则

22

主题

144

帖子

4

粉丝