reserve: 0x00
- partition_index: SYS23
partition_name: BMTPOOL BMTPOOL BM表示坏块管理(Bad block Manage)
file_name: NONE is_download: false type: NONE
linear_start_addr: 0xFFFF00a8 4095 physical_start_addr: 0x0
partition_size: 0x1500000 21M region: EMMC_USER
storage: HW_STORAGE_EMMC boundary_check: false is_reserved: true
operation_type: RESERVED reserve: 0x00
以上是原文件的内容
打开电脑自带的计算器
我用的是win7 所以点击 开始菜单→所有程序→附件→计算器
XP的好像是 开始→程序→附件→计算器
打开计算器 点击左上角的 查看→选择 程序员 再点击十六进制 XP的好像是选择科学型然后再选择十六进制
计算回读文件的长度必须要用十六进制计算
长度的计算就是结束地址减开始地址,不必一个一个的输入,只需复制粘贴即可,点击计算器菜单栏的 编辑 选项 即可复制粘贴。
这里特别说明,开始地址和结束地址前面那个0x 是不用输入的,也无法输入到计算器,所以只需复制0x 后面的数
既然MBR结束地址是0xc80000 那么就复制 c80000 再粘贴到计算器,然后再点击计算器上的 — 按钮 之后再把开始地址 c00000 复制粘贴到计算器,之后再点 = 按钮 然后就算出长度了。
每个英文后面的0x 就是开始地址,而下一个英文后面的Ox 就是结束地址
结束地址 减 开始地址 就等于 长度
这里可以看出preloader的开始地址是0x0 结束地址是0xc00000 MBR的开始地址是0xc00000 结束地址是0xc80000 MBR的开始地址就是preloader的结束地址
也就是说,下一个文件的开始地址就是上一个文件的结束地址 那么就把 c80000 - c00000 =80000
80000就是长度
计算出长度转换为十进制大小。
计算方法:在计算器“查看”菜单下,将计算器切换到“程序员”,输入对应分区的16进制数值,点“10进制”转化为相应的10进制数值;计算器切换成“科学型”,输入刚转换好的10进制数值(单位是Byte),除两次1024,即可得到分区大小(单位是MB)。
还有 完整的线刷包只需
回读PRELOADER,MBR,EBR1,UBOOT,BOOTIMG,RECOVERY,SEC_RO,LOGO,EBR2,ANDROID 这十个文件,
可以打开scatter_emmc.txt文件来看,在scatter_emmc.txt文件里, 有些地方显示__NODL,意思就是说不下载这些文件,所以不用回读,还有CACHE和USRDATA也不用回读
,它们分别是用户数据和缓存数据,太大并且每什么用。
一个分区的大小修改后,此分区后的分区地址也得修改。
(接下去的分区都是如上更改,一般需要调整的分区大小是CACHE, SYSTEM, USERDATA, OEM分区,分区起始地址要修改的是SYSTEM,USERDATA, OEM,PERSIST分区)
总之,具体情况具体分析!
上面所说的仅仅只是用我的手机做比例,计算内容不同,计算方法是相同的,不同手机的回读地址和结束地址都不同,要根据自己手机的scatter_emmc.txt文件计算