下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Arm系统中常⽤的段分类说明.textcode)。它通常是只读的。.datainitailizedglobal)和初始化了的静static)。它是可读可写的。.bssuninitailizedglobal)和未初始化的静态变量staticbssBlockStartedbySymbolbssdatabss段的变量的初值清零。.rodataconst)。它也是只读的。ARM的集成开发环境中,1Code.text段。2、只ROData.constdata段。ROReadOnlyROMFLASH等⾮易失性器件中。3、可读可RWDataReadWrite).data段。4ZIDataZeroInit.bssZI段。段,⽽在运⾏时,它必须重新装载到可读可RAM中。⼀可执⾏⽂件组成及内存映射在ADS下,可执⾏⽂件有两种,⼀种是.axf⽂件,带有调试信息,可供AXD调试⼯具使⽤.另⼀种是.bin⽂件,可执⾏的⼆进制代码⽂件。我们重点是讲描.bin⽂件的组成。我们把可执⾏⽂件分为两种情况:分别为存放态和运⾏态。1.存放态存放态是指可执⾏⽂件通过fromelf产⽣后,在存储介质(flash或磁盘)上的分布.此时可执⾏⽂件⼀般由两部分组成:分别是代码段和数据段。代码段⼜分为可执⾏代码段(.text)和只读数据段(.rodata),数据段⼜分为初始化数据段(.data)和未初始化数据段(.bss)。可执⾏⽂件的存放态如下:+-------------+-----------|.bss|+-------------+--数据段|.data|+-------------+-----------|.rodata||_____________|代码段|.text|+-------------+-----------2.运⾏态可执⾏⽂件通过装载过程,搬⼊到RAM中运⾏,这时候可执⾏⽂件就变成运⾏态。在ADS下对可执⾏代码各段有另⼀个名称:|...|+-------------+-----------|.bss|ZI段+-------------+--数据段|.data|RW段+-------------+-----------|.rodata||_____________|代码段(RO段)|.text|+-------------+-----------|...|装载前当可执⾏⽂件装载后,在RAM中的分布如下:|...|+-------------+--ZI段结束地址|ZI段|+-------------+--ZI段起始地址|保留区2|+-------------+--RW段结束地址|RW段|+-------------+--RW段起始地址|保留区1|+-------------+--RO段结束地址|RO段|+-------------+--RO段起始地址|...|装载后所以装载过程必须完成把执⾏⽂件的各个段从存储介质上搬到RAM指定的位置。⽽这个装载过程由谁来完成呢?由我们的启动程序来完成.⼆装载过程在ADS中,可以通过两种⽅式来指定可执⾏代码各段在RAM中的位置,⼀个是⽤armlink来指定,⼀种是⽤scatter⽂件来指定.RAM区的起始地址:0x30000000.1.armlink指定代码段地址我们通常的代码,只⽤指定两个段开始地址,RO段的起始地址和RW段的起始地址,ZI段紧接在RW段之后.⽰例见该部分的1.1.3.2.scatter指定代码段地址我们也可以通过scatter⽂件指定可执⾏⽂件各段的详细地址.Scatter⽂件如下:MYLOADER0x30000000;MYLOADER:为可执⾏⽂件的名称,可⾃定义;0x3000000:起始地址{RO0x30000000;RO只读代码段的名称;0x30000000:只读代码段的起始地址{init.o(Init,+First);Init代码段为可执⾏⽂件的第⼀部分.*(+RO);所有其它的代码段和只读数据段放在该部分}RW+0;RW:RW段的名称;+0:表⽰RW段紧接着RO段{*(+RW);所有RW段放在该部分}ZI+0;ZI:ZI段的名称;+0:表⽰ZI段紧接着RW段{*(+ZI);所有ZI段放在该部分}}3.ADS产⽣的各代码段宏|Image$$RO$$Base|/*RO代码段起始地址*/|Image$$RO$$Limit|/*RO代码段结束地址*/|Image$$RW$$Base|/*RW代码段起始地址*/|Image$$RW$$Limit|/*RW代码段结束地址*/|Image$$ZI$$Base|/*ZI代码段起始地址*/|Image$$ZI$$Limit|/*ZI代码段结束地址*/注意:在两个$$之间的名称,与scatter中指定的段的名称相同.4.装载过程说明当从NorFlash启动时,要把flash芯⽚的⾸地址映射到0x00000000位置,系统启动后,启动程序本⾝把⾃⼰从flash中搬到RAM中运⾏.搬移后的各段起始地址,由以上宏来确定.当从NandFlash启动时,S3C2410会⾃动把前NandFlash的前4k搬到S3C2410的内部RAM中,并把内部RAM的⾸地址设为0x00000000,CPU从0x00000000开始执⾏.所以,在nandFlash的前4k程序中,必须包含从NandFlash把BootLo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年双重预防机制建设试题附答案
- 2026年加气混凝土大板拼装工标准化作业考核试卷及答案
- 2025年公务员考试公共基础知识压轴试题及答案
- 2026农产品行业市场深度调研与发展趋势预测与投资前景分析报告
- 2026年《分析仪器的使用与维护》试题库附答案
- 2026中国区块链技术金融领域落地场景与合规路径研究
- 2026中国涡流泵行业价格战分析与盈利模式优化报告
- 2026能源项目行业市场供需分析及投资评估规划分析研究报告
- 2026年认证基础与管理体系认证基础试题(含答案)
- 2026年护师类之外科护理主管护师测试卷附答案
- 2026新疆乌鲁木齐市政环卫集团有限公司面向社会招聘5人考试备考题库及答案详解
- 2026年新教材人教版九年级上册英语Unit 3 Smart Learning 教案
- 2025南瑞集团有限公司招聘300人笔试历年常考点试题专练附带答案详解
- 2026贵州铜仁德江机场消防员岗招聘15人笔试备考试题及答案详解
- 2026年抖音内衣-泳衣类目准入考试高频原题+标准答案
- 2026年医院卫生监督所监督员高频面试题包含详细解答
- 建筑材料与检测说课
- 中耕植保机械课件
- 病理科建设与管理指南
- 七年级数学 去括号
- GB/T 9780-2013建筑涂料涂层耐沾污性试验方法
评论
0/150
提交评论