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
解決済! 解決策の投稿を見る。
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
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
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