AnsweredAssumed Answered

ADSP-SC587 adi_rom_boot() for Second Stage Load

Question asked by Yann90 on Jul 9, 2018
Latest reply on Jul 19, 2018 by Jithul_Janardhanan

HI,

I just start to develop a new firmware platform with ADSP-SC587, there are so many questions that i cannot figure it out.

For now, i foucsed on the program upgraded, here i met some issues, i wondered if anyone famaliar with ADSP-SC587 SSL function adi_rom_boot() ?

I have two project, one is Main code means APPLICATION, another one is Bootloader(bootloader is used to do the second stage load). I try to use the Bootloader code to flash the APPLCAITON code in the flash. In order to realize that, when the main code executes in some part, it was commanded to jump to Bootloader, i used function adi_rom_boot:

Here below part of my code:

 

/*Configuring the SPU secureP registers for boot peripheral to do secure access to memory*/

*pREG_SPU0_SECUREP106=0x3;

*pREG_SPU0_SECUREP82=0x3;

*pREG_SPU0_SECUREP5=0x3;

*pREG_SPU0_SECUREP162=0x3;

*pREG_SPU0_SECUREP88=0x3;

*pREG_SPU0_SECUREP89=0x3;

 

adi_rom_boot((void*) 0x60800000,0,0,0,0x80207);

return 0;

the pAddress is ox60800000, because i flashed the bootloader code with cldp.exe through ICE-1000 with an offset 0x800000. And the main code(APPLICATION) was flased into the same section, but the start address is 0x60000000.

the two project code was flashed into the same flash, but they have different spac.

In addition, the adi_rom_boot() was invoked in Core2, and the Bootloader code was also realized in Core2.

 

However, i have no idea why the main code cannot jump to the bootloader with fucntion adi_rom_boot((void*) 0x60800000,0,0,0,0x80207) ?????

i am not sure if there are some system file should be added into the project or there are some mistake in my code ?

Plus, i am not sure it necessary that the adi_rom_boot() should be invoked in Core0 ?

 

Please kindly to suppor new starter for ADI  DSP analog-admin

Outcomes