U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录(11):bsz
来源:互联网 发布:电子现货交易软件 编辑:程序博客网 时间:2024/05/18 21:48
在VDSP程序中,有一个叫做bsz的段,其含义是
Controls placement of zero-initialized variable data
其实就是相当于u-boot.lds.s中的.bss段,所以我们可以将这个段放在.bss段中。
.bss
{
INPUT_SECTION_ALIGN(4)
__bss_start = .;
INPUT_SECTIONS($LIBRARIES_UBOOT(.sbss) $LIBRARIES_UBOOT(.scommon))
INPUT_SECTIONS($LIBRARIES_UBOOT(.dynbss))
INPUT_SECTIONS($LIBRARIES_UBOOT(.bss))
INPUT_SECTIONS($LIBRARIES_UBOOT(bsz))
INPUT_SECTIONS($LIBRARIES_UBOOT(COMMON))
__bss_end = .;
} > MEM_SDRAM
当然,这样做会引起链接器的一个警告:
[Warning li2131] "./u-boot.ldf":687 Input section(s) of incompatible init qualifier detected in the output section '.bss'
For more details, see 'linker_log.xml' in the output directory.
Li2131的解释是:
A section qualifier can be specified for an output section. The input sections mapped into the qualified output section should have a compatible initialization qualifier. The linker warns you if:
The section qualifier is not compatible with an initialization qualifier on an input section.
A section qualifier is on the output section and an input section without a qualifier is mapped into it.
No section qualifier is on the output section and an input section with a qualifier is mapped into it.
Section qualifiers that can be used in the .ldf file to qualify output sections are:
NO_INIT
ZERO_INIT
RUNTIME_INIT
SHT_NOBITS
引起这个警告的原因在于bsz段应该使用ZERO_INIT来进行修饰,当然,由于我们将这个段放在.bss中,在start.s中会对这个段中的数据清0,也可以达到同样的效果,所以尽可以忽略这个警告。
- U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录(11):bsz
- U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录(4):提示信息
- U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录(5):ENDPROC
- U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录(10):__xchg
- U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录(13):使用L1
- U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录(15):DECLARE_GLOBAL_DATA_PTR
- U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录(16):*cplb_add
- U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录(17): Entry.h
- U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录(18):const
- U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录(19):分号惹祸
- U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录(21):收工
- U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录(6):使用u-boot的crt代码
- U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录(7):改造u-boot.lds.s
- U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录:#if
- U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录(2): .macro
- U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录(3): 汇编空语句
- U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录:全文
- U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录(9):bool的问题
- Java线程总结
- 常用性能计数器说明
- 编程之美 - 潘爱民点评
- 写有效率的SQL查询(I)
- 北京印刷学院的在线教程
- U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录(11):bsz
- PwC 普华永道面试归来
- 写有效率的SQL查询(II)
- 编程之美 - 孟岩点评
- 写有效率的SQL查询(V)
- JNDI 笔记(一) 概述
- LINUX内核编程风格
- 编程之美 - 创作后记
- blog