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.