|
手里有一块正点原子H7R7开发板
根据核心板上芯片的丝印如下
基于该开发板介绍STM32H7R7系列芯片的开发过程。 1 CubeMX中创建工程在CubeMX中选择STM32H7R7L8H6H芯片型号并创建工程。
创建时会提示 STM32H7系列芯片适配时,使用STM32提供的开发工具,需要构建三个工程
CubeMX作为管理STM32芯片工程配置的工具,可以以不同的方式查看CubeMX中的工程配置。
1.1 时钟系统CubeMX中的RCC选项栏中,系统晶振选择外部晶振,
在
使能Boot和Appli工程中的ICache和DCache功能。
1.2 Flash设置STM32H7R7核心板XSPI1外接了一颗8线NOR Flash,需要根据NOR Flash的参数进行XPSI1外设配置。由于Boot和ExtMemLoader都会用到XSPI1外设,所以Boot和ExternalMemLoader都要勾选该外设。
XSPI1的引脚设置采用CubeMX的默认配置即可。 1.3 HyperRAM设置STM32H7R7核心板XSPI1外接了一颗HyperRAM,需要根据HyperRAM的参数进行XPSI2外设配置。ExtMemLoader不涉及RAM的配置,RAM仅在Boot中配置即可。
设置XSPI2接口的通讯参数
XSPI2的引脚设置采用CubeMX的默认配置即可。 调整
1.4 ExtMem Manager和ExtMem Loader配置勾选ExtMem Manager使用的工程并生成相应的Boot代码
设置ExtMem Manager内存的驱动方式以及数据线数量
ExtMem Loader组件参数设置,根据外部存储器件的大小设置相应的参数。
1.6 SBS设置在SBS配置中,设置Boot和ExtMemLoader工程的SBS模块,用于支持XSPI接口的低电压操作选项,提高IO口的翻转速度,提高数据访问速率。
1.7 Flash设置勾选Boot和Appli工程中的Flash设置,并添加相应的用户配置,用于外部存储的驱动设置。
1.8 CubeMX添加自定义工程文件CubeMX支持添加自定义的工程文件用于实现定制化的开发。 https://support.touchgfx.com/zh-CN/docs/development/scenarios/adding-files-to-stm32cubemx-projet 这里需要添加HyperRAM相关的自定义驱动代码。在.ioc文件所在的目录创建.extSettings文件,内容如下。
并在其中创建文件夹存放HyperRAM相关的文件
添加文件后的文件目录如下
CubeMX生成的工程有时会存在添加文件失败的情况,此时,保留CubeMX目录下的.ioc、.mxproject、.extSettings文件,其余文件删除并重新生成即可。.ioc文件和.mxproject保存工程的配置信息,.extSettings文件保存用户自定义的信息。 1.9 添加HypeRAM和Flash相关的自定义代码完成以上配置后,使用CubeMX生成STM32CubeIDE的代码
在其中的Boot工程的
在Boot工程的
在ExtMemLoader中启用XSPI1的HSLV功能,在
1.10 Appli添加GPIO翻转代码完成上述操作,正点原子H7R7开发板模板工程设置完成,开发板的PD14引脚控制板载的LED0,在CubeMX添加相应引脚的输出设置。
Appli工程的
1.11 工程编译和烧录创建的工程中,ExtMemLoader工程编译出.elf固件,将其后缀修改为.stldr。将文件存放到
该文件会在Appli工程烧录时使用到,在Appli工程的调试配置中查看配置信息。
编译并烧录Boot工程到开发板。 最后,编译Appli工程到开发板,板载LED0闪烁,证明程序可以运行。
|
🚀 STM32 Sidekick:让 STM32 开发更快、更聪明的 AI 助手
STM32H747I-DISCO 语音识别模型部署
STM32H747I-DISCO 数字麦克风使用方法
基于STM32F429I-DISC1的体感控制LCD小球
关于在Keil开发环境中导入第三方库lib时,出现类型冲突的原因及BUG解决方案!
【STM32U3评测】低功耗模式功耗测量
【STM32N6570-DK评测】3.CubeMX关于DCMIPP和CSI的BUG整理及摄像头使用
经验分享 | 基于STM32H7不同MPU配置的拷贝性能比较
【STM32U3评测】并不优雅的点亮WS2812
【STM32U3 评测】人体行为识别
微信公众号
手机版