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.

Enable Secure Kernel in SYSBIOS

Other Parts Discussed in Thread: OMAPL138, SYSBIOS, OMAP-L138

I am in the process of upgrading an application for OMAPL138 from DSPBIOS 5_41_11_38 to SYSBIOS 6_41_01_36.

My upgraded application executes fine when loading into RAM with the debugger.

When booting from flash DSP never makes it to main.  I tracked down that it was failing during the Hwi_Module_startup in \ti\sybios\family\c64p\Hwi.c when writing to the register ISTP

    /* Initialize the vector table pointer, ISTP */
    ISTP = (UInt) Hwi_module->vectorTableBase;

My application begins execution with the secure kernel enabled. 

For DSPBIOS my .tcf configuration file contains the line

bios.GBL.ENABLE_SK = 1;

I did not have anything in my SYSBIOS .cfg to enable the secure kernel.  So I added the line

var BIOS = xdc.useModule('ti.sysbios.BIOS');
BIOS.useSK = 1;

Upon doing this I got an unresolved symbol ti_sysbios_family_c64p_Hwi_int0  in \ti\sybios\family\c64p\Hwi_asm.s62

I modified this this file to use _ti_sysbios_family_c64p_Hwi_int0 instead of ti_sysbios_family_c64p_Hwi_int0 and symbol is now resolved. (It was missing the _ )

Now I am getting warnings about relocation of Hwi_int2 and Hwi_int1.  Reference below.  I do not find much documentation on secure kernel with SYSBIOS.  My questions are:

1.  Is SYSBIOS compatible with the secure kernel?

2.  If so, are there more entries other than BIOS.useSK =1; required in the .cfg?

 warning:
   relocation type is static base-relative, but references symbol
   "_ti_sysbios_family_c64p_Hwi_int2" defined in section ".vecs"; references to
   section ".vecs" are not relative to any static base, so this relocation
   cannot be performed (type = 'R_C60BASE' (80), file =
   "C:/ngcc_sysbios_dev/Application/boot/stage3/cfg/pjt/Release/package/cfg/xgc
   onf_p674.src\sysbios\sysbios.a674<BIOS.obj>", offset = 0x00000008, section =
   ".text:_ti_sysbios_family_c64p_Hwi_Module_startup__E")
"C:/CCS_v6_0_1/bios_6_41_01_36/packages/ti/sysbios/family/c64p/Hwi.c", line 127:
 warning:
   relocation type is static base-relative, but references symbol
   "_ti_sysbios_family_c64p_Hwi_int1" defined in section ".vecs"; references to
   section ".vecs" are not relative to any static base, so this relocation
   cannot be performed (type = 'R_C60BASE' (80), file =
   "C:/ngcc_sysbios_dev/Application/boot/stage3/cfg/pjt/Release/package/cfg/xgc
   onf_p674.src\sysbios\sysbios.a674<BIOS.obj>", offset = 0x00000048, section =
   ".text:_ti_sysbios_family_c64p_Hwi_Module_startup__E")
warning: output file "./Debug/stage3.out" cannot be loaded and run on a target
   system
'Linking Binary...'