Forum Discussion
Remote Update Controller - Problem
Hallo together,
I'm using an Cyclone iv. What I want to do is to switch between a factory image and a user image in epcs64. So I thought I could simply use the Remote Update Controller. I programmed the flash like this: 0x000000: Hardware_Image_1 0xxxxxxxx: Software_Image_1 ... 0x100000: Hardware_Image_2 0xxxxxxxx: Software_Image_2 Hardware_Image_1+Software_Image_1 are loaded correct over the epcs-controller (default boot copier). Software_Image_1 then induces a reconfiguration after a short time. Then Hardware_Image_2 is loaded (I can see that at some LEDs) but here comes the Problem: not Software_Image_2 but Software_Image_1 is loaded! (Hardware_Image_1 and Hardware_Image_2 are equivalent except the offset in flash and two LEDs. The Qsys System is the same). So is it right that I had to modify the default boot copier to load the right Software Image?? How could I do this? If my way of looking at this problem is right, I had to modify the default boot copier in the following way: 1) I had to identify in the boot copier which hw-image has been loaded. 2) If I had done this, I had to load the sw-image behind the hw-image which has been loaded. So, I have no idea how could I modify the default boot copier in this way. I hope someone could help me. Thanks for your Help!15 Replies
- Altera_Forum
Honored Contributor
Have a look at this application note (http://www.altera.com/literature/an/an458.pdf).
Hopefully you'll find what you need. - Altera_Forum
Honored Contributor
Thanks for the answer,
I know this document already, but this document gives me no idea how to modify the boot copier. Sadly it only describes the general procedure of booting. - Altera_Forum
Honored Contributor
There are some example files here (http://www.altera.com/literature/an/an458_design_example_files.zip) but I don't know what's exactly in them.
- Altera_Forum
Honored Contributor
I also know this example already, but it doesn't help me. :) This is only the example of the advanced boot copier...
Any other ideas? - Altera_Forum
Honored Contributor
Hallo together,
now I think I could modify the default boot copier. But the next problem followed quick. How can I insert my modifyed boot copier in the ram from the epcs controller? First I tried to change the *.hex file in the Qsys-Projekt directory. I overwrote it with the modifyed *.hex file. But it seems if the default boot copier is still used. Then I tried to modify the *.c sources of the boot copier, in the altera install directory. But no effect. So does somebodey know, how I can use my modifyed boot copier in epcs-controller (in the qsys system)? Thanks sim - Altera_Forum
Honored Contributor
Atleast with SOPC Builder the .hex file is copied every time you regenerate the system. So you have to copy your modified .hex after you have run SOPC Builder, but before you run synthesis. I guess but haven't verified that the same is true with Qsys.
/Johan - Altera_Forum
Honored Contributor
Now I got it!
The one key step is, to copy the .hex file in the root directory of the Project and NOT in the Qsys System directory where the original .hex File is located. After that, I had to do "Processing>Update Memory Initialization File" in Quartus II Menu and re-Compile the whole design! I assumed that Quartus would update such files on its own while compiling, but it doesn't seem so. Greets Sim - Altera_Forum
Honored Contributor
Hi sim,
How do you realize the offset of the user image (Hardware_Image_2 and Software_Image_2) within the EPCS64 during flash file generation? The Offset field in the Nios II flash programmer GUI denotes an offset with respect to the epcs_flash_controller. Where to specify the real offset in flash during file generation? regards - Altera_Forum
Honored Contributor
Sim, I face the same problems. What is your final bootloader source code. Could you post it?
Thanks in advance. - Altera_Forum
Honored Contributor
Hi
I am currently trying to do the same thing have found the same problem, the 2nd software image is not loaded. Can you supply me with information on how you fixed this.