RT1064 Flash Remapping both FlexSPI addess spaces

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

RT1064 Flash Remapping both FlexSPI addess spaces

ソリューションへジャンプ
2,287件の閲覧回数
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 解決策
2,220件の閲覧回数
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 返答(返信)
2,226件の閲覧回数
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 件の賞賛
返信
2,221件の閲覧回数
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 件の賞賛
返信