19.6 scatter文件

发布者:pi26最新更新时间:2024-07-30 来源: cnblogs关键字:scatter文件  映像文件 手机看文章 扫描二维码
随时随地手机看文章

一个映像文件里可以包含多个域(region),它们在装载和运行时可以有不同的地址。这个地址可以用armlink的两个参数来确定:

ro-base 设置代码段(RO)在装载域(load view)和运行域(execution view)里的地址。

rw-base 设置数据段(RW)在运行域里的地址。

实际上,当域的内存映射关系比较简单时,可以使用这两个参数,但它们不能处理更为复杂的内存映射(memeory map),在这种情况下,就要用分散装载(scatter loading)技术。

分散装载技术可以把应用程序分割成多个RO域和RW域,并且给它们指定不同的地址。这在嵌入式的实际应用中,有很大好处。在一个嵌入式系统中,Flash、16位RAM、32位RAM都可能存在于系统中,所以,将不同功能的代码定位在特定的位置大大地提高系统的效率。下面是最为常用的两种情况:

第一种情况:32位的RAM速度最快,那么就把中断程序作为一单独的运行域,放在32位的RAM中,使它的响应时间缩到最短,这在startup_M051.s文件中有体现。

第二种情况:将启动代码(bootloader)以外的所有代码都复制到RAM中运行。

那么,分散装载是如何实现的呢?它通过一个文本文件作为armlink的参数来实现,文件里描述了分散装载需要的两个信息。

①如何分散,就是输入段如何组成输出段和域:分组信息

②如何装载,就是装载域和每个运行域的地址是多少:定位信息

 

19.6.1 scatter文件简介

Scatter文件是一个文本文件,它描述了装载域和运行域的基本属性。

 

一、对装载域的描述

 

在scatter文件里,描述了装载域的名字、起始地址、最大尺寸、属性和运行域集合。其中最大尺寸和属性是可选的。如下例M051Simple.scf所示:

 

程序清单19.6-1 M051Simple.scf装载域

LR_IROM1 0x00000000  

{    

  ER_IROM1 0x00000000   

  {  

   *.o (RESET, +First)

   *(InRoot$$Sections)

   .ANY (+RO)

  }

 

  RW_IRAM1 0x20000000   

  {  

   .ANY (+RW +ZI)

  }

}

 

在上面的scatter文件里,装载域的名字为LR_IROM1,起始地址为0x00000000,包含两个运行域:ER_IROM1和RW_IRAM1。编写好这个scatter文件后,就可以作为armlink的参数来使用它。

 

二、对运行域的描述

在scatter里,描述了运行域的名字、起始地址、最大尺寸、属性和输入段的集合,如下例所示:

 

程序清单19.6-2 M051Simple.scf运行域

LR_IROM1 0x00000000 0x2000  

{    

  ER_IROM1 0x00000000 0x2000  

  {  

   *.o (RESET, +First)

   *(InRoot$$Sections)

   .ANY (+RO)

  }

 

  RW_IRAM1 0x20000000 0x1000  

  {  

   .ANY (+RW +ZI)

  }

 

 FLASH1 0x800 0x1F0

 {

    FLASH1 +0

    {

         Led1Ctrl.o

    }

 }

 

 FLASH2 0x1000 0xFF0

 {

    FLASH2 +0

    {

         Led7Ctrl.o

    }

 }

}

 

在这个文件里描述了两个运行域,分别为FLASH1 和FLASH2。FLASH1的起始地址为0x800,长度为0x1F0;Led1Ctrl.o里的所有代码和只读数据都放在这个运行域里,FLASH2亦然。

 

三、对输入段的描述

在scatter文件里,描述了输入段的模块名字(比如目标文件名)和输入段的属性(RO、RW、ZI等)。比如:uart.o(+ZI),其中,uart.o为模块名;+ZI为输入段的属性。模块名字可以用通配符号,比如:*。“*(+RO,+RW,+ZI)”表示所有的代码和数据段。


关键字:scatter文件  映像文件 引用地址:19.6 scatter文件

上一篇:19.8欠压电压值设定(BOD)
下一篇:19.5系统复位

推荐阅读最新更新时间:2024-11-12 19:36

使用混合示波器进行雷达分析
随着无线技术的应用日益普遍,设计工程师必须同时检测这两个领域的信号。混合域示波器的诞生从根本上改变了RF设计的调试与测试的方法,泰克在一台仪器中同时提供了示波器和频谱分析仪功能,并且提供独创的混合域触发与时间相关的信号分析。新的MDO4000 混合域示波器系列有助于工程师捕获时间相关的模拟、数字和射频信号,获得完整的系统级视图。目前已经有大量的资料描述MDO4000混合域示波器的结构及其可以怎样用于某些常见的应用,如RFID、Zigbee、蓝牙、WIFI、电源设计的噪声源查找、PLL锁相的过程、RF功率启动与关闭的瞬态信号跟踪、RFFE 等等,这里就不再赘述。本文将介绍如何使用MDO4104-6 分析宽带线性调频雷达系统。 图1
[测试测量]
使用混合<font color='red'>域</font>示波器进行雷达分析
什么是智能汽车第六
什么是智能汽车第六域? 在集中式EEA中,博世五大域划分最为经典:动力域(Power Train)、底盘域(Chassis)、车身域(Body/Comfort)、座舱域(Cockpit/Infotainment)、辅助驾驶域(ADAS)。 来源:博世 在佐思汽研的内部讨论中,提到了“手机域”这个概念(源自Flyme Link),但是最终认为:车手互联虽然越来越重要,但还不足以支撑一个“域”。 在研究上汽新四化时,发现零束科技和OPPO成立了生态域联合实验室,发布车-机跨端融合解决方案——“生态域”,融合零束银河全栈技术解决方案和OPPO潘塔纳尔系统的核心能力,实现架构互融、软硬件能力互享、数
[汽车电子]
国内首个“舱泊一体”平台量产上车,这家芯片公司抢跑「跨」新市场
国内首个搭载“舱泊一体”的车型已经正式上市,「年超350万辆」的潜在升级市场全面启动。 搭载“舱泊一体”计算平台的银河E5 近期,吉利旗下的纯电SUV银河E5正式上市,率先实现了“舱泊一体”计算平台的量产上车。据了解,该车搭载了基于芯擎科技“龍鹰一号”开发的单芯片“舱泊一体”解决方案,高效集成了AVM(全景环视系统)、APA全自动泊车等功能。 作为国内首款7nm智能座舱SoC芯片,这是“龍鹰一号”量产上车之后,又一次取得重要突破:基于该芯片开发的“舱泊一体”解决方案率先实现量产,并跟随银河E5全球同步上市——这是一个巨大的市场。根据《高工智能汽车研究院》数据显示,“舱泊一体”拥有年超350万辆的潜在升级市场,并以每年
[汽车电子]
国内首个“舱泊一体”平台量产上车,这家芯片公司抢跑「跨<font color='red'>域</font>」新市场
ARM基础知识教程(六): ARM映像文件
1.ELF格式文件的结构 1.1映像文件组成部分 **一个映像文件有一个或多个域组成 **每个域包含一个或多个输出段 **每个输出段包含一个或多个输入段 **各输入段中包含了目标文件中的代码和数据 输入段中包含了四类内容:代码、已经初始化的数据、未经初始化的存储区域、内容初始化成0的存储区域。每个输入段有相应的属性,可以为只读的(RO)、可读写的(RW)以及初始化成0的(ZI)。ARM连接器根据个输入段的属性将这些输入段分组,再组成不同的输出段及域。 一个输出段中包含了一系列的具有相同的RO、RW和ZI属性的输入段。输出段的属性与其中包含的输入段的属性相同。在一个输出段的内部,各输入段是按照一定的规则排序的,这将在1.3节
[单片机]
中央集成控雷达,新架构带来革命性变化
随着自动驾驶技术从高速公路扩展到城市道路,中国消费者对这项技术的熟悉程度和偏好开始对购买决策产生越来越大的影响。而感知系统作为智能汽车实现自动驾驶的关键组成部分,使用什么样的传感器,如何做好对周围环境的感知能力成了重要课题。感知系统的感知能力并不依赖于单一技术,而是需要一个完善的感知体系来支持。 集中式雷达系统是感知体系中的关键部分,通过多个外置毫米波雷达和集中式处理架构的应用,可以提高环境感知的准确性和稳定性。与单一传感器相比,这种架构能够克服特定情况下传感器的局限性,为智能汽车实现自动驾驶提供更全面、可靠的感知能力。 目前,主流的环境传感器主要包括视觉技术和传感器融合技术。通过综合利用多种传感器(如摄像头、雷达和激光雷
[汽车电子]
体验驱动vs功能驱动 软硬件解耦下的控设计思维转变
电子电气架构的未来是什么?中央计算机+区域架构或许是共识性的行业构想。 区域化域控架构下,目前流行的五大功能域将进一步融合,而舱驾合一则是其中被炒的最为火热的话题。 在座舱和网关领域业务水平趋于成熟的均联智行,已开始在智能驾驶领域展开布局,其业务扩张的力度,正取决于座舱业务同智能驾驶业务融合的可能性。 均联智行AD首席架构师汪浩伟看来,软硬件解耦的大趋势下,针对即将到来的“中央大脑”时代,车机设计将从以功能为核心转变为以体验为核心,用户思维和用户核心价值将成为智能驾驶落地量产的关键点。 图片来源:均联智行官网 功能域的下一步:舱驾合一? 汽车电子电气架构发展至今,分布式ECU已接近瓶颈,智能汽车集体迈
[汽车电子]
体验驱动vs功能驱动 软硬件解耦下的<font color='red'>域</font>控设计思维转变
汽车与OPSYS Tech签约,共同打造纯固态激光雷达
近日,华域汽车系统股份有限公司上海第一分公司(以下简称“华域上海分公司”)与以色列OPSYS Tech(以下简称“OPSYS”)正式签署协议,共同推进双方在激光雷达业务领域的技术合作。 据悉,经前期探索和多轮测试,合作双方明确以“纯固态+2D可寻址”为技术路线,并逐步优化了激光模组的技术性能,将为市场提供多种参数配置的激光雷达收发模组,结合整机优化设计、多场景验证及测试,并通过对多个收发模组的灵活组合,服务于不同整车客户对激光雷达的性能需求。 华域汽车与OPSYS Tech合作打造纯固态激光雷达;图片来源:华域汽车 华域汽车指出,通过对标市场竞品的情况来分析,此次公司与OPYSY共同打造的2D可寻址纯固态激光雷达具备
[汽车电子]
华<font color='red'>域</font>汽车与OPSYS Tech签约,共同打造纯固态激光雷达
1-7月座舱控市场份额TOP10榜单出炉,本土供应商抢占前排
相比智能驾驶,智能座舱成果易感知,成本相对可控,如今正迎来爆发式增长。盖世汽车研究院相关统计数据显示,今年1-7月,国内智能座舱整体渗透率已达到58.9%。 伴随此过程,智能座舱系统集成也在加速向域控制演进,座舱域控正逐步从高端车型向中低端车型渗透,规模化量产上车提速。 据盖世汽车研究院统计整理,今年1-7月,中国市场座舱域控前装交付量达到155.6万套,搭载率提升到14.1%。 供应商层面,抛开为特斯拉代工的和硕与广达,德赛西威拿下第三方供应商榜首。在此之外,镁佳科技、亿咖通、东软集团、车联天下等本土供应商也有不错成绩,渐成市场主力。 前三“身份”各不同,但都有“大佬”加持 于供应商企业而言,“背靠大树
[汽车电子]
1-7月座舱<font color='red'>域</font>控市场份额TOP10榜单出炉,本土供应商抢占前排
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved