MAX 10 Execute in Place Dual Image RSU CFM Issue
I have setup a MAX10 08 with dual image design and implemented a software stack to update the CFM1 with a new image.
When dual image is enabled memory initiation becomes disabled, so the NIOS II software must be placed in UFM0 and alt_boot copier enabled in the BSP. This is called execute in place. The system is working an boots fine.
My issue is that for a dual image design the flash is NEVER in an IDLE state.
alt_u32 status = IORD(ONCHIP_FLASH_0_CSR_BASE, 0);
2'b11 BUSY_READ always set so I cannot erase a region/sector and then write a new image.
ug_m10_ufm_User_Flash_Memory.pdf
The NIOS is running from UFM and I need to update CFM1, different flash sectors but part of the same on chip flash device.
For a single image design with memory initiation enabled I can successfully write to flash and update the bitstream.
Is there a way to update the flash when using execute in place?