ScatterLoading嵌入式存储器类型_第1页
ScatterLoading嵌入式存储器类型_第2页
ScatterLoading嵌入式存储器类型_第3页
ScatterLoading嵌入式存储器类型_第4页
ScatterLoading嵌入式存储器类型_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

嵌入式存储器类型:T

MNand

FlashNor

FlashSRAM

SDRAM使用分散-加载机制,可以将可执行映像文件分成多个区域,然后分别为它们指定在存储器中的存储和执行位置T

M1.Scatter loading机制:——内存映射2.ARM映像文件image:库Image(ELF)链接源文件

目标文件编译下载T

MTTMM2.ARM映像文件image:映像文件组成:包含一个或多个域一个映像文件由一个或多个域(region)组成;一个域包含一个或多个输出段(output

section);一个输出段包含一个或多个输入段(input

section);一个输入段包含了目标文件中的代码或数据;2.ARM映像文件image:T

M输入段:用户程序文件中定义的段:代码+初始化的数据+应该被初始化为0的数据+没有初始化的数据RO(ReadOnly),RW(ReadWrite),ZI(ZeroInitialized),NOINIT(NotInitialized)输入段有三种类型:uRO:代码和常量段;uRW:带初始值的数据段;uZI:用零初始化的数据段(无初始值)2.ARM映像文件image:T

M例:用户定义的段AREARESET,CODE,READONLYAREADSEG1,DATA,READWRITEAREAHEAP,NOINIT,READWRITE2.ARM映像文件image:T

M输出段:编译器将多个属性相同的输入段按一定规则组合在一起,就构成输出段输入段的排放规律就是:RO RW ZI或NOINIT2.ARM映像文件image:T

M域:即输出段装载或执行的内存区域,是一片连续的内存空间。ARM映像文件的两种域:装载域:即可执行程序下载时的目标存储区域,也即执行前所在区域;执行域:程序执行时所在的存储区域2.ARM映像文件image:T

Mu

一个映像文件可以有多个装载域;

u

一个装载域可以有多个执行域;u

一个执行域可以有多个相同属性的输出段;

u

一个输出段可以来自多个目标文件中的相同属性的输入段1)用-RO和-RW命令选项定位运行区域

2)使用Scatter文件T

M3.ARM链接器的两种映射方法:1)只能用于较为简单的存储映射2)-ROexec-address1:指定RO段的执行地址3)-RWexec-address2:指定RW段的执行地址装载时,RO段装入基址为exec-address1中;RW段紧随其后;执行时,RO段不动,RW段会被复制到基址为exec-address2中,并在其后自动创建ZI段。T

M3.1用-RO和-RW命令选项定位运行区域6)链接器在链接时,会自动创建一些符号,这些符号可以在用户程序中引用,以定位用户代码或数据位置或用于检查运行时地址是否符合要求T

M3.1用-RO和-RW命令选项定位运行区域在复杂的嵌入式系统中,-ro–rw选项已不能满足要求,此时要使用Scatter文件指定存储映像3.2使用Scatter文件T

M*Load_region_name

Base_designator

[attribute_list]

[max_size]*{Exec_region1_name

Base_designator

[attribute_list]

[max_size]{module_selector_pattern

(input_selectors)}Exec_region2_name

Base_designator

[attribute_list]

[max_size]{...}*}4.Satter文件编写*语法:*装载域名称*起始地址*段属性*默认为ABSOLUTE*段长度*执行域名称*模块选择模式符*输入段选择器T

Mmodule_selector_pattern:T

M定义了一个文本字符串的匹配模式。匹配字符为*(多个字符)和?(单个字符)匹配时,不区分大小写,如:■disp*.o(+RO) :匹配所有以disp开始的.o目标文件作为输入段;*pmic.lib(+RW):匹配所有以pmic结束的.lib文件作为输入段; .ANY(+ZI):匹配所有前面未匹配到的输入段,并指定连接器自行安排该输入段的位置;input_selector_pattern:T

M定义了一个用逗号分割的模式列表。该列表中的每个模式定义了输入段名称或输入段属性的匹配方式:input_section_pat,[+]input_section_attrs,…,RO-CODERO-DATARO(=RO-CODE

+

RO-DATA)RW-DATARW(=RW-DATA)ZICODE(=RO-CODE)CONSTDATA(=RO-DATA)TEXT(=CODE/RO-CODE)DATA(=RW)BSS(=ZI)*+FIRST放到本执行域的开始位置*+LAST放到本执行域的最后位置T

M4.Satter文件编写举例T

MT

MT

M4.Satter文件编写举例T

M*LR_ROM1

0x30000000

0x02000000

{;

load

region

size_region*

ER_ROM1

0x30000000

0x02000000S3C2440.o

(RESET,

+FIRST).ANY

(+RO){;

load

address

=

execution

address**

}*

RW_RAM1

0x32

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论