Scatter file

概念

段(Section):分为输入段(Input-Section)和输出段(Output Section),是连接器操作的基本单位,段有三种属性,只读RO,读写RW,和Zero-Initialize(ZI,初始化为0的可读写数据)

Image(映像):连接器将目标文件(Object)和库(Lib)链接之后输出即是Image文件,Image通常是可执行的二进制文件(也可能是不可执行的资源文件),在Image中通常包含了只读的code和data,初始化的数据。

Load Region(加载区):在系统上电后,Image被加载到目标系统中(通常是bootloader将Image搬到RAM中),这个时候Image还没有开始执行(即内核文件还未解压),此时各个段子RAM中的区域就是Load Region。

Execution Region(执行区):系统上电加载到RAM中以后开始执行,这时内核就需要解压。内核解压就是要将RW数据和ZI数据在指定的区域进行初始化,初始化为指定的初始值或0,这些指定的区域就是执行区。另外RO

有多种方法可以将函数和数据放在特定的地址

如果需要,编译器通常从单个源文件生成ro、rw、zi和xo部分。这些部分包含源文件中的所有代码和数据。若要将单个函数或数据项置于固定地址,必须使链接器能够独立于输入文件的其余部分处理函数或数据。

1,您可以创建一个分散文件,该文件只需要

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值