查看: 7308|回复: 5

[求助] i.MXRT1021 使用FlexSPI 驅動QSPI PSRAM

[复制链接]

该用户从未签到

3

主题

8

帖子

0

新手上路

Rank: 1

积分
32
最后登录
2020-10-23
发表于 2020-8-21 15:44:43 | 显示全部楼层 |阅读模式
各位大師

請教如何使用FlexSPI 驅動QSPI PSRAM,不使用IP command 只使用AHB command?

目前修改LUT與建立對應的read/write IP command程序,已可正常read/write PSRAM
接下來則是想了解,如何不透過IP command,直接透過AHB來read/write
我將程式跑在RAM,沒有設置PortA1的NOR Flash,只有設置 PortB1的PSRAM
但是不了解怎麼設置AHB對應的address
我假設就是從0x6000 0000開始,不過直接存取0x6000 0000會造成 MemManage_Handler?


是否有參考的文件可以提供 或是sample code可以提供?

感謝各位
回复

使用道具 举报

该用户从未签到

723

主题

6382

帖子

0

超级版主

Rank: 8Rank: 8

积分
25475
最后登录
2025-9-9
发表于 2020-8-24 11:18:54 | 显示全部楼层
楼主你好!
如果你已经能够通过LUT直接操作PSRAM的读写,说明硬件方面没有什么问题了。
我不知道你是接在A1口还是B1口?
另外,你是使用官方sdk:
SDK_2.8.0_EVK-MIMXRT1020\boards\evkmimxrt1020\driver_examples\flexspi\nor\polling_transfer
这个代码放在RAM里面去操作对应的外部QSPI PSRAM的吗?
硬件的对应接口情况如何?
对于AHB的地址影射情况,B1口的地址试A1口+A2口长度之后的地址就是B1对应的地址,具体你可以看RT1021 RM:
Flash memory map in individual mode:
• Flash A1 address range: 0x00000000 ~ FA1_SIZE
• Flash A2 address range: FA1_SIZE ~ (FA1_SIZE + FA2_SIZE)
• Flash B1 address range: (FA1_SIZE + FA2_SIZE) ~ (FA1_SIZE + FA2_SIZE +
FB1_SIZE)
• Flash B2 address range: FA1_SIZE + FA2_SIZE + FB1_SIZE) ~ (FA1_SIZE +
FA2_SIZE + FB1_SIZE + FB2_SIZE)

所以还是要看你A1的情况。
另外,如果你代码是从A1 boot,那么你需要修改XIP configure file里面,添加B1的情况已经长度。
回复 支持 反对

使用道具 举报

该用户从未签到

3

主题

8

帖子

0

新手上路

Rank: 1

积分
32
最后登录
2020-10-23
 楼主| 发表于 2020-8-24 17:53:02 | 显示全部楼层
小恩GG 发表于 2020-8-24 11:18
楼主你好!
如果你已经能够通过LUT直接操作PSRAM的读写,说明硬件方面没有什么问题了。
我不知道你是接在A1 ...

您好:
目前PORTA 是接NOR FLASH
PORTB 是接QSPI PSRAM

是透過SDK的FLEXSPI修改的CODE來對應QSPI PSRAM.

如果方便的話,在麻煩您給些建議!

感謝您
回复 支持 反对

使用道具 举报

该用户从未签到

3

主题

8

帖子

0

新手上路

Rank: 1

积分
32
最后登录
2020-10-23
 楼主| 发表于 2020-8-25 15:37:00 | 显示全部楼层
小恩GG 发表于 2020-8-24 11:18
楼主你好!
如果你已经能够通过LUT直接操作PSRAM的读写,说明硬件方面没有什么问题了。
我不知道你是接在A1 ...

目前設置PortA1 Flash 1MB、PortB1 PSRAM 2MB
AHB read沒問題,但write會產生MPU fault(MemManage_Handler)

PortB1應該是從0x60100000開始
以下read 沒問題,data也正確
data = *(uint32_t)0x60100000
write就會產生MPU fault
*(uint32_t)0x60100000 = data

deviceConfig中AWR與ARD都有設定,這2個LUT指令透過IP command都是運行正常!!!

請問為何,有何建議????? 能read 不能write????
回复 支持 反对

使用道具 举报

该用户从未签到

723

主题

6382

帖子

0

超级版主

Rank: 8Rank: 8

积分
25475
最后登录
2025-9-9
发表于 2020-8-25 17:13:52 | 显示全部楼层
timtangogo 发表于 2020-8-25 15:37
目前設置PortA1 Flash 1MB、PortB1 PSRAM 2MB
AHB read沒問題,但write會產生MPU fault(MemManage_Handle ...

你现在运行的代码是放在flash,还是在RAM?
你跑下RAM的flexSPI代码,然后对你的B1操作看看读写,是否有问题呢?
是否还是IP没问题,AHB有问题?
你使能了cache没有? 把cache关掉试试。
回复 支持 反对

使用道具 举报

该用户从未签到

0

主题

1

帖子

0

新手上路

Rank: 1

积分
6
最后登录
2023-7-4
发表于 2023-7-4 14:43:06 | 显示全部楼层
timtangogo 发表于 2020-8-25 15:37
目前設置PortA1 Flash 1MB、PortB1 PSRAM 2MB
AHB read沒問題,但write會產生MPU fault(MemManage_Handle ...

請問是否有範例可參考? 如何同時設定A1與B1使用Nor 與 psram?
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

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

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

GMT+8, 2025-9-9 13:06 , Processed in 0.084991 second(s), 24 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

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