设为首页收藏本站

移动叔叔

搜索
查看: 38394|回复: 0
打印 上一主题 下一主题

[分享教程] 深入了解MTK方案刷机之“Scatter”文件

[复制链接]
跳转到指定楼层
楼主
发表于 2012-11-9 11:49:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在MTK机器的固件中,发现与一般Android系统固件有一些不同的地方,比如固件根目录下有一个名为scatter.txt的文件,简单的打开看了下内容,看上去像是系统的分区信息,如果替换成不同机型的scatter.txt文件,刷机时会提示分区信息不匹配,删掉的话,会直接提示ota什么错误,看来是一个很关键的文件。因此我也在网上搜索一下相关资料,有兴趣的同学可以了解一下!


概述:

分散加载(scatter loading)是ARM 连接接器提供的一个机制,该机制可以把一个可执行映像文件(即Bin文件)分割放置到内存中不同的独立段。

映像(Image)文件有两个视图:加载视图(Load view) 和 执行视图(execution view)。在下载的时候Image regions被放置在memory map当中,而在执行Image前,或许你需要将一些regions放置在它们执行时的地址上,并建立起ZI regions。例如,你初始化的RW数据需要从它在下载时的在ROM中的地址处移动到执行时RAM的地址处。

在scatter 文件中可以为每一个代码或数据段在装载和执行时指定不同的存储区域地址, Scatlertoading的存储区块可以分成二种类型:
装载区:当系统启动或加载时应用程序的存放区。
执行区:系统启动后,应用程序进行执行和数据访问的存储器区域,系统在实时运行时可以有一个或多个执行区。
映像中所有的代码和数据都有一个装载地址和运行地址(二者可能相同也可能不同,视具体情况而定)。在系统启动时,C函数库中的__main初始化代码会执行必要的复制及清零操作,使应用程序的相应代码和数据段从装载状态转入执行状态。

您需要登录后才可以回帖 登录 | 注册

© 2008-2025 移动叔叔. 版权所有,专业的网络售后平台 ( 闽ICP备18006692号-3 )

商务合作点击这里给我发消息|Email:service@mobileuncle.com|手机版|移动叔叔     

GMT+8, 2025-1-15 17:12 , Processed in 0.191223 second(s), 13 queries , Gzip On, Memcache On.

返回顶部