1-1-4 链接器脚本

来源:互联网 发布:alias软件安装 编辑:程序博客网 时间:2024/06/05 20:52

1.  程序由 段(SECTIONS)和堆栈(STACK)组成,而段(SECTIONS)包括四个部分,分别为:代码段(.text)、数据段(.data)以及bss段(.bss)

  1.1  代码段(.text):存放要执行的程序指令

  1.2  数据段(.data):存放已初始化的全局变量

  1.3  bss段(.bss)  :存放未初始化的全局变量

  1.4  栈  :存放局部变量

  1.5  堆  :存放malloc申请的空间


2.  设置起始地址  . = 0x30008000  /* 2440内存中的起始执行地址为0x30000000 */

                                  /* 但有32k用来保存TTB,真实执行起始地址未0x30008000 */

3.  对齐设置        . = ALIGN(4)  /* 2440为32bit,要对.text, .data, .bss设置四字节对齐 */

4.  使用变量  bss_start = .       /* 用来设置当前地址存放在一个变量中 */

              bss_end = .


/* 以下为链接器脚本范例代码,<tab>为table键 */

SECTIONS{<tab>. = 0x30008000<tab>. = ALIGN(4);<tab>.text :<tab>{<tab>start.o(.text)<tab>*(.text)<tab>}<tab>. = ALIGN(4);<tab>.data :<tab>{<tab>*(.data)<tab>}<tab>. = ALIGN(4);<tab>.bss_start = .;<tab>.bss :<tab>{<tab>*(.bss)<tab>}<tab>bss_end = .;}

        


0 0