你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【STM32H7S78-DK评测】开发板初识与工程模板创建

[复制链接]
ytwo 发布时间:2024-8-22 22:55

致谢

感谢ST官方给予的这次评测STM32H7S78-DK的机会,感谢论坛管理员Seven的认真负责,百忙之中提醒我参与活动,否则我就错过了,非常感谢!

开发板套件内容

说明:文中斜体字部分,表示该斜体字部分内容是对上方图片的文字解释说明信息,并空出一行,不以标点符号结尾。

开发板收到已经有好几天了,整个开发板套件中主要包含STM32H7S78主控板(代码:MB1736),显示屏(代码:MB1860),WIFI模块(代码:MB1400),扩展模块(代码:MB1280),一个TF卡。基本上STM32H7S78的核心功能都已经包含在其中了,扩展模块增加开发板的更多功能。整个开发板的做工还是符合ST的一贯风格,简洁细致,许多地方细节做的很到位,比如说一些必要的调试触点,信号线等长设计,通过电阻设置对应功能引脚使用等。

image.png

开发板正面照片,包含显示屏

image.png

开发板背面照片,可以看到上面的功能设计以及用料

image.png

WIFI模块正面照片

image.png

扩展模块正面照片

image.png

TF卡正面照片

image.png

开发套件硬件模块示意图,可以看到对应的功能还是挺多的

image.png

开发板接口及主要组件简单介绍

STM32H7S78新特性讨论

STM32H7S78核心架构Cortex-M7架构,CPU的运行速度达到600MHz,运行速度非常的快,可以设计一些高速实时系统,充分利用这一特性。最大的亮点是GPU部分,处理显示画面将更加得心应手,我这面有一个1024x600分辨率的显示屏,之前使用STM32H743运行,画面还是有些卡顿,不够流畅,后面评测完结,测试一下STM32H7S78的处理效果。下面是官方给出的一些比较亮眼的功能。当然STM32H7S78的功能远远不止这些,详细的说明需要参看芯片的用户手册,里面描述了各功能模块的具体用途,这里就不作太多展开。

NeoChrom GPU: Accelerating 2.5D GUIs, making it easier to reach 60FPS GUIs with low MCU load.

NeoChrom GPU: 加速 2.5D显示界面,在MCU低负载下轻松达到60帧每秒的显示界面。在图像处理速度这一块,相较于以往的MCU有极大的提升,可以使用MCU做一些更加精美有意思的界面显示效果。

Advanced security: Debug authentication, secure application & silicon life-cycle, secure key-storage, immutable root of Trust (ST-IRoT), target SESIP3 and PSA certified level 3 certifications.

高级安全性: 调试认证,安全应用程序与芯片生命周期,安全密钥存储,不可变信任根(ST-IROT),SESIP3级认证和PSA3级认证。这里面不可变信任根,接触的人比较少,密码系统中不可更改的可信源,确保数据加密和密钥管理的安全。SESIP和PSA是物联网的安全评估标准,通过了逻辑、电路板和基本物理三项防御测试,证明该微控制器的网络保护达到相当高的水准。

200 MHz xSPI: High speed, real-time capabilities from int./ext. Memories with on-the-fly decrypt/encrypt.

200MHz XSPI: 实现内部与外部内存的实时解密加密的高速实时性。这块主要是用在PSRAM和外部FLASH上的,除了常规的程序加载和运行,对于需要加密的应用程序,也能够进行高速的解密加密。

USB HS/FS PHY, I3C: For USB power delivery support, 2 type-C connectors, dedicated DMA & dual USB FS/HS with PHY. I3C comm, enabling lower cost implementation with DMA for zero CPU interventions.

USB高速/全速物理层,I3C通信 USB支持供电输送功能,两个tpye-C接口,专用DMA与双USB高速/全速物理层,I3C通信,通过DMA零CPU干预的方式实现更低系统消耗。两个USB都有对应的物理层,后续可以做一些更加有意思的功能,通过STM32H7S78芯片本身,实现480Mhz的高速通信速度。

还有一些其他的功能,这里也不做太多展开,可以参考下图的模块功能图。

image.png

模块功能表,详细的内容需要对应查阅用户手册即可

工程模板创建

首先简单描述一下后面要做的内容,应用领域是光伏领域,主要是设计一个太阳能电池板跟随太阳角度不同,动态调整电池板位置的程序,在调整过程中,使用神经网络的方式实现自动调整。操作视频部分,则是控制器的简单说明,也是测试在存在一定负载的情况下,视频播放的效果。涉及的知识有电机控制,插补计算,神经网络(摄像头图像采集),MJEPG视频播放。神经网络这部分,训练的模型目前有两种思路,一种是使用颜色传感器阵列的方式,缺点就是不够精准。一种是采用摄像头采集图像的方式,缺点是程序量比较大,还需要编写对应的图像采集程序,用于模型训练。个人比较倾向于摄像头采集,不过目前摄像头查找咨询了网上的一些模块,没有与开发板对应的摄像头模组,后续根据情况调整。

STM32H7S78的库文件中包含了好几个版本的模板文件(相关文件,可以从系统用户文件夹下的STM32Cube文件夹下查阅)。主要分为两个部分Templates和Templates_LL。Template是HAL库模板,里面也有如下一些模板文件TemplateTemplate_LRUNTemplate_ROTTemplate_XIP

Template:使用内部RAM与FLASH创建的例程,可以进行简单的功能性测试,复杂程序,受限于内部存储大小,不能实现对应功能。

Template_LRUN:LRUN(load and run),先加载,后执行。从内部FLASH启动,然后加载外部存储程序到RAM中,然后执行对应的程序。

Template_ROT:信任根程序例程,经过认证校验成功后,跳转对应的程序部分,这个部分选择有两种,一个是STiRoT,一个是OEMiRoT。具体信息及启动方式可以参考下图说明。

image.png

STM32H7S78暂时隔离等级

image.png

STM32H7S78支持的安全启动路径

Template_XIP:从内部FLASH启动,完成后,跳转到外部FLASH应用部分执行。

这里计划选择Template_XIP模板,作为工程的基本样板进行搭建,因为最终涉及的程序部分占用的空间应该会比较大,这个方式是比较简洁快速的,接下来就是根据原理图及需要的功能配置STM32CubeMX配置。 1,电源及晶振配置信息

image.png

STM32H7S78-DK各个接口的电源供电电流大小配置与说明

根据原理图说明,以及晶振工作频率,配置系统参数

image.png

HSE,外部晶振基本设置

image.png

供电模型基本设置

image.png

时钟配置图

2,RAM和FLASH配置

PSRAM的相关资料,查询可以了解到

image.png

PSRAM APS256XXN-OBR芯片的基本信息

image.png

image.png

PSRAM APS256XXN-OBR芯片的延迟信息

FLASH的相关信息目前尚未找到,只有一个官方的默认网页

image.png

MX66UW1G45G官方相关信息

相关原理图如下:

image.png

外部PSRAM接口原理图

image.png

外部FLASH接口原理图

这里还是根据原理图,以及工程模板的配置信息进行配置

image.png

XSPI1接口相关基本配置

image.png

XSPI2接口相关基本配置

3,显示配置 原理图如下,这部分信息配置内容,一方面参考原理图的说明,另一方面,参考例程H7RSDemo里的配置信息进行配置,具体内容可以查看.ioc文件中的详细信息

image.png

显示屏相关接口原理图

image.png

SD卡接口原理图

image.png

LTDC接口配置基本信息

4,摄像头配置 原理图如下,这部分的配置信息是按照原理的说明,通过DCMIPP来进行配置的,部分引脚通过GPIO与SPI进行配置

image.png

摄像头接口原理图

image.png

SDMMC接口配置基本信息

image.png

DCMIPP接口配置基本信息

5,可能需要的引脚配置

目前还需要一些IO引脚,以及一部分通信用的引脚,这里主要参考的接口是STmod接口引出的引脚信息。详细配置参考源码中的.ioc文件的相关设置。这里不做太多展开,在后续使用过程中,在进行详细说明。

image.png

STmod+接口原理图

6,调试尚存问题 在生成代码过程中,发现弹出如下的警告提示,不过使用官方模板生成的代码过程中,也会弹出相同的提示,也就是说,这个警告提示是不影响运行的,但是自己搭建的模板程序下载完成后,始终不能正确的执行。

image.png

Ioc文件生成环节中,弹出的警告信息

尝试进入调试状态,则会显示如下错误信息,并且会卡住,不能继续运行。

image.png

调试环节中弹出的错误信息

image.png

ExtMemLoader的ld文件内容对比,左边是官方模板文件,右边是STM32CubeMX生成文件

image.png

Boot的ld文件内容对比,左边是官方模板文件,右边是STM32CubeMX生成文件

image.png

Appli的ld文件内容对比,左边是官方模板文件,右边是STM32CubeMX生成文件

可以看到基本上相差不是很大,有些出入,也是在正常的范围内,也就是说开头生成代码的过程中弹出的提示不是导致整个工程不能运行的关键因素。这里使用官方模板进行对比,具体哪个环节错误了,这篇文章,先使用官方的模板文件运行一个基本的测试例程。

7,工程模板测试视频 使用官方提供的工程模板可以正常的加载并运行,链接视频展示的是使用工程模板让4个LED闪烁的例程,下面是对应的程序部分,对应链接:LED闪烁例程

 /* Initialize LD1 */
  BSP_LED_Init(LD1);
  BSP_LED_Init(LD2);
  BSP_LED_Init(LD3);
  BSP_LED_Init(LD4);
  /* USER CODE END 2 */

  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
    /* Toggle LD1 every 250ms */
    BSP_LED_Toggle(LD1);
    HAL_Delay(300);
    BSP_LED_Toggle(LD2);
    HAL_Delay(300);
    BSP_LED_Toggle(LD3);
    HAL_Delay(300);
    BSP_LED_Toggle(LD4);
    HAL_Delay(300);
  }

待解决问题

1,H7RSDemo缺失文件问题,打开工程发现缺失生成的代码文件,这部分内容目前不能够解决,后续视情况而定。

2,STM32CubeMX生成的工程模板不能使用的问题

image.png

显示的错误信息,错误的位置可能并不是这个位置

这个部分地址信息,经过查询,发现是保留的地址。具体错误原因以及解决办法,在后面,会进行解决与分享。

源码地址

由于gitee免费版本有诸多限制,不过胜在国内网络中,上传下载的网速比较快,故使用这个进行源码的分享。

stm32h7s78-photovoltaic-application

最后,由于个人原因,开始评测的时间有些晚了,加上网页崩溃,也耽误了一些时间,后续更新中,会调整整体进度,以完成评测。

收藏 评论0 发布时间:2024-8-22 22:55

举报

0个回答
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版