FPGA Intellectual Property
PCI Express*, Networking and Connectivity, Memory Interfaces, DSP IP, and Video IP
Intel Support hours are Monday-Fridays, 8am-5pm PST, except Holidays. Thanks to our community members who provide support during our down time or before we get to your questions. We appreciate you!

Need Forum Guidance? Click here
Search our FPGA Knowledge Articles here.
5881 Discussions

NIOS Bootloader - Determine length of .sof

Honored Contributor II



we are working on a dual NIOS system in Cyclone IV. The first NIOS is booted via the default EPCS bootloader. Once it is up, we implemented a second bootloader executed on the first Nios, that resets the second NIOS, copies the sections to the according location and afterwards takes the the reset signal. This all works very well.  


To keep it generic, we would like to find the beginning of the binary data for the second Nios - so not use a fixed address/offset in the flash. 

We looked at the assembler default bootloader implementation and how they determine the length of the sof-bitstream there. But somehow, if we try to recapture the procedure on a paper and a generated srec file of an .sof, we don't get the address we're supposed to. Which is the bootloader used for the Cyclone IV? The boot_loader_epcs_bits_sii_siii_ciii.S ? Seems like we're missing something. 


Did someone put his head around that? 


0 Kudos
2 Replies
Honored Contributor II

you might find this post is relevant 


Honored Contributor II

Furthermore, I observe that the altera boot loader requires some type of natural alignment of the elf image after the sof image. One can discover the magnitude of this offset using the -after option with elf2flash.