|
编译完成之后在uboot根目录下生成的uboot.lds是链接文件。链接器就是通过这个文件将成千上万的.o文件链接在一起,此文件是根据arch/arm/cpu/uboot.lds生成。uboot.lds中规定了整个uboot的程序入口点(此入口点可以在Makefile文件中进行了更改,将入口地址定位到了内存中0X87800000位置),链接器以这个入口点为基点,将各个.o文件中代码段.text、数据段.data、未初始化变量.bss段按照一定的顺序在内存中进行具体布局,然后由链接器最后生成.elf文件。那么什么是代码段.text、数据段.data、未初始化变量.bss段呢,参考以下说明: .text代码段通常是指用来存放程序执行代码的一块内存区域; .data数据段.通常是指用来存放程序中已初始化的全局变量的一块内存区域; .bss段通常是指用来存放程序中未初始化的全局变量的一块内存区域; 当然有的.o文件中不仅仅只有这三个基本数据段,还有其他的段和自定义的段。
|