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

本文详细介绍了uCLinux在ADI ADSP BF561 DSP平台上的移植过程,针对链接警告[Warning li2060]进行了解析,并展示了如何调整LDF文件将.l1.text段正确放置于L1缓存中。

快乐虾

http://blog.youkuaiyun.com/lights_joy/

lights@hb165.com

本文适用于

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)

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值