uclinux-2008R1-RC8(bf561)到VDSP5的移植(18):.init.text和.init.data

 

经过前述处理,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[coreA.doj](.init.text)
在uclinux内核中.init.*段是放在数据段的后面的,这样在系统启动完成后,这一段内存空间将可以进行回收,如下所示:
       ___init_begin = .;
 
       .init.text :
       {
              . = ALIGN(PAGE_SIZE);
              __sinittext = .;
              *(.init.text)
              __einittext = .;
       }
       .init.data :
       {
              . = ALIGN(16);
              *(.init.data)
       }
在这里用了___init_begin来存储初始化段的起始地址,但在符号定义只能放在段的内部,因此在LDF文件中相应修改:
 
        .init
        {
               ___init_begin = .;
 
               //.init.text
               INPUT_SECTION_ALIGN(4096)
               . = (. + 4095) / 4096 * 4096;
               __sinittext = .;
               INPUT_SECTIONS($LIBRARIES_CORE_A(.init.text))
               __einittext = .;
               
               //.init.data
               INPUT_SECTION_ALIGN(16)
               INPUT_SECTIONS($LIBRARIES_CORE_A(.init.data))
             
        } > MEM_SDRAM
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嵌云阁主

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值