电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
电子发烧友网>电子资料下载>嵌入式开发>嵌入式软件开发之映像文件存储器映射调整分析

嵌入式软件开发之映像文件存储器映射调整分析

2017-10-19 | rar | 0.6 MB | 次下载 | 1积分

资料介绍

 13.4 映像文件存储器映射调整
  13.4.1 关于分散加载
  映像由域(Regions)和输出段(Output Sections)组成。每个域可以有不同的加载地址和执行地址。
  分散加载可以更加方便准确的指定映像存储器映射,为映像组件分组和布局提供了全面控制。它能够描述由载入时和执行时分散在存储器映射中的多个区组成的复杂映像映射。虽然,分散加载可以用于简单映像,但它通常仅用于具有复杂存储器映射的映像。
  要构建映像的存储器映射,必须向armlink提供以下信息
  · 分组信息:决定如何将各输入段组织成相应的输出段和域;
  · 定位信息:决定各域在存储空间的起始地址。
  有两种方法可以配置指定映像文件的分组和定位信息:如果映像文件中地址映射关系比较简单,可以使用命令行选项;如果映像文件中地址映射关系比较复杂的情况,可以使用一个配置文件。使用该配置文件可以告诉链接器相关的地址映射关系。配置文件又叫Scatter文件,是一个文本文件,通过下面的链接选项来实现。
  -scatter filename
  1.为分散加载定义的符号
  当armlink使用Scatter文件创建映像时,它创建一些区相关符号。表13.2概括了这些符号的意义。
  表13.2 域相关符号
  符 号意 义
  Load$$region_name$$Base域的载入地址
  Image$$region_name$$Base域的执行地址
  Image$$region_name$$Length执行域字节长度(4的倍数)
  Image$$region_name$$Limit执行区末尾地址
  Image$$region_name$$ZI$$Base执行域中ZI段的执行地址
  Image$$region_name$$ZI$$LengthZI输出段的长度(4的倍数)
  Image$$region_name$$ZI$$Limit执行域中ZI段的末尾地址
  2.使用Scatter文件的优势
  链接程序的命令行选项提供了一些对数据和代码布局的控制,但要实现对布局的全面控制命令行输入的指令是远远不够的。在下面一些情况下,就需要使用Scatter文件对映像布局进行控制。
  ① 需要实现复杂存储器映射
  系统中的代码和数据必须放在多个不同存储器区域中,这样连接器必须知道哪个段放在哪个储存器空间的详细信息。这种情况下,最好用Scatter文件实现代码映像的分散加载。
  ② 系统中存在多种不同类型存储器
  许多系统包含多种不同类型存储器,如flash存储器、ROMSDRAM和快速SRAM。分散载入描述可以将代码和数据放置在最适合的存储器类型中。例如,中断代码可能放在快速SRAM中,以加快中断响应时间,而不频繁使用的配置信息可能放在较慢的flash存储器中。
  ③ 存储器映射I/O
  分散载入描述可以将数据精确定位在内存地址中,而避免数据和内存映射外围地址相冲突。
  ④ 位于固定位置函数
  可以将特定函数放在存储器中的同一个位置,这样即使周围的应用程序已经被修改并重新编译,也可以使具有特定功能的函数地址保持不变。
  ⑤ 使用符号识别堆和栈
  可以为堆和栈的位置定义符号,链接应用程序时可以指定该封闭模块的位置。
  随着目前嵌入式系统越来越复杂,系统中可能同时使用flash、ROM和RAM,所以建议在生产系统映像时使用Scatter文件。
  3.分散加载命令行选项
  可以使用下面的命令行选项使用分散加载文件。
  -scatter description_file_name
  使用该命令可以使链接器使用命令中给出的description_file_name文件生成最终的映像文件。
  4.简单存储器映像举例
  例如,一个实际系统的存储器映射如图13.7所示。
  嵌入式软件开发之映像文件存储器映射调整分析
  图13.7 简单存储器映射
  为了实现图13.7的存储器映射,使用图13.8所现实的Scatter文件。
下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1TC358743XBG评估板参考手册
  2. 1.36 MB  |  330次下载  |  免费
  3. 2开关电源基础知识
  4. 5.73 MB  |  6次下载  |  免费
  5. 3100W短波放大电路图
  6. 0.05 MB  |  4次下载  |  3 积分
  7. 4嵌入式linux-聊天程序设计
  8. 0.60 MB  |  3次下载  |  免费
  9. 5基于FPGA的光纤通信系统的设计与实现
  10. 0.61 MB  |  2次下载  |  免费
  11. 6基于FPGA的C8051F单片机开发板设计
  12. 0.70 MB  |  2次下载  |  免费
  13. 751单片机窗帘控制器仿真程序
  14. 1.93 MB  |  2次下载  |  免费
  15. 8基于51单片机的RGB调色灯程序仿真
  16. 0.86 MB  |  2次下载  |  免费

本月

  1. 1OrCAD10.5下载OrCAD10.5中文版软件
  2. 0.00 MB  |  234315次下载  |  免费
  3. 2555集成电路应用800例(新编版)
  4. 0.00 MB  |  33564次下载  |  免费
  5. 3接口电路图大全
  6. 未知  |  30323次下载  |  免费
  7. 4开关电源设计实例指南
  8. 未知  |  21548次下载  |  免费
  9. 5电气工程师手册免费下载(新编第二版pdf电子书)
  10. 0.00 MB  |  15349次下载  |  免费
  11. 6数字电路基础pdf(下载)
  12. 未知  |  13750次下载  |  免费
  13. 7电子制作实例集锦 下载
  14. 未知  |  8113次下载  |  免费
  15. 8《LED驱动电路设计》 温德尔著
  16. 0.00 MB  |  6653次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935054次下载  |  免费
  3. 2protel99se软件下载(可英文版转中文版)
  4. 78.1 MB  |  537796次下载  |  免费
  5. 3MATLAB 7.1 下载 (含软件介绍)
  6. 未知  |  420026次下载  |  免费
  7. 4OrCAD10.5下载OrCAD10.5中文版软件
  8. 0.00 MB  |  234315次下载  |  免费
  9. 5Altium DXP2002下载入口
  10. 未知  |  233046次下载  |  免费
  11. 6电路仿真软件multisim 10.0免费下载
  12. 340992  |  191185次下载  |  免费
  13. 7十天学会AVR单片机与C语言视频教程 下载
  14. 158M  |  183278次下载  |  免费
  15. 8proe5.0野火版下载(中文版免费下载)
  16. 未知  |  138040次下载  |  免费