I tried to run the hyper flash polling transfer example in the sdk_2.3.0_evk-mimxrt1050 on the MIMXRT1050-EVK board. I ran it in the debug mode, with no XIP. The code ran as expected. But when I changed it to a XIP project, it didn't work as expected. It just resets itself.
Looking at the code, I found a FLEXSPI_SoftwareReset function, which does a software reset. As a result whenever the code is run, it enters a loop where it resets itself. This function is called many times (during init, after flash erase, after flash program).
Since the code is running as XIP, I'm not sure, if we have to again initialize the FLEXSPI module, as in fsl_flexspi_nor_flash.c (in the XIP folder), I saw some FLEXSPI configurations.
How do we run the example code as XIP? Do we need to skip the initializations...?