Hi: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, Rohit
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).
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?