Forum Discussion
Altera_Forum
Honored Contributor
16 years agoOkay sorry it's taken me so long to respond. So here is the way I do it:
1 - Modify the existing epcs bootloader and compile it. Then create a HEX file out of it (using elf2hex). 2 - In Quartus, use the assignment editor to override the "INIT_FILE" parameter of the RAM block located inside the EPCS controller. Give it the name of the HEX file you created that contains your bootloader. So from within Quartus: Assignments->Assignment Editor. The assignment type is "parameter". The parameter name is "INIT_FILE". Here is what an example from one of my QSF files looks like:set_parameter -name INIT_FILE trio_boot_loader_epcs.hex -to "trio_sopc:trio_sopc_inst|epcs_controller:the_epcs_controller|altsyncram:the_boot_copier_rom"
As far as an example of how to modify the bootloader, I've attached one of mine to this post but I'm afraid I don't have time to explain it and it's not documented. But feel free to ask questions. This specific one is for a Stratix II GX part and works in conjunction with my own remote_update core found here: http://www.alteraforum.com/forum/showthread.php?t=3658&referrerid=2226 I've tried to optimize it for my application so I've stripped out all the code that searched the SOF image looking for a device ID. Jake