AnsweredAssumed Answered

Linkport Booting for ADSP-21469

Question asked by kenfred on Oct 29, 2010
Latest reply on Nov 9, 2010 by DivyaS



I am attempting to boot a 21469 via linkport.  I have questions concerning the correct method for creating the loader file and how to use it to boot the DSP.


I have tried both the elfloader utility and the integrated IDDE tool (which is elfloader under the hood).  In my application's project options, I have told it to generate a loader file.  In the load options, I have selected "Link," "Binary,' and "32-bit."  I have made slight modifications to the default 21469 linkport boot kernel to disable the DDR2 initialization and assert some of the FLAGs for debugging purposes.  I do not have compression enabled.


My understanding is that the ldr file should be a combination of the boot kernel and application executables.  Is this correct?  When I build the boot loader and application .dxe's, their sizes are 4MB and 85MB, respectively.  When I build the application .ldr file (using the boot kernel .dxe), it is only 198KB!  This leads me to believe that my understanding of the ldr file or my method for generating the ldr file is flawed.  Any advice?


More info:


DSP Software:

-I have used a JTAG emulator to verify the correct operation of the boot kernel and the application code.


Host Software:

-After taking the DSP out of reset and waiting for the RESETOUT to be deasserted, I write 384 32-bit words (256 48-bit instructions) to the linkport, which I understand to be the boot kernel portion.  I have experimented with various ways of generating the ldr file in terms of host width and I am reasonably confident that the host is sending the bytes in the correct order order.

-After writing the boot kernel portion, it does not execute correctly, so it probably isn't loading properly.



-I have verified that the boot configuration pins indicate linkport booting.

-I have verified that the linkport 0 is being used (not linkport 1).

-I have verified (via logic analyzer) that the words are being sent to the linkport LSB first as expected.