Nios® II Embedded Design Suite (EDS)
Support for Embedded Development Tools, Processors (SoCs and Nios® II processor), Embedded Development Suites (EDSs), Boot and Configuration, Operating Systems, C and C++
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.

Advanced Boot Copier problem

Honored Contributor II


I am trying to use the Advanced Boot Copier for the NIOSII processor. I am using the JTAG UART to add debug statements when the Advanced Boot copier is running. I see the code getting into the "LoadFlashImage()". It gets in here, and then is able to successfully do a CopyFromFlash() to obtain the length value. It then is able to successfully do a CopyFromFlash() invocation again, and get the Address value. It then seems like the code is stuck and won't do anything else. 


In the AN-458.2 applicaition note, on page 9 there is a section that states to "Make sure the code space for the advanced boot copier does not overlap with the application's code space". How can i verify this. Do, i have to use the BSP editor tool to modify the BootCopier BSP, as well as the Application's Boot Copier? 


Any help would be greatly appreciated. 


Thank you, 

0 Kudos
2 Replies
Honored Contributor II

Firstly, run 'objdump -p' on the elf image you are trying to load and check the sizes (etc) of all the loadable sections. 

You might also want to check the format/contents of the data actually to flash (I've not done that - so don't know the format, I'd probably have used elf to save format convertions).
Honored Contributor II

In the app note, it states that the boot loader and the application will run from ram. So, I think the application is running from the same location from ram as the boot copier, and is overwriting the advanced boot copier from running, and maybe that is why the second boot copier is getting stuck. But, I don't know how to solve this. does anyone have any ideas on how to solve this?