[STM32H7] 【STM32H7S78-DK测评】使用外置PSRAM

[复制链接]
2411|4
 楼主| chen000000009 发表于 2024-10-8 23:41 | 显示全部楼层 |阅读模式
在目前STM32H7XIP和外置PSRAM的框架下,RCC的配置需要在bootloader阶段完成(即片上flashboot代码),原因如下
XSPI时钟使能的时候,XSPICKP会被置为1,这时候下表所示的多个时钟配置将不允许修改
498026705527e22eed.png
                              
因此,如果要使用XSPIXIP,则XIP部分的app代码不应对RCC配置再做修改
要使用PSRAM,相关初始化需要在bootloader阶段完成,然后app配置的时候,可以使用从0x90000000开始的地址来对PSRAM来进行访问。
下面介绍Template_XIP_Boot工程中相关的配置
1、使用MX_XSPI1_InitXSPI1进行初始化
7284667055285eceff.png
2、使用MX_EXTMEM_MANAGER_Init进行内存映射
823946705528b0ac29.png
3、完成这个步骤之后,已经可以在bootloader或者NOR FLASHXIP中对0x90000000起始的地址进行访问了
下面在NOR FLASHXIP中实现对0x90000000起始的地址进行访问,代码如下
85176705529065878.png
8637667055294c7946.png
其中XSPI1_BASE定义如下
1575467055298b7ee5.png
在调试模式下运行这段代码,可以看到0x90000000开头的memory内容如下
819116705529f8750d.png
说明对应的内容可以正确写入

averyleigh 发表于 2024-10-11 21:04 | 显示全部楼层
使用MX_EXTMEM_MANAGER_Init函数来配置外部存储器管理器,以使能对PSRAM的访问。
robincotton 发表于 2024-10-16 18:41 | 显示全部楼层
可以在bootloader或NOR FLASH的XIP中对0x90000000起始的地址进行访问。
ccook11 发表于 2024-10-20 10:05 | 显示全部楼层
一旦XSPI(eXtended SPI)时钟被使能,XSPICKP标志将被置为1,这将限制后续对时钟配置的修改。
suncat0504 发表于 2024-10-20 21:46 | 显示全部楼层
外置RAM和FLASH,就不用担心资源不够用的问题了。但半导体的发展,成本的降低,内部RAM和FLASH会不会跟随需要任意加大?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

36

主题

780

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部