|
本文主要介绍了使用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。
3. 配置时钟。单击Clock Configuration选项卡,将HCLK设置为100MHz,回车后软件自动计算出合适的PLL配置参数。
4. 配置串口。本文采用的是STLINK的虚拟串口打印输出CoreMark信息,默认情况下连接到STM32F413的UART3。设置UART3波特率为9600、无校验。
5. 生成Keil MDK代码。选择菜单Projec-->Generate Code,在弹出的Project Setting对话框中,指定项目名称为CoreMark。设置工程要保存的路径。工具链选择MDK-ARM V5。选择固件库所在的位置。
点击OK后,CubeMX会自动在指定路径生成一个工程。该工程包含了所有需要用到的底层驱动以及系统初始化的代码。
下载CoreMark测试代码 CoreMark分数是衡量一个微控制器性能的重要基础指标。CoreMark的得分越高,说明微控制器的性能越强悍。ST官方称STM32F413的CoreMark的分数在100Mhz可达339。 CoreMark官网的链接地址为:http://www.eembc.org/coremark/index.php。CoreMark测试代码需要注册帐号才能下载。
添加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复选框。
下载并运行结果 将NUCLEO-F413ZH开发板连接到PC,通过ST-LINK将程序下载到开发板中。打开串口调试助手,查看运行的结果。测试结果得分为261。
本文使用到的工程例程:
CoreMark.rar
(2.38 MB, 下载次数: 8)
|