zoukankan      html  css  js  c++  java
  • [国嵌笔记][018][链接器脚本]

    链接器脚本

    一个可执行程序通常由:代码段、数据段、bss段构成。在用于链接这个程序的链接器脚本中,反应的是这几个段的信息。

    创建链接器脚本

    1.创建链接器脚本  

    vim led.lds

    2.设置起始链接地址  

    . = 0x30008000

    3.对其设置  

    . = ALIGN(4);

    arm处理器在访问数据的时候是以4字节对齐的方式访问的,所以在存储数据时以4字节对齐可以提高访问效率

    4.使用变量  

    start_adr = .;

    使用变量保存下来的地址可以在程序中使用

    5.设置代码段的首文件  

    led.o(.text)

    通过设置首文件,保证一个文件在程序开始时被执行

    SECTIONS{
    	. = 0x30008000;   //"."表示当前地址,代码段之前的地址是起始地址,表示把起始地址设置成0x30008000
    	
    	. = ALIGN(4);   //"."表示当前地址,ALIGN(4)表示以4字节对齐,如果当前地址不能被4整除,则下一个地址加上一个偏移使之能被4整除
    	.text : //代码段
    	{   
    		main.o(.text)   //表示main.o在其他文件之前
    		*(.text)   //“*”表示所有文件,".text"表示代码段
    	}
    	
    	. = ALIGN(4);
    	.data : //数据段
    	{   
    		*(.data)   //“*”表示所有文件,".data”表示数据段
    	}
    	
    	. = ALIGN(4);
    	bss_start = .;   //设置变量bss_start等于当前地址
    	.bss : //bss段
    	{   
    		*(.bss)   //“*”表示所有文件,".bss"表示bss段
    	}
    	bss_end = .;   //设置变量bss_end等于当前地址
    }
    
  • 相关阅读:
    最全的机器学习资源整理
    论文写作技巧
    制造业期刊-ZT
    机器学习中的算法(2)-支持向量机(SVM)基础
    定语从句
    Digital Twin的8种解读!
    详解BOM用途分类及在汽车企业中的应用
    Intellij IDEA运行报Command line is too long解法
    计算机行业各种职业技能树
    invocationCount和invocationTimeOut
  • 原文地址:https://www.cnblogs.com/d442130165/p/4889564.html
Copyright © 2011-2022 走看看