致谢感谢ST官方给予的这次评测STM32H7S78-DK的机会,感谢论坛管理员Seven的认真负责,百忙之中提醒我参与活动,否则我就错过了,非常感谢! 开发板套件内容说明:文中斜体字部分,表示该斜体字部分内容是对上方图片的文字解释说明信息,并空出一行,不以标点符号结尾。 开发板收到已经有好几天了,整个开发板套件中主要包含STM32H7S78主控板(代码:MB1736),显示屏(代码:MB1860),WIFI模块(代码:MB1400),扩展模块(代码:MB1280),一个TF卡。基本上STM32H7S78的核心功能都已经包含在其中了,扩展模块增加开发板的更多功能。整个开发板的做工还是符合ST的一贯风格,简洁细致,许多地方细节做的很到位,比如说一些必要的调试触点,信号线等长设计,通过电阻设置对应功能引脚使用等。 开发板正面照片,包含显示屏 开发板背面照片,可以看到上面的功能设计以及用料 WIFI模块正面照片 扩展模块正面照片 TF卡正面照片 开发套件硬件模块示意图,可以看到对应的功能还是挺多的 开发板接口及主要组件简单介绍 STM32H7S78新特性讨论STM32H7S78核心架构Cortex-M7架构,CPU的运行速度达到600MHz,运行速度非常的快,可以设计一些高速实时系统,充分利用这一特性。最大的亮点是GPU部分,处理显示画面将更加得心应手,我这面有一个1024x600分辨率的显示屏,之前使用STM32H743运行,画面还是有些卡顿,不够流畅,后面评测完结,测试一下STM32H7S78的处理效果。下面是官方给出的一些比较亮眼的功能。当然STM32H7S78的功能远远不止这些,详细的说明需要参看芯片的用户手册,里面描述了各功能模块的具体用途,这里就不作太多展开。
NeoChrom GPU: 加速 2.5D显示界面,在MCU低负载下轻松达到60帧每秒的显示界面。在图像处理速度这一块,相较于以往的MCU有极大的提升,可以使用MCU做一些更加精美有意思的界面显示效果。
高级安全性: 调试认证,安全应用程序与芯片生命周期,安全密钥存储,不可变信任根(ST-IROT),SESIP3级认证和PSA3级认证。这里面不可变信任根,接触的人比较少,密码系统中不可更改的可信源,确保数据加密和密钥管理的安全。SESIP和PSA是物联网的安全评估标准,通过了逻辑、电路板和基本物理三项防御测试,证明该微控制器的网络保护达到相当高的水准。
200MHz XSPI: 实现内部与外部内存的实时解密加密的高速实时性。这块主要是用在PSRAM和外部FLASH上的,除了常规的程序加载和运行,对于需要加密的应用程序,也能够进行高速的解密加密。
USB高速/全速物理层,I3C通信 USB支持供电输送功能,两个tpye-C接口,专用DMA与双USB高速/全速物理层,I3C通信,通过DMA零CPU干预的方式实现更低系统消耗。两个USB都有对应的物理层,后续可以做一些更加有意思的功能,通过STM32H7S78芯片本身,实现480Mhz的高速通信速度。 还有一些其他的功能,这里也不做太多展开,可以参考下图的模块功能图。 模块功能表,详细的内容需要对应查阅用户手册即可 工程模板创建首先简单描述一下后面要做的内容,应用领域是光伏领域,主要是设计一个太阳能电池板跟随太阳角度不同,动态调整电池板位置的程序,在调整过程中,使用神经网络的方式实现自动调整。操作视频部分,则是控制器的简单说明,也是测试在存在一定负载的情况下,视频播放的效果。涉及的知识有电机控制,插补计算,神经网络(摄像头图像采集),MJEPG视频播放。神经网络这部分,训练的模型目前有两种思路,一种是使用颜色传感器阵列的方式,缺点就是不够精准。一种是采用摄像头采集图像的方式,缺点是程序量比较大,还需要编写对应的图像采集程序,用于模型训练。个人比较倾向于摄像头采集,不过目前摄像头查找咨询了网上的一些模块,没有与开发板对应的摄像头模组,后续根据情况调整。 STM32H7S78的库文件中包含了好几个版本的模板文件(相关文件,可以从系统用户文件夹下的STM32Cube文件夹下查阅)。主要分为两个部分Templates和Templates_LL。Template是HAL库模板,里面也有如下一些模板文件Template、Template_LRUN、Template_ROT、Template_XIP。 Template:使用内部RAM与FLASH创建的例程,可以进行简单的功能性测试,复杂程序,受限于内部存储大小,不能实现对应功能。 Template_LRUN:LRUN(load and run),先加载,后执行。从内部FLASH启动,然后加载外部存储程序到RAM中,然后执行对应的程序。 Template_ROT:信任根程序例程,经过认证校验成功后,跳转对应的程序部分,这个部分选择有两种,一个是STiRoT,一个是OEMiRoT。具体信息及启动方式可以参考下图说明。 STM32H7S78暂时隔离等级 STM32H7S78支持的安全启动路径 Template_XIP:从内部FLASH启动,完成后,跳转到外部FLASH应用部分执行。 这里计划选择Template_XIP模板,作为工程的基本样板进行搭建,因为最终涉及的程序部分占用的空间应该会比较大,这个方式是比较简洁快速的,接下来就是根据原理图及需要的功能配置STM32CubeMX配置。 1,电源及晶振配置信息 STM32H7S78-DK各个接口的电源供电电流大小配置与说明 根据原理图说明,以及晶振工作频率,配置系统参数 HSE,外部晶振基本设置 供电模型基本设置 时钟配置图 2,RAM和FLASH配置 PSRAM的相关资料,查询可以了解到 PSRAM APS256XXN-OBR芯片的基本信息 PSRAM APS256XXN-OBR芯片的延迟信息 FLASH的相关信息目前尚未找到,只有一个官方的默认网页 MX66UW1G45G官方相关信息 相关原理图如下: 外部PSRAM接口原理图 外部FLASH接口原理图 这里还是根据原理图,以及工程模板的配置信息进行配置 XSPI1接口相关基本配置 XSPI2接口相关基本配置 3,显示配置 原理图如下,这部分信息配置内容,一方面参考原理图的说明,另一方面,参考例程H7RSDemo里的配置信息进行配置,具体内容可以查看.ioc文件中的详细信息 显示屏相关接口原理图 SD卡接口原理图 LTDC接口配置基本信息 4,摄像头配置 原理图如下,这部分的配置信息是按照原理的说明,通过DCMIPP来进行配置的,部分引脚通过GPIO与SPI进行配置 摄像头接口原理图 SDMMC接口配置基本信息 DCMIPP接口配置基本信息 5,可能需要的引脚配置 目前还需要一些IO引脚,以及一部分通信用的引脚,这里主要参考的接口是STmod接口引出的引脚信息。详细配置参考源码中的.ioc文件的相关设置。这里不做太多展开,在后续使用过程中,在进行详细说明。 STmod+接口原理图 6,调试尚存问题 在生成代码过程中,发现弹出如下的警告提示,不过使用官方模板生成的代码过程中,也会弹出相同的提示,也就是说,这个警告提示是不影响运行的,但是自己搭建的模板程序下载完成后,始终不能正确的执行。 Ioc文件生成环节中,弹出的警告信息 尝试进入调试状态,则会显示如下错误信息,并且会卡住,不能继续运行。 调试环节中弹出的错误信息 ExtMemLoader的ld文件内容对比,左边是官方模板文件,右边是STM32CubeMX生成文件 Boot的ld文件内容对比,左边是官方模板文件,右边是STM32CubeMX生成文件 Appli的ld文件内容对比,左边是官方模板文件,右边是STM32CubeMX生成文件 可以看到基本上相差不是很大,有些出入,也是在正常的范围内,也就是说开头生成代码的过程中弹出的提示不是导致整个工程不能运行的关键因素。这里使用官方模板进行对比,具体哪个环节错误了,这篇文章,先使用官方的模板文件运行一个基本的测试例程。 7,工程模板测试视频 使用官方提供的工程模板可以正常的加载并运行,链接视频展示的是使用工程模板让4个LED闪烁的例程,下面是对应的程序部分,对应链接:LED闪烁例程
待解决问题 1,H7RSDemo缺失文件问题,打开工程发现缺失生成的代码文件,这部分内容目前不能够解决,后续视情况而定。 2,STM32CubeMX生成的工程模板不能使用的问题 显示的错误信息,错误的位置可能并不是这个位置 这个部分地址信息,经过查询,发现是保留的地址。具体错误原因以及解决办法,在后面,会进行解决与分享。 源码地址由于gitee免费版本有诸多限制,不过胜在国内网络中,上传下载的网速比较快,故使用这个进行源码的分享。 stm32h7s78-photovoltaic-application 最后,由于个人原因,开始评测的时间有些晚了,加上网页崩溃,也耽误了一些时间,后续更新中,会调整整体进度,以完成评测。 |
STM32CubeIDE 快速入门指南
【STM32H7S78-DK】汽车仪表系统
【STM32H7S78-DK】基于 rtthread 适配 lcd 驱动移植 lvgl
【NUCLEO-WB09KE评测】BLE创建服务和写特征控制LED
【STM32H7S78-DK评测】TouchGFX (QR Code)二维码生成器
【STM32H7S78-DK】rtthread 增加 psram 内存管理
【STM32H7S78-DK】开箱与rtthread工程初体验
【STM32H7S78-DK评测】-5 LVGL&DMA2D DEMO测试
【STM32H7S78-DK评测】-4 LTDC&DMA2D 基本测试
【STM32H7S78-DK评测】CoreMark移植和优化--兼记printf重定向实现方法及常见问题