--- Quote Start ---
Yes, you can do that to.
See one of my more recent posts regarding just this issue in another thread. There's some C code that implements a simple bootloader expecting the boot record payload to be located at a fixed offset in the EPCS device rather than just after the SOF.
Regards,
-- slacker
--- Quote End ---
You mean this post?
http://www.alteraforum.com/forum/showpost.php?p=100698&postcount=2 I already have to do a copy if there is an update application. It works as follows:
1. Boot factory configuration and factory (EPCS offset 0) application.
2. The factory application checks the remote update register and if it is the update configuration boot:
3a. It checks an onchip RAM address to see if the copy has been done. If the copy was not done, it copies EPCS (offset 0x100000) to SDRAM and runs the just-copied update application. This step also sets the magic onchip memory address for this "already copied" flag.
3b. If the copy was done, it does nothing, the update application is running.
4. If the remote update is in factory boot, it checks EPCS offset 0x100000 for an update application
5a. If an update configuration/application is present it reconfigures the remote update at EPCS offset 0x100000 which comes back in step 1 above.
5b. If no update configuration/application is present the factory application continues normally.
I want the EPCS bootloader to read the remote update register and load the application from offset 0 or offset 0x100000. It's a simple 4 line change to the bootloader. I was thinking to include the bootloader in the actual application code and place it in the bootloader EPCS memory, but it appears to not be able to be replaced.
It's a bit kludgey to have to run the update configuration and the factory application to do the copy, and then have the update check a RAM location to see if the copy has been done.
I know people have updated the bootloader to do this but they rebuilt the PTF/SOF or SOPCINFO. I want to change the bootloader without this change. Am I correct that this is impossible?
Thanks!
Bill