How do I initilize two QSPI flash chips but only place one in Memory Mapped Mode?
I'm working on a system that requires the ability to do an Over The Air (OTA) upgrade. It's on a TouchGFX project, and the MCU is a 64K internal flash so the project exists on the QSPI flash in Memory Mapped Mode (MMM). I learned MMM is read only, so I can't store the OTA data on the QSPI chip that is in MMM. I'm setting up hardware to have a Dual Flash arrangment, where each flash has a unique Chip Select line.
My understanding of how MX configures a "Dual Flash" is so that the data is "stripped" with odd addresses on one chip and even addreses on the other. This is fantastic for accelerating data access, but not what I need.
I need to be able to MMM one chip and leave the other unmapped so that code from Bank1 can store large amounts of data into Bank2. Once the OTA data is all received I then need to either:
A) Copy data from Bank2 and overwrite the project in Bank1
B) Get the bootloader to change which bank it initilizes in memory mapped mode.
Looking at the initilization code it's not clear to me how I could go about initilizing the two QSPIs seperately so that I could talk to them each individually.
Any suggestions/ideas that can point me in the right direction would be most appreciated.