I would like to configure a single Max 10 image and leave the other image intact. I found a post on this forum that discusses how to configure a single image in the Max 10. The Intel guy suggested using the on-chip flash ip core and a binary file (rpd) format. I looked through the documentation for the on-chip flash ip core, but didn’t see an obvious way to erase a single image. I see that I can erase pages and sectors, so that may be the way to accomplish what we want.
This is the post I am referring to:
If we used this system, we would have a dual boot configuration burned in. Image 0 would contain a bootloader and never get erased again after it leaves the factory. Image 1 would contain our main application that can be upgraded in the field. The bootloader application in image 0 must be able to erase and rewrite image 1 while still running. Is this possible? If so, can you provide some additional information about erasing and configuring only image 1?
Also, the app note referenced in the other forum post is using NIOS, but I am not using NIOS. I suspect I can stream the bits into the on-chip flash ip core any way I want once I have it instantiated. Is NIOS required for the on-chip flash ip core?
You can use the sector erase. When you initiate the IP, you will observed the sector ID indicated and you will need to follow the ID to erase the image you would like to erase.
For example if you enable all the UFM and CFM on the IP for dual compress image design:
- Sector 1 and 2 will be UFM
- Sector 3 and 4 will be CFM for Image 2
- Sector 5 will be CFM for Image 1.
So you just erase the Sector 5 if you would like to update Image 1.