AnsweredAssumed Answered

SHARC 21469 Second Stage Boot Loader Debugging Help

Question asked by spdavis on Mar 18, 2015
Latest reply on Aug 21, 2015 by Harshit.Gaharwar


I am trying to develop a second stage boot loader for the SHARC 21469 and MP25P16 flash.  I used the files from the EE345v01 (469_SSL) as a starting point.  Unfortunately, my version of 469_SSL is not working. It gets “stuck” forever processing READ_BOOT_INFO: and never reaches “final_init:”. I am hoping you can help me to get things working correctly.


To make things simple for debugging, the program 469_SSL is set to always execute “jump_load_application_serial:” (boot_kernel_serial.asm) which will load the application (che_simple.ldr) from location 0x00030000 in flash.


I have included screen shots of my debug session below.  The first screen shot is just after the initial execution of “call READ_THREEx32 in READ_BOOT_INFO:” and the second is after the second execution of READ_THREEx32.


My initial question is regarding the contents of R8, R2, and R3 after the initial read of the boot header. If the format of the boot section header is:

0x0000 0000  DDDD (D(data type tag))

0xAAAA AAAA LLLL (A(address), L(length)

Then based on the hex dump of che_simple.ldr (starting at location 0x600) I does not seem that the data in the registers correlates with the data in the .ldr file.


FIRST READ_THREEx32 Screen Shot:

3-18-2015 7-42-14 AM_First Boot Block.jpg


SCREEN SHOT of HEX EDIT of the .ldr file


3-16-2015 7-06-33 AM Che_Simple_Memory.jpg

The next iteration of READ_THREEx32 also does not seem to correlate with the .ldr file.



3-18-2015 7-46-54 AM_Second Boot Block.jpg


Am I interpreting how to read the boot section header correctly?  Any insight or thoughts  would be appreciated.





Update 3/19/2015 - I changed the address of memory section "seg_ldr1" from 0x08C200 to 0x0E0200 and now the second stage boot loader is working when loaded via the emulator.  However, when I burn the second stage loader into flash, it does not work.  I will be debugging the problem, but any suggestions appreciated.





Message was edited by: Stephen Davis


Update/3/27/2015 - SS Boot Loader is now working.  Problem was caused by using the default kernel.  Once it was built with our project kernel, it worked.






Message was edited by: Stephen Davis