This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Slaveloader issue with overlays



Hi There,

This issue has been reported by one of our customers. Please help.

As a part of our project on 814x, we are using slaveloader for loading DSP image from ARM. When we try to load DSP image which has overlaying code in it, slaveloader is not loading DSP image properly. The overlaid code is corrupted in load address area and is copied to run address during run time. But the same image can be loaded properly by CCS.

We are seeing this issue only when there is code overlay enabled in .cmd file.

 

Command file snippet is attached below

 

UNION run = L1PSRAM

  { 

         .text:ittiam_h264_mp_dec_ciram_1_1 : LOAD = DDR3_DSP, ALIGN = 128

                                     LOAD_START(g_h264_mp_dec_ciram_1_1_load_addr),

                              RUN_START (g_h264_mp_dec_ciram_1_1_run_addr),

                              LOAD_SIZE (g_h264_mp_dec_ciram_1_1_size)

              

       .text:ittiam_h264_mp_dec_ciram_1_2 : LOAD = DDR3_DSP, ALIGN = 128

                                     LOAD_START(g_h264_mp_dec_ciram_1_2_load_addr),

                              RUN_START (g_h264_mp_dec_ciram_1_2_run_addr),

                              LOAD_SIZE (g_h264_mp_dec_ciram_1_2_size)

  } 

 With the above, we are facing the issue as explained. But if there is no run (as shown below) DSP image is loading and working properly.

 /*UNION run = L1PSRAM

  { */

         .text:ittiam_h264_mp_dec_ciram_1_1 : LOAD = DDR3_DSP, ALIGN = 128

                                     LOAD_START(g_h264_mp_dec_ciram_1_1_load_addr),

                              RUN_START (g_h264_mp_dec_ciram_1_1_run_addr),

                              LOAD_SIZE (g_h264_mp_dec_ciram_1_1_size)

              

       .text:ittiam_h264_mp_dec_ciram_1_2 : LOAD = DDR3_DSP, ALIGN = 128

                                     LOAD_START(g_h264_mp_dec_ciram_1_2_load_addr),

                              RUN_START (g_h264_mp_dec_ciram_1_2_run_addr),

                              LOAD_SIZE (g_h264_mp_dec_ciram_1_2_size)

  /*}*/ 

 Is there anything we have to modify in salveloader code to make this work? Please let us know your comment on this issue.