Forum Discussion
Hi,
When using the Dual Boot IP, you should enable the CONFIG_SEL pin options to determine which image the MAX 10 need to be boot up. Then use the config_sel_overwrite bit and config_sel bit to switch between the image 0 and 1 without power cycle.
Did you program the MAX10 with image 0 and image 1 from the beginning then whenever there is a failure in one of the image it should revert to the other image? How do you identify the difference between image 0 and image 1 in the first place? I suggest that you should have 2 different images showing different function for as image 0 and image 1 respectively. This would help to show different image being load into the MAX 10 when power up by CONFIG_SEL pin and by the Dual Boot IP.
1. Program the MAX 10 CFM0 and CFM1/2 with the .pof (2 different .sof file to help showing different image) via the Quartus programmer.
2. Then test the CONFIG_SEL pin to boot the MAX 10 with image 0 and image 1. This will show you the correct expected behavior.
3. Then using the Dual Boot IP, set the config_sel_overwrite bit and config_sel to switch image 0 and image 1.
a. In offset 1, write Bit 0 — set value 1 to this register config_sel_overwrite
b. In offset 1, write Bit 1— writes config_sel either with value 0 or 1 to load from configuration image 0 or 1 respectively.
c. In offset 0, write Bit 0 — set value 1 to trigger reconfiguration.
Regards,
Nooraini
You say "...use the config_sel_overwrite bit and config_sel bit to switch between the image 0 and 1 without power cycle.". If I power off the device then power on again which config selection option the device use? The config_sel_overwrite and config_sel bit or the physical CONFIG_SEL pin? I apply RSU to the CFM1 with overwrite and config_sel bit selection, then reconfig the device with reconfig bit. The code that my send works fine. But when I power on the device after power off the device starts from the old code in the CFM0.