[STM32H7] 【STM32H7S78-DK测评】5、如何配置才能使用外部RAM和ROM

[复制链接]
1840|2
 楼主| sujingliang 发表于 2024-9-10 20:56 | 显示全部楼层 |阅读模式
目的
    STM32H7S7L8H6H片内拥有一个内部64kbytes ROM,和一个620Kbytes SRAM。
    STM32H7S78-DK套件中配备了一个外部ROM(MX66UW1G45GXDI00)和一个外部SRAM(APS256XXN-OBR-BG)。

    外部ROM(MX66UW1G45GXDI00):NOR闪存 Serial NOR 1.8V 1Gbit x8 I/O BGA-24 RWW。

    外部SRAM(APS256XXN-OBR-BG):动态随机存取存储器 IoT RAM 256Mb OPI (x8,x16) DDR 200MHz, 1.8V, Ind. Temp., BGA24
mem.png

可见外部配置比片内高很多,而且内部仅设计了一个64kbytes ROM的目的就是希望内部ROM只存Boot程序,而外部ROM才是存用户程序Appli的。

但是通过STM32CubeMX默认生成的工程,无论是Boot、Appli,无一例外地默认都是烧录到内部64kbytes ROM。这显然不是我们想要的。

本文描述如何配置将Appi烧录到外部ROM。

一、硬件情况

ramrom.jpg

演示文稿1.png
外部ram和rom通过XSPI1、XSPI2和MCU通信。

HEXASPI.png

OCTOSPI.png

Boot程序烧录到内部ROM,Appli程序烧录到外部ROM。

为了访问外部的RAM、ROM,需要在Boot实现对外部的RAM、ROM的初始化。缺省的Boot配置没有这部分,需要自己添加。

二、STM32CubeMX中配置一个烧录到外部ROM的模板
1、STM32CubeMX中选择从STM32H7H78S-DK开发板开始
stm32h7s78-dk1.png
选择否,不初始化全部外设,做一个基本的模板
stm32h7s78-dk2.png

2、XSPI1配置

mx1.png
3、XSPI2配置
mx2.png
4、EXTMEM_MANAGER配置
mx3.png

mx3_1.png

mx3_2.png

mx3_3.png

5、SBS配置

mx4.png

6、flash好像也需要配置

mx5.png

7、CORTEX_M7_BOOT好像也需要配置下
mx6.png

然后生成代码。
分别编译并烧录Boot,Appli。如何正常,Appli应该运行在外部FLASH中了。
观察CubeIDE中Appli的LD文件已经是STM32H7S7L8HXH_RAMxspi1_ROMxspi2_app.LD了,不再是烧录到默认内部地址的STM32H7S7L8HXH_flash_default_app.LD。

三、附件
附件是本文IOC文件可以用STM32CubeMX打开,生成KEIL、CubeIDE工程。
STM32H7S78-DK-TEMPLATE.rar (6.06 KB, 下载次数: 6)




Amazingxixixi 发表于 2024-10-31 16:05 | 显示全部楼层
需要改动。s文件
地瓜patch 发表于 2024-10-31 18:09 来自手机 | 显示全部楼层
右侧引脚配置,有的是彩色有的是灰色是什么情况
您需要登录后才可以回帖 登录 | 注册

本版积分规则

84

主题

147

帖子

3

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