uclinux-2008R1.5-RC3(bf561)到VDSP5的移植(33):.l1.text

快乐虾

http://blog.csdn.net/lights_joy/

[email protected]

本文适用于

ADI bf561 DSP

优视BF561EVB开发板

uclinux-2008r1.5-rc3(smp patch)

Visual DSP++ 5.0(update 5)

欢迎转载,但请保留作者信息

经过前面的处理后,VDSP报告链接的一个警告:

[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)

vmlinux.lds.s中,.l1.text是放在SDRAM中的,然后用__stext_l1__etext_l1做了标记,如下所示:

.text_l1 L1_CODE_START : AT(LOADADDR(.init.ramfs) + SIZEOF(.init.ramfs))

{

. = ALIGN(4);

__stext_l1 = .;

LDS_L1_CODE

. = ALIGN(4);

__etext_l1 = .;

}

在系统启动时,uclinux的初始化代码将把这一段区间内的代码复制到L1中运行,但是在我这里使用了模式1启动,跳过了这一步骤,因此直接在LDF文件中将.l1.text这个段放在了L1中,如下所示:

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

1 参考资料

uclinux-2008R1.5-RC3(bf561)VDSP5的移植(28)CONFIG_HZ(2009-1-15)

uclinux-2008R1.5-RC3(bf561)VDSP5的移植(29)cmdline_init(2009-1-15)

uclinux-2008R1.5-RC3(bf561)VDSP5的移植(30)WARN(2009-1-15)

uclinux-2008R1.5-RC3(bf561)VDSP5的移植(31)NR_CPUS(2009-1-15)

uclinux-2008R1.5-RC3(bf561)VDSP5的移植(32)start_kernel(2009-1-15)

你可能感兴趣的:(.net,Blog)