Hi everyone (and particularly @jay_heng ),
I've been asked to see if there's a way to make at least some of our new RT1064 binaries (which execute from a QSPI at 0x70000000) execute from the same address as our old RT106x binaries (which execute from a QSPI at 0x60000000).
(1) I'm pretty sure that the RT106x has a special (AHB?) register to offset certain QSPI addresses (this is to enable bootloader code to switch between two (or more) separate binary images). However, I can't find the right combination of keywords to find it. What is this register called? I
(2) Would this special register be able to offset both of the QSPI address ranges (i.e. 0x60000000... and 0x70000000...) to a shared address, e.g. to 0x68000000?
Thanks,
解決済! 解決策の投稿を見る。
(1). I think you want AHB remap registers: IOMUXC_GPR_GPR30/31/32
https://www.cnblogs.com/henjay724/p/13510275.html
(2). No, Remap register can only work for one address region.
(1). I think you want AHB remap registers: IOMUXC_GPR_GPR30/31/32
https://www.cnblogs.com/henjay724/p/13510275.html
(2). No, Remap register can only work for one address region.
Hi Technical Ruffian @jay_heng
Thank very much for your answers - now I know that this is called "flash remapping", I have found (again) AN12255.pdf ( https://www.nxp.com/docs/en/application-note/AN12255.pdf ), as well as your very useful blog posts.
However, in the i.MX RT1060 Reference Manual, these three registers are global registers, i.e. not part of the AHB:
And because of this, I think the remapping would apply to both flexspi regions. So I am fairly sure I can use these three registers to do what I want:
So I think my problem is (potentially) solved.
Thanks very much!, Nick
RT106x contains two FlexSPIs, AHB start of FlexSPI(1) is 0x6000_0000, AHB start of FlexSPI2 is 0x7000_0000, it is defined by chip system.
RT1061/1062 XIP app can only start from 0x6000_0000 via FlexSPI1, RT1064 XIP app can only start from 0x7000_0000 via FlexSPI2, it is defined by chip BootROM.