Hello,
I am trying to use the Secure Provisioning Tool to upload an XIP application to an Embedded Artists i.MX RT1062 board which uses the Adesto EcoXIP (ATXP032) for Flash.
Using MCUXpresso (and J-Link debugger) the application uploads and runs fine.
Switching to Secure Provisioning Tool (or MCUBootUtility) the application uploads, but cannot execute.
I am also using a custom flashloader.bin based on the MCUboot SDK example in MCUXpresso SDK 2.8.6
I used MCUBootUtility to read out the flash memory (from location 0x60000000) to compare the two images.
There are some substantial differences between the two methods.
Specifically, the Flash Device Config Block (which starts at 0x60000000) is different. Then the IVT, Boot Data and DCD sections (which start at 0x60001000) are also very different.
It seems that these differences cause the application to fail to run. I manually removed the boot header from an MCUExpresso based binary image and loaded it using Secure Provisioning Tool directly, and it did successfully execute from Flash (although very slowly). But this doesn't fix the FDCB section, which seems cause the poor execution performance.
It looks like the flashloader function "flexspi_nor_generate_config_block_adesto_octalflash" is responsible for setting up the FDCB section.
Here are some screenshots highlighting my findings:


Is it possible that the FDCB configuration for the Adesto Octal flash is incorrect or hasn't been updated in the SDK example for the flashloader?
thanks