After the previous processing, VDSP reports a warning to the link:
[Warning li2060] The following input section(s) that contain program code
and/or data have not been placed into the executable for processor 'p0'
as there are no relevant commands specified in the LDF:
corea.dlb[head.doj](.l1.text)
In Vmlinux.lds.s,. L1.text is placed in SDRAM and then marked with __STEXT_L1 and __ETEXT_L1 as follows:
.text_l1 L1_CODE_START : AT(LOADADDR(.init.ramfs) + SIZEOF(.init.ramfs))
{
. = ALIGN(4);
__stext_l1 = .;
LDS_L1_CODE
. = ALIGN(4);
__etext_l1 = .;
}
When the system is started, Uclinux's initialization code will copy the code in this section to L1, but I have used mode 1 to start, skipping this step, so directly in the LDF file. L1.text This segment in L1, as follows:
L1_code
{
INPUT_SECTION_ALIGN(4)
__stext_l1 = .;
__CORE = 0;
INPUT_SECTIONS($OBJECTS_CORE_A(L1_code) $LIBRARIES_CORE_A(L1_code))
INPUT_SECTIONS($OBJECTS_CORE_A(VDK_ISR_code) $LIBRARIES_CORE_A(VDK_ISR_code))
INPUT_SECTIONS($OBJECTS_CORE_A(cplb) $LIBRARIES_CORE_A(cplb))
INPUT_SECTIONS($OBJECTS_CORE_A(cplb_code) $LIBRARIES_CORE_A(cplb_code))
INPUT_SECTIONS($OBJECTS_CORE_A(noncache_code) $LIBRARIES_CORE_A(noncache_code))
INPUT_SECTIONS($OBJS_LIBS_INTERNAL_CORE_A(program))
INPUT_SECTIONS($OBJS_LIBS_NOT_EXTERNAL_CORE_A(program))
INPUT_SECTIONS($OBJECTS_CORE_A(program) $LIBRARIES_CORE_A(program))
INPUT_SECTIONS($LIBRARIES_CORE_A(.l1.text))
INPUT_SECTION_ALIGN(4)
__etext_l1 = (. + 3) / 4 * 4;
} > MEM_A_L1_CODE