致谢感谢ST官方给予我这个机会评测STM32H7S78-DK开发版,也感谢论坛管理员Seven认真负责,百忙之中提醒参加活动,否则我就错过这次机会了,非常感谢! 开发板包含内容目前开发板已经到手一段时间了,这段时间也查阅了相关资料,学习了很多关于这部分开发板的新特性以及相关知识。由于我少了一些时间,计划增加每次评测的内容,调整整体进度。STM32H7S78-DK开发套件包含主控板(MB1736),显示屏(MB1860),WiFi模块(MB1400),扩展模块(MB1280)。 开发板正面照片,显示屏已与开发板安装好 开发板背面照片,可以看到一些常用的资源外设 WIFI模块,正面照片 扩展模块,正面照片 闪迪的高速TF卡,用于存放视频图片等相关资源文件 STM32H7S78新特性STM32H7S78相较于普通的STM32H743,或者STM32H757等,最大的亮点是针对图形处理这部分的优化,做了很多工作。STM32H743在处理分辨率达到1280x720时,已经比较吃力了,这里之前有一块这个分辨率的显示屏,目前两块屏幕接口不太匹配,后续有时间测试一下STM32H7S78高分辨率下的图像显示性能。
加速2.5D图像界面,在MCU低负载下也可以轻松达到60FPS刷新率的界面显示效果。
高级安全设置 调试认证,安全应用程序与芯片生命周期,安全密钥存储,不可变信任根(ST-IRoT:"ST immutable root of trust"的缩写,系统内存中的代码,不可更改),目标SESIP3(物联网安全标准,满足定义的物联网平台安全评估标准 (SESIP)五个保证级别的第三级。SESIP3 提供了实质的保证。),PSA认证3级认证(Platform Security Architecture缩写,PSA 认证分为 Level 1 、Level 2 和 Level 3 三个安全等级,分别包括:安全方案审查、实验室问卷评估、软硬件攻击等渗透性测试内容)
200MHz XSPI通信 内部外部内存实时加解密具有高速,实时性。(这一点确实领先,采用的外部内存是PSRAM,外部存储也是目前最新的MXIC芯片,FLASH相关的最新手册尚未找到)
USB 高速/全速 物理层,I3C通信协议 支持USB供电,两个type-C接口,专用DMA以及双USB高速/全速 物理层 ,I3C通信,支持DMA更低成本实现零CPU干预。(这部分内容厉害了,MCU集成了两个USB phy,可以通过USB实现更多有趣的功能了,加上CPU的运行速度可以到达600MHz,在处理数据这块,游刃有余。) 当然实际优点远远不止这些,最亮眼的优点便是以上内容,其他的一些特性,可以参考以下的图片说明 STM32H7S78模块示意图 工程模板创建STM32H7S78采用的是boot+application的方式来编写相关程序,目前项目涉及到的内容一个是神经网络部分内容,一个是电机控制部分内容,以及视频播放部分,涉及的程序内容比较多,当然这种方式编程也不一定是最优解,时间比较紧张,后续空出时间继续优化这部分内容。参考官方提供模板,分为两个部分,一个是Templates文件夹,该文件夹下的模板文件使用的是HAL库文件,一个是Templates_LL文件夹,该文件夹下模板文件使用的是LL库,整体架构组成可以参考以下图片 STM32CubeH7RS firmware components Template文件夹下有以下几个文件夹,Template,Template_LRUN,Template_ROT,Template_XIP(相关程序代码,请参看STM32Cube文件夹下内容,相关源码,部分备份在下文的项目源码地址中) Template:常规模板文件,提供BSP相关文件,在系统内存(RAM)与系统存储(FLASH)中运行。由于STM32H7S78的系统存储比较小,不是很推荐这种方式编写程序。 Template_LRUN:(LRUN是load and run的缩写)分为两个部分,Boot和Appli。运行方式是将外部存储的程序复制到内存中,并在内存中运行相关程序。 Template_ROT:(root-of-trust),分为两种信任根,STiROT和OMEiROT,这部分运行方式参考下面图片 几种信任根运行方式 Template_XIP:有3部分内容,Boot,Appli,ExtMemLoader。工作方式从内部FLASH启动,然后跳转到外部FLASH程序。 参考开发板原理图以及Template_XIP模板 1,晶振与供电部分设置 各部分接口供电电流大小 外部晶振设置,查阅手册是24Mhz晶振 根据原理图,供电模式设定SMPS模式 时钟配置 1,FLASH及PSRAM相关设置 这部分完全参考的例程模板的配置文件进行设置 相关内容信息 外部FLASH的相关资料,目前官网尚未给出相关资料,查到的信息如下: 官网资料 主要是对XSPI,SBS进行设置,以及EXTMENM设置 XSPI1设置,可能出错的原因是MemoryMode这部分存在问题,没有按照模板的设置来。 XSPI2设置 EXTMEM_LOADER设置,后续内容,这里便步截图了,参考源码中的ioc文件设置内容 3,需要的功能组件引脚配置,这部分引脚配置需要根据原理图来修改,相关配置信息请参考源码中的ioc文件 LCD原理图 摄像头原理图 SD卡插槽原理图 STmod+接口原理图 PSRAM原理图 FLASH原理图 4,编译与验证,在生成代码的过程中,产生一个错误提示,如下图: 字面意识是程序存储地址冲突了,查看了几个生成的工程的ld文件,头部设置信息对比如下: 官方XIP-ExtMemLoader-ld设置:
cubeMX生成-ExtMemLoader-ld设置:
这个具体什么原因导致的,目前还没解决。 5,官方工程模板修改实验,修改其LED闪烁方式,验证模板是可以使用的,演示视频地址LED闪烁实验,修改的代码如下
待解决问题1,目前官网提供的demo程序,没能成功下载到开发板中运行,屏幕尚未点亮,目前存在的下载问题是什么原因导致的尚未得知。 2,使用STcubeMX生成的工程文件,编译下载后,无法正常执行。这个原因待排查,后续看情况,继续查找这部分错误的原因。 程序错误提示 项目源码地址由于gitee免费版本有诸多功能限制,不过优点在于国内访问比较快速,后续也会将添加其他软件仓库链接。 stm32h7s78 photovoltaic application (gitee.com) 感谢各位的批评指正。 |
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重定向实现方法及常见问题