SECTIONS基本的命令语法

SECTIONS
{...secname start BLOCK(align) (NOLOAD) : AT ( ldadr ){ contents } >region :phdr =fill...
}
  • 这么多参数中,只有secname 和 contents 是必须的
  • start :表示将某个段强制链接到的地址(放到哪里去运行)
  • AT(addr):实现存放地址和加载地址不一致的功能,AT表示在文件中存放的位置(下载时的存放位置),而在内存里呢,按照普通方式存储。
  • region:这个region就是前面说的MEMORY命令定义的位置信息。

例如:

SECTIONS { firtst    0x00000000 : { head.o init.o }  //第一段为head.o init.osecond    0xB0004000 : AT(2048) { leds.o } //第二段leds.o放到2048位置处,链接到0xB0004000处运行
} 
. = 0x00000000;/*;从0x0位置开始*/. = ALIGN(4);/*代码以4字节对齐*/.text :{cpu/arm920t/start.o (.text) /*代码的第一个代码部分*/  *(.text)/*下面依次为各个text段函数*/}

链接脚本之SECTIONS相关推荐

  1. GNU链接脚本(06) - SECTIONS指令

    原文:https://github.com/iDalink/ld-linker-script/tree/master/06%20SECTIONS%E6%8C%87%E4%BB%A4 1.指令预览 *s ...

  2. uboot.lds链接脚本分析

     LDFLAGS += -Bstatic -T /board/smdk2410/u-boot.lds -Ttext 0x33F80000中-Ttext 0x33F80000是指定代码段text的首地址 ...

  3. STM32跑MicroPython的链接脚本分析

    一.链接脚本的简单常识   有时候我们很多文件需要链接到指定的区域,或者叫做段里面,比如在 Linux 里面初始化函数就会放到 init 段里面.因此我们需要能够自定义一些段,这些段的起始地址我们可以 ...

  4. arm-gcc链接器和链接脚本

    本文主要介绍了链接器和链接脚本的基本内容.主要偏向于入门级以及常见容易混淆的知识点. 1. 链接器介绍 在现在软件工程中,程序一般都比较复杂,通常由多个源文件组成.在编译的过程中会对这些源文件进行汇编 ...

  5. java中的导入gnu,GNU链接脚本使用

    GNU链接脚本使用 链接脚本主要作用是描述输入文件的section是如何映射到输出文件的内存布局中.通俗的讲法就是编译完成后的各个obj文件,按照哪种顺序放与bin的哪个地址中:同时将运行时变量符号与 ...

  6. RT1176-2(链接脚本)

    从链接脚本开始. 以hello_world工程为例:构建完工程打开Debug目录下的evkmimxrt1170_hello_world_demo_cm7_Debug.ld . INCLUDE &quo ...

  7. 链接脚本中的SECTIONS定义

    链接脚本用来指定目标文件生成输出文件时的规则,其中,必不可少的命令是:SECTIONS,它精确控制了输入段在输出文件中的顺序.位置和所在段.下面是在 SECTIONS 命令中定义一个段的完整语法: S ...

  8. makefile使用.lds链接脚本以及 $@ ,$^, $, 解析

    先来分析一个简单的.lds链接脚本 例1,假如现在有head.c init.c nand.c main.c这4个文件: 1.1 首先创建链接脚本nand.lds: 1 SECTIONS { 2 fir ...

  9. 软件构建之链接应用--链接脚本

    链接脚本的基本概念 链接脚本用于描述链接器如何将输入文件格式化为可执行的输出文件,所谓输入文件既为汇编后的目标文件(.o或.obj等结尾). 基本命令: ENTRY (Symbol) 用于设置程序第一 ...

最新文章

  1. python安装numpy-如何为python安装numpy和scipy?
  2. 一个跟jquery serializeArray()一起使用的函数,主要来方便提交表单。
  3. Allegro中元器件位号重排并反标回原理图
  4. 《.NET内存管理宝典》在京东上架销售啦!
  5. html5调用系统声音1s响一次_20款奔驰GLC260提车改柏林之声音响,音乐诉请,为爱发声!...
  6. 华为谷歌安装器 Android6.0,GO谷歌安装器华为
  7. TypeScript学习(二):任意类型及推论
  8. 酒店客房管理系统需求分析报告
  9. php和mysql防伪网站源码,2015年最新php+mysql防伪查询程序源码微信认证查询含7套模板...
  10. adb工具包的安装和使用方法
  11. 中文字体font-family常用列表
  12. Java项目:Springboot校园报修管理系统
  13. 世界各国时区表以及与北京时差
  14. 免费开源的拉曼光谱分析软件 Raman Spectral Analysis software
  15. C++/C补充知识点,数组,数组传参,二维数组传参打印三种发方法,正则表达式
  16. GeekOS操作系统课程设计 project1
  17. 【华为机试022】简单密码破解
  18. 图像评价常用指标(PSNR、SSIM、LPIPS 、FID、Recall)
  19. OpenGL入门:窗口开启、改变窗口背景颜色
  20. java oca_OCA - Java Test SE8 1Z0-808

热门文章

  1. 小程序审核失败:你的小程序涉及提供播放、观看等服务,请补充选择:文娱-其他视频类目。怎么解决呢
  2. 风控每日一问:合规管理、内部控制和全面风险管理有什么区别?
  3. python签到脚本_基于Python实现签到脚本过程解析
  4. oracle表空间datafile,orale tablespacedatafile -- oracle表空间
  5. CES2018,三星为何将MicroLED应用于电视而非手机?
  6. C语言校验 checksum
  7. 基于Ant Design vue框架之三 删除功能细分
  8. 《炬丰科技-半导体工艺》 高频磷化铟芯片晶圆级背面加工
  9. 多边形(polygon)
  10. SmartUpload综合