找回密码
 注册
搜索
查看: 4992|回复: 36

[讨论] scatter file 是干什么用的?

[复制链接]
发表于 2009-6-10 16:32:15 | 显示全部楼层 |阅读模式
scatter file 是干什么用的?[em01]
发表于 2009-6-11 12:49:02 | 显示全部楼层
链接的时候用的
点评回复

使用道具 举报

 楼主| 发表于 2009-6-12 22:23:17 | 显示全部楼层
[em01][em01][em01], thanks
点评回复

使用道具 举报

发表于 2009-7-7 09:07:26 | 显示全部楼层
他用处太多了!!!
点评回复

使用道具 举报

发表于 2009-7-7 22:40:35 | 显示全部楼层
期待更加详细的回答。
点评回复

使用道具 举报

发表于 2009-7-15 16:49:12 | 显示全部楼层
[em01][em01]
点评回复

使用道具 举报

发表于 2009-7-21 09:48:54 | 显示全部楼层
回答的很好啊!
点评回复

使用道具 举报

发表于 2009-7-23 15:33:26 | 显示全部楼层
以下是引用jack16888在2009-7-9 19:46:30的发言:
scatter file是arm连接时候的输入,
a.o
b.o
*.scl
等文件,一起link后生成elf,bin,mbn等文件。这个文件的作用类似于arm linux的lds文件。

SCL文件主要用于连接时候提供memory地址空间的映射,scl文件确定后,连接的image在boot load的时候,会根据scl的地址把bin加载到sdram或iram等对应的位置上面。scl规划了bin文件的ZI,RW,RO在内存的分布情况。


顶一下
点评回复

使用道具 举报

发表于 2009-7-26 08:43:50 | 显示全部楼层
感谢6楼的那位,学习了
点评回复

使用道具 举报

发表于 2009-8-15 10:01:21 | 显示全部楼层
[em02][em01]
点评回复

使用道具 举报

发表于 2009-8-16 18:20:15 | 显示全部楼层
Mark!!!!
点评回复

使用道具 举报

发表于 2009-10-23 10:28:32 | 显示全部楼层
谢谢啦 学习了[em02]
点评回复

使用道具 举报

发表于 2009-12-10 22:43:48 | 显示全部楼层
good, good
点评回复

使用道具 举报

发表于 2009-12-12 14:44:15 | 显示全部楼层
顶一下.
点评回复

使用道具 举报

发表于 2009-12-13 21:51:11 | 显示全部楼层
代码空间的指定,arm help file 里有很祥细的说明
点评回复

使用道具 举报

发表于 2009-12-16 16:03:48 | 显示全部楼层
顶一下啊,6楼讲的很到位啊
点评回复

使用道具 举报

发表于 2010-4-26 13:34:57 | 显示全部楼层
以下是引用jack16888在2009-7-9 19:46:30的发言:
scatter file是arm连接时候的输入,
a.o
b.o
*.scl
等文件,一起link后生成elf,bin,mbn等文件。这个文件的作用类似于arm linux的lds文件。

SCL文件主要用于连接时候提供memory地址空间的映射,scl文件确定后,连接的image在boot load的时候,会根据scl的地址把bin加载到sdram或iram等对应的位置上面。scl规划了bin文件的ZI,RW,RO在内存的分布情况。


请教一下:
1.如何确定下载地址?
我的理解:FLASHTOOL会解析scattfile,把image分散下载到rom不同位置
2.如何确定运行地址?
既然搬运工作由bootload来完成,那它如何能确定某一个.o文件的运行地址,
scattfile并没有下载到手机中?
点评回复

使用道具 举报

发表于 2010-4-27 00:41:26 | 显示全部楼层
以下是引用Justinyue在2010-4-26 13:34:57的发言:


请教一下:
1.如何确定下载地址?
我的理解:FLASHTOOL会解析scattfile,把image分散下载到rom不同位置
2.如何确定运行地址?
既然搬运工作由bootload来完成,那它如何能确定某一个.o文件的运行地址,
scattfile并没有下载到手机中?

1.flashtool只关心存储地址,不关心运行地址,所以也不会关心scattfile
2.bootload根据scattfile来搬移data和text,其实也就是程序的链接地址,他不关心具体的.o,只关心程序的代码段,数据段,bss,等等
点评回复

使用道具 举报

发表于 2010-4-27 12:47:45 | 显示全部楼层
以下是引用dyyjun在2010-4-27 0:41:26的发言:


1.flashtool只关心存储地址,不关心运行地址,所以也不会关心scattfile
2.bootload根据scattfile来搬移data和text,其实也就是程序的链接地址,他不关心具体的.o,只关心程序的代码段,数据段,bss,等等


谢谢dyyjun.
1.flashtool只关心存储地址,不关心运行地址————这个可以理解;
  所以也不会关心scattfile----这个好像不对,因为每次下载前都要选择此文件,
  flashtool必 然使用了此文件,具体作用不知?
2.bootload根据scattfile来搬移data和code,-------BL如何和scattfile建立联系的(scattfileb并不存在手机中)?
  他不关心具体的.o,只关心程序的代码段,数据段,bss,等等————但bl有时确实需要将某些C中的ro_data搬到具体的位置,他是如何准确无误的定位搬运前地址及目的地址的?

望指教……
点评回复

使用道具 举报

发表于 2010-4-27 22:48:46 | 显示全部楼层
以下是引用Justinyue在2010-4-27 12:47:45的发言:


谢谢dyyjun.
1.flashtool只关心存储地址,不关心运行地址————这个可以理解;
                所以也不会关心scattfile----这个好像不对,因为每次下载前都要选择此文件,
                flashtool必 然使用了此文件,具体作用不知?
2.bootload根据scattfile来搬移data和code,-------BL如何和scattfile建立联系的(scattfileb并不存在手机中)?
                他不关心具体的.o,只关心程序的代码段,数据段,bss,等等————但bl有时确实需要将某些C中的ro_data搬到具体的位置,他是如何准确无误的定位搬运前地址及目的地址的?

望指教……

老实说我对MTK不是很熟悉,以下是我关于flashtool的猜想:flashtool可能需要从scattfile来提取一些信息来确定1.如何存储你的image,2.告诉bootloader如何load程序(可以作为参数存在flash的某个地方)。启动的时候所以bootloader可以根据这些信息把程序段搬到相应的位置,你所说的ro_data在scattfile一定也有定义,你最好仔细看看
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-10-6 20:30 , Processed in 0.054229 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表