RT1064 Flash Remapping both FlexSPI addess spaces

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

RT1064 Flash Remapping both FlexSPI addess spaces

跳至解决方案
1,706 次查看
scornelius
Contributor III

The issue:
On the i.MX RT1064, how do I individually set different address offsets for both the FlexSPI controllers?

I am using i.MX RT1064, and currently have a single bootloader in the internal 4MB FLASH (0x70000000 to 0x701FFFFF) off of FlexSPI2.
I also have two external 32MB QuadSPI FLASHes connected to FlexSPI1 (A1: 0x60000000 and A2: 0x620000000) loaded with different version of the same application.

From the bootloader, I can select the desired application using the IOMUXC_GPR_GPR30 - IOMUXC_GPR_GPR32.
We can also update any of the three images remotely.

All of that works seamlessly.

Now, I’m trying to change the bootloader to also support two versions in the internal memory.
One would start at 0x70000000, and the second at 0x70200000
From the second, I will still need to select between the two application, 0x60000000 and 0x62000000.

Again, the issue:
On the i.MX RT1064, how do I individually set different address offsets for both the FlexSPI controllers?

Are there separate control registers for FlexSPI2?

Thanks for any guidance.
  Steve

PS: I have read these documents: 
https://www.nxp.com/docs/en/application-note/AN12240.pdf
https://www.nxp.com/docs/en/application-note/AN12255.pdf

标签 (1)
0 项奖励
1 解答
1,639 次查看
scornelius
Contributor III

Thanks Melissa,

That's what I was afraid of: the hardware just can't do it.

I've been experimenting, and couldn't work around it.
My next attempt is to change the offset using a ram_funct.
So that I can offset within the internal QuadSPI, and select the external QuadSPI for application.

Thanks for the verification,
  Steve

在原帖中查看解决方案

0 项奖励
2 回复数
1,645 次查看
melissa_hunter
NXP Employee
NXP Employee

Hi Steve,

RT106x only has one set of FlexSPI remap registers. The intended usage is to only remap for FlexSPI1 or FlexSPI2 (not both). I guess in theory you could set the start address at 0x6000_0000 and the end address as 0x7000_0000 + flash size to cover both FlexSPI areas, but then there is still only one offset, so the offset you use would have to be the same for both FlexSPI controllers.

 

Regards,

Melissa

 

0 项奖励
1,640 次查看
scornelius
Contributor III

Thanks Melissa,

That's what I was afraid of: the hardware just can't do it.

I've been experimenting, and couldn't work around it.
My next attempt is to change the offset using a ram_funct.
So that I can offset within the internal QuadSPI, and select the external QuadSPI for application.

Thanks for the verification,
  Steve

0 项奖励