STM32H743是高性能工作频率400MHz的32位ARM Cortex®-M7MCU,具有浮点单元(FPU),支持Arm®双精度(IEEE 754兼容)和单精度数据处理指令和数据类型,集成了高达2MB闪存,1MB RAM,Art加速器,L1缓存,外设存储器接口以及各种外设,856 DMIPS/2.14 DMIPS/MHz (Dhrystone 2.1)。
本次测评的就是基于STM32H743的Nucleo开发板。
本开发板意外的焊接了网络部分的元件,可以进行网络方面的测试与开发,这与之前的N系列的开发板还是有进步的。
开发板,两个按键在底部成中心对称分布;按键中间是usb接口与RJ45接口,这里要提一下,ST-Link的USB与此USB都使用了mico usb接口,而不是之前的mini的USB接口,这一方面算是一大进步;板载ST-Link仿真器;引出所有IO,这里还要自己焊接上2.54mm的双排排针,由于测评,板子还要归还,这里就不对硬件进行任何修改了;
Nucleo开发板都是完全开源的,硬件上有原理图与PCB文件,是使用AD软件进行设计的,可以在官网上下载下来进行参考,在设计自己的板子时,也可以参考一下,是不错的参考设计。
使用STM32CubeMX新建一个项目,并配置好必要的外设,这里可以支持选择Nucleo开发板的配置,而不用自己配置外设。
双击后,可以生成配置好的工作,这时,就要配置一下时钟了,设置成最高的400MHz,再调整一下其他的外设的时钟,直到时钟配置没有错误。使用软件自动配置当然是最简单的,可是我的软件有问题,配置了2小时还没有找到配置方式,就自己进行配置了。
配置M7内核,使能cache,其他的外设都是根据开发板进行自动配置的,基本上提使能上开发板上的所有资源,GPIO,串口,网络等等。
配置好后,就可以生成工程进行编译了,使用gcc的编译器,编译整个工程用时7s.446ms。
没有错误与警告,是个完美的工程。
把printf进行重定向,方便输出运行结果,coremask的结果输出是要使用printf函数进行输出的,重定向也是很简单的了,会STM32的都会做,这也是一个基本的函数了,要是真不会,可以参考一下下载的库中的printf例程了。测试代码如下:
运行结果,在串口助手中收到了STM32开发板发出数据了。
coremark移植
下载是直接从github上下载的,地址如下: https://github.com/eembc/coremark
解压coremark-master.zip,将如下文件添加到工程中,并设置头文件路径。本次只是使用这几个文件,其他的文件还用不到的。
其实可以把coremark的文件全放大一个目录下,指定这个目录的路径就可以了,因为文件比较少,也不用分源文件与头文件了。
按官方移植手册进行移植,这里可以去官方找一下,不再复制了。
最后看看运行结果吧,分数是1677分,这与官方说的2000分,还是有一定的差距的,问题可能是编译器的问题,也可能是优化不够,也有可能是也初始化了其他的外设对跑分有一定的影响吧。
相比于ST的其他的芯片,H7的性能毋庸置疑,主频400M,也是赶超了大部分的ARM9芯片了,当然与同时是M7的RT105x系列在主频上可能略逊一筹,有时间把RT105x的也跑一下coremask进行对比一下。
原创作品,未经权利人授权禁止转载。详情见转载须知。 举报文章
我要举报该内容理由
×