发新帖本帖赏金 8.88元(功能说明)我要提问
返回列表
打印
[STM32F7]

NUCLEO-F722ZE+MDK下的CoreMark_1.0移植

[复制链接]
1517|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lmx89|  楼主 | 2017-3-13 14:32 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 lmx89 于 2017-3-14 10:21 编辑

感谢二姨家给的Nucleo-F722ZE开发板
先来几张美图

开发板的资料和介绍,在官网上都有,这就不多说了
最近大家都在玩CoreMark,赶紧跟上!!!
开发工具:
STM32CubeMX V4.19.0
STM32CubeF7 V1.6.0
ST-LINK/V2-1  V2.J28.M18 STM32 Debug+Mass storage
ST-LINK/V2-1 USB driver
(以上在官网中都能下载到)
MDK-ARM  V5.23
STM32F7xx_DFP  V2.9.0

CoreMark源代码在CoreMark官网(需注册)可以下载 coremark_v1.0.tgz (618.78 KB)
下面介绍具体过程:
生成工程模板

直接选择nucleo722ZE

时钟选用内部晶振,HCLK选择216MHz


串口选用USART3(跟STLink共用,不用另外接线)


配置串口


Cortex M7 配置

生成源码(堆栈必须要改大)

往工程中添加Coremark


配置MDK,优化(选择默认,分数只有550左右)


配置Coremark文件(具体参见 如何将coremark程序移植到STM32上.pdf (1.12 MB) 的P6~P11)
文档是以IAR为环境的,文件要改的内容和MDK是一样的

你以为按pdf配置就行了?其实不行(自己也琢磨了一阵)
还要修改:
1)main.c 里的Error_Handler函数也要拷贝到Core_portme.c
2) Core_portme.h文件中的宏定义HAS_STDIO和HAS_PRINTF需定义为1;
   #define NULL ((void *)0)  屏蔽(与stdio.h中重定义)
   typedef size_t ee_size_t;改成typedef unsigned int ee_size_t;      (编译时,size_t显示未定义,明明有的)

到此,编译就可以成功通过
但是download还是出问题 Error: Flash Download failed  -  "Cortex-M7"

要Flash全擦除,才能下载成功


最后,download成功,打开串口

分数不到880,MDK的优化还是差点

改好的CoreMark代码: CoreMarkSrc.rar (23.46 KB)       


多谢4楼whtwhtw的提醒,更改后分数加了4分,影响并不大


















打赏榜单

21ic小管家 打赏了 8.88 元 2017-04-10
理由:NUCLEO-F722ZE评测领赏

沙发
usysm| | 2017-3-13 17:13 | 只看该作者

使用特权

评论回复
板凳
usysm| | 2017-3-13 17:15 | 只看该作者
CoreMark高端应用

使用特权

评论回复
地板
whtwhtw| | 2017-3-13 17:48 | 只看该作者
本帖最后由 whtwhtw 于 2017-3-13 18:04 编辑

你的M7配置ITCM没打开,第一项,打开再试试
你目前用的是AXI总线,需要转接到AHB总线才能读取flash指令,不够快。
由于你只打开了Icache和ART,没打开ITCM总线,等于没用

使用特权

评论回复
发新帖 本帖赏金 8.88元(功能说明)我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:当你知道迷惑时,并不可怕;当你不知道迷惑时,才最可怕。

4

主题

538

帖子

4

粉丝