查看: 5178|回复: 1

[原创] 手工分散加载实现RT011外部FlexSPI PSRAM初始化

[复制链接]

该用户从未签到

31

主题

62

帖子

0

金牌会员

Rank: 6Rank: 6

积分
1012
最后登录
2025-9-6
发表于 2020-12-2 23:05:36 | 显示全部楼层 |阅读模式
本帖最后由 lszisgood 于 2020-12-2 23:23 编辑

i.MXRT1011内部集成了128KB RAM,通过连接四线QSPIFlash+PSRAM方式可以扩展外部大容量的RAM。

    普通SDRAM初始化代码存储在dcd_sdram[]数组中,boot ROM code在进入_main之前已经调用了DCD代码,实现SDRAM初始化。但FLexSPI接口的PSRAM初始化没有现成的参考例子。根据i.MX RT MCU的启动流程,我们可以通过另一种简单的方法实现PSRAM初始化。下面以APS6404L为例演示如何在I.MX RT上使用PSRAM。
   分析KEIL工程启动汇编代码startup_MIMXRT1011.s,在进入_main之前,有个SystemInit函数。我们只需将初始化PSRAM的代码,放进SystemInit函数末尾,进行PSRAM初始化。PSRAM完成初始化后,系统就可以自动分散加载代码和数据到PSRAM内存空间。

在SystemInit末尾添加psram_init_main()函数。由于这个函数是在系统分散加载之前,因此需要手工加载拷贝PSRAM初始化代码和数据到指定TCM内存空间运行。


测试工程源代码可以从下面链接下载:

提取码:tvj7

手工分散加载实现RT011外部PSRAM初始化.pdf

463.66 KB, 下载次数: 35, 下载积分: 威望 1

RT1011_FlexSPI_PSRAM.rar

792.61 KB, 下载次数: 11, 下载积分: 威望 1

测试源代码工程

回复

使用道具 举报

该用户从未签到

723

主题

6382

帖子

0

超级版主

Rank: 8Rank: 8

积分
25490
最后登录
2025-9-9
发表于 2020-12-3 10:42:58 | 显示全部楼层
厉害
回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-9-10 10:27 , Processed in 0.102388 second(s), 21 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表