zoukankan      html  css  js  c++  java
  • 链接器脚本

    SECTIONS {  

      . = 0x30008000;    //指定链接地址

      . = ALIGN(4);        //指定对齐方式4字节对齐

      .text :    //代码段

      {  

      led.o (.text)          //设置代码段首文件

      *(.text)               //表示所有文件的代码段

      }

        . = ALIGN(4);  

      .rodata : {*(.rodata)} 

      . = ALIGN(4);  

      .data : //数据段

      {

      *(.data) ////表示所有文件的数据段

      }    

      . = ALIGN(4);  

      bss_start = .;  //变量,bss_start表示当前地址

      .bss :     //bss段

      {

      *(.bss)   //表示所有文件的bss段

      *(COMMON)

      }  

      bss_end = .; //变量,bss_end表示当前地址

    }

    以上是led.lds文件的内容,通常链接器脚本以lds为后缀名

    文件格式:

    SECTIONS { 

    }

    ----------------------------------

    . = 0x30008000;

    . = ALIGN(4);

    .text :

    上面这些内容要以table键开头(vi编辑器设置 :set tabstop=4)

    SECTIONS { 

      . = 0x30008000;

      . = ALIGN(4);

      .text :

    }

    -----------------------------------------------

    一个可执行文件通常由:代码段、数据段、bss段构成。

    .text: //代码段

    {

    *(.text)   //所有文件的代码段

    }

    .data: //数据段

    {

    *(.data)  //所有文件的数据段

    }

    .bss: //bss段

    {

    *(.bss) //所有文件的bss段

    }

    -----------------------------------------

    链接器脚本可以进行下面的设置:

    1、起始链接地址

     . = 0x30008000;
     
     . = ALIGN(4);
     .text :
     {
     led.o (.text)
     *(.text)
     }

    使用反汇编工具(其中led.bin是使用本链接器脚本生成的可执行文件)

    arm-linux-objdump -D -S led.bin >dump

    查看led.bin的起始地址

    2、对齐

    . = ALIGN(4); //设置为4字节对齐

    3、定义变量

    bss_end = .; //变量,bss_end表示当前地址

    4、设置代码段的首文件

      . = 0x30008000;
     
     . = ALIGN(4);
     .text :
     {
     led.o (.text)  //led.o即为这个代码段的首文件
     *(.text)
     }

  • 相关阅读:
    eclipse快捷键
    Struts2框架(8)---Struts2的输入校验
    Struts2框架(5)---result结果集
    Spring框架(6)---AspectJ实现AOP
    Spring框架(4)---AOP讲解铺垫
    Spring框架(3)---IOC装配Bean(注解方式)
    Spring框架(2)---IOC装配Bean(xml配置方式)
    Spring框架(1)---Spring入门
    Mybatis框架(5)---动态sql
    Mybatis框架(4)---输入输出映射
  • 原文地址:https://www.cnblogs.com/zhangxuan/p/4679011.html
Copyright © 2011-2022 走看看