打印
[STM32H7]

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

[复制链接]
180|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
目的
    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


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

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

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

一、硬件情况




外部ram和rom通过XSPI1、XSPI2和MCU通信。





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

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

二、STM32CubeMX中配置一个烧录到外部ROM的模板
1、STM32CubeMX中选择从STM32H7H78S-DK开发板开始

选择否,不初始化全部外设,做一个基本的模板


2、XSPI1配置


3、XSPI2配置

4、EXTMEM_MANAGER配置








5、SBS配置



6、flash好像也需要配置



7、CORTEX_M7_BOOT好像也需要配置下


然后生成代码。
分别编译并烧录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)




使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

18

主题

30

帖子

0

粉丝