woshi_ziyu
发表于: 2017-3-15 21:48:16 | 显示全部楼层

本文主要介绍了使用Keil MDK在NUCLEO-F413ZH开发板进行Coremark跑分测试的方法。参考了ST官方的应用实例《如何将CoreMark程序移植到STM32上》。


需要使用的工具

■    NUCLEO-F413ZH开发板

■    STM32CubeMX 4.20.0

■    Keil MDK 5.2.3


使用STM32CubeMX生成CoreMark工程

1.  首先下载并安装STM32CubeMX软件。STM32F413系列微控制器刚刚推出,推荐使用最新版的STM32CubeMX软件。目前最新版为V4.20.0。官网下载地址:http://www.st.com/content/st_com ... rs/stm32cubemx.html。该软件安装过程中需要Java支持。

2.  安装完成后,打开STM32CubeMX,选择New Project,新建一个工程。在接下来的对话框中,选择Board Selector选项卡。通过设置Board Filter筛选:Vender选择STMicroelectronics;Type of Board选择nucleo144;MCU Series选择STM32F4。在筛选出的结果中选择NUCLEO-F413ZH,单击OK

new project.png

3.  配置时钟。单击Clock Configuration选项卡,将HCLK设置为100MHz,回车后软件自动计算出合适的PLL配置参数。

clock configuration.jpg

4.  配置串口。本文采用的是STLINK的虚拟串口打印输出CoreMark信息,默认情况下连接到STM32F413的UART3。设置UART3波特率为9600、无校验。

UART3.jpg

5.  生成Keil MDK代码。选择菜单Projec-->Generate Code,在弹出的Project Setting对话框中,指定项目名称为CoreMark。设置工程要保存的路径。工具链选择MDK-ARM V5。选择固件库所在的位置。

generate code.jpg

点击OK后,CubeMX会自动在指定路径生成一个工程。该工程包含了所有需要用到的底层驱动以及系统初始化的代码。

project list.jpg


下载CoreMark测试代码

CoreMark分数是衡量一个微控制器性能的重要基础指标。CoreMark的得分越高,说明微控制器的性能越强悍。ST官方称STM32F413的CoreMark的分数在100Mhz可达339。

CoreMark官网的链接地址为:http://www.eembc.org/coremark/index.php。CoreMark测试代码需要注册帐号才能下载。

download.jpg


添加CoreMark代码和设置Keil开发环境

1.  将下载的代码复制到CoreMark工程所在的文件夹中。使用Keil打开软件,将core_list_join.c、core_main.c、core_matrix.c、core_state.c、core_util.c和core_portme.c这6个文件添加到工程中,然后将默认创建的main.c文件删除。参考ST官方的应用实例《如何将CoreMark程序移植到STM32上》修改这些文件代码。

2. 配置Keil编译环境。设置优化等级。在Option for Target‘CoreMark’ ->C/C++选项卡中,Optimization设置为Level3(-O3),并勾选Optimize for Time复选框。

keil.jpg


下载并运行结果

将NUCLEO-F413ZH开发板连接到PC,通过ST-LINK将程序下载到开发板中。打开串口调试助手,查看运行的结果。测试结果得分为261

coremark sgore.png


本文使用到的工程例程: CoreMark.rar (2.38 MB, 下载次数: 8)

跳转到指定楼层
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题 37 | 回复: 55



手机版|

GMT+8, 2024-4-19 11:17 , Processed in 0.342470 second(s), 9 queries , Gzip On, MemCache On. Powered by Discuz! X3.5

YiBoard一板网 © 2015-2022 地址:河北省石家庄市长安区高营大街 ( 冀ICP备18020117号 )

快速回复 返回顶部 返回列表