Showing results for 
Search instead for 
Did you mean: 

Max 10 remote update ICB memory

We have a Max 10 device set up to boot with dual compressed images and use the NIOS II to write new images over I2C to the UFM CFM0 and CFM1 on chip flash memory.


The setup is similar to this guide except using I2C instead of UART:


The problem is with the desired functionality to be able to "update"  over I2C from a pervious version that was configured to use a single uncompressed image to this new version that now has dual compressed images.


The single image version supports writing to the on chip flash and can write out the UFM CFM0 and CFM1 images just as they are on the dual image version but the system will not boot after doing this.


I believe the reason this fails is because of the inability to remotely update the ICB memory space. In this case the ICB settings in the old system would still indicate to boot from a single uncompressed image when in fact the flash memory has been written with dual compressed images.


What can I do to enable the NIOS to write to the ICB memory space so that it can be updated to correspond with the UFM and CFM0/1 images.

For reference the memory map of the POF for the dual image version is provided below:


ICB          0x00000000          0x00001FFF
UFM       0x00002000          0x00011FFF
CFM0     0x000BA000          0x00161FFF (0x00106917)
CFM1     0x00012000           0x000B9FFF (0x0005F147)

Tags (4)
0 Kudos
1 Reply


Unfortunately, remote updating the ICB is not supported. You will need to use JTAG to configured the flash to dual configuration mode.

So there is no way to remotely update the flash from single uncompressed mode to dual configuration mode.