mtk手机线刷

mtk手机线刷
mtk手机刷机一般都是使用smart phone flash tool, 以我的mt6582为例,其刷机的界面如下图1所示

图1 MT6582刷机界面:

刷机流程如下图2所示:

图2 线刷镜像下载过程:


线刷流程
1、设备上电后,最先运行的就是BootROM的代码(BootROM是固化在手机内部芯片中的(应该是一个NOR Flash芯片), 其代码是无法通过刷机写进去的,是再出厂的时候就写好的,这一块的代码也没有在mtk的源码目录中出现,目前手中也没有BootROM的镜像。),BootROM首先初始化软件堆栈(software stack),通信端口和可引导存储设备(如NAND/EMMC) (图2步骤1)。
2、BootROM通过UART/USB可flash tool实现握手(这时候flash tool的download按钮应该已经处于按下状态了),并通过UART/USB下载DA代理(图2步骤2,3),DA就是Download-Agent,在图1中第一栏可以看到,这个DA是可以在刷机的时候指定的。在刷机时候,界面下方红色的进度条代表正在收入DA,如图: 

3、BootROM跳转到DA执行(图2步骤4)。
4、DA将其他文件下载到NAND/EMMC中(图2步骤5-10),其中下载preloader的时候是紫色的进度条,下载其他文件的时候是黄色进度条,如图: 
  
scatter中各个文件的作用
mtk刷机的时候需要指定一个scatter.txt文件,这个文件记录的是后续的文件分别复制到NADA/EMMC的什么位置,下面是从scatter.txt中摘抄的一部分。

- partition_index: SYS0
  //显示的分区名
  partition_name: PRELOADER
  //文件名
  file_name: preloader.bin
  is_download: true
  type: SV5_BL_BIN
  //在NADA/EMMC中的下载地址
  linear_start_addr: 0x0
  physical_start_addr: 0x0
  //这个文件的大小
  partition_size: 0xc00000
  region: EMMC_BOOT_1
  storage: HW_STORAGE_EMMC
  boundary_check: true
  is_reserved: false
  operation_type: BOOTLOADERS
  reserve: 0x00

  - partition_index: SYS10
  partition_name: RECOVERY
  file_name: recovery.img
  is_download: true
  type: NORMAL_ROM
  //在NADA/EMMC中的下载地址
  linear_start_addr: 0x3380000
  physical_start_addr: 0x2780000
  //文件大小
  partition_size: 0xa00000
  region: EMMC_USER
  storage: HW_STORAGE_EMMC
  boundary_check: true
  is_reserved: false
  operation_type: UPDATE
  reserve: 0x00
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
在图2中可以看到,scatter文件一共指定要下载12个分区,这些分区的作用如下:

PRELOADER: 内核在启动前的那一段平台相关的初始化代码,统称为bootloader,在mtk平台,PRELOADER和lk分别是bootloader的两部分,前一部分的PRELOADER主要是平台相关代码,后一部分LK主要是衔接操作系统的代码。
MBR/EBR1/EBR2: 可能是分区相关信息,还不确定???
UBOOT: 就是前面说的lk,botloader的第二部分代码,这里可以选择进入recovery模式,还是正常启动内核。
BOOTIMG: BOOTIMG是一个镜像,这个镜像是由一个目录打包而成的,这个目录中包含两个文件: 
一个是zImage,就是的内核镜像,这个镜像是未解压的,其核心的功能就是decompress_kernel,将真正的内核Image解压到内存的某个位置,然后跳转执行。在boot.img中搜索gzip的文件头(我这里zImage和ramdisk是通过gzip压缩的),第一个搜到的就是压缩后的Image,如图,这个位置属于zImage的区域,往前找找就可以找到zImage的代码头部了。 

另一个是ramdisk.img,这货又是个镜像,在系统启动的时候,这个ramdisk.img会被解压到内存,作为系统的根目录文件系统(可参考initrd实现)。在boot.img中搜索gzip文件头,第二个搜索到的就是ramdisk.img了,如图。 

RECLVERY: 是recovery模式的内核。
SEC_RO: 不知道是啥????
LOGO: 这货应该是开机画面
ANDROID: 是system.img
CACHE: 是cache.img
USRDATA: 是userdata.img 这里后续补充???????
mtk手机启动
mtk手机启动的总体流程如图3: 


BootROM启动[3]: 
BootROM是固化在芯片中的(应该是一个NOR Flash芯片), 其代码是无法通过刷机写进去的,应该是出厂的时候就写好的,这一块的代码,也没有在mtk的源码目录中出现。
设备上电后,最先运行的就是BootROM的代码(图3,步骤1)。
BootROM初始化软件堆栈(software stack),通信端口和可引导存储设备(如NAND/EMMC)(图3,步骤2)。
BootROM从存储器中(上面初始化的NAND/EMMC中)加载preloader到内部SRAM/ISRAM(高速缓存)中,此时DRAM(内存)还未初始化(在我这里preloader.bin大小114KB), 就是刷机图中的第一行”PRELOADER”哪一行。(图3,步骤3)
BOOTROM跳转到preloader入口处执行。(图3,步骤4)
preloader: 
preloader初始化DRAM和加载U-Boot(lk)到DRAM中。(图3,步骤5)
preloader跳转到U-Boot执行。(图3,步骤6)
U-Boot: 
U-Boot从NADA/EMMC中加载kernel(Boot image,包括zImage和ramdisk)。(图3,步骤7,8)
U-Boot跳转到zImage的入口执行,这里就可以算是linux kernel正式的入口了(此时还没执行decompress_kernel)。(图3,步骤9)
参考资料
[1].http://blog.csdn.net/loongembedded/article/details/38143289 
[2].http://blog.csdn.net/mcgrady_tracy/article/details/39340209 
[3].http://blog.csdn.net/loongembedded/article/details/38143289 
[4].http://yangguangwei1987.lofter.com/ 
[5].http://bbs.pediy.com/showthread.php?p=1390180 
[6].http://www.cnblogs.com/chyl411/p/3573047.html 
[7].http://blog.csdn.net/loongembedded/article/details/42808055

原文:https://blog.csdn.net/lidan113lidan/article/details/50127325 
 

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
vivo mtk6765线刷包是指适用于vivo手机搭载MTK6765芯片的固件包。线刷包可以用于刷写手机的系统,修复系统故障和问题,还原出厂设置或者升级系统版本。MTK6765芯片是联发科技公司推出的一款处理器,广泛应用于vivo手机手机设备中。 首先,使用线刷包需要具备一定的操作技巧和经验。刷写手机系统存在风险,如果操作不当可能导致手机数据丢失、变砖等问题。所以在使用线刷包之前,建议先备份手机中重要的数据和文件。 其次,获取到适用于vivo mtk6765芯片的线刷包。可以在vivo官方网站、论坛或者其他官方渠道下载到合适的线刷包。在下载线刷包之后,应该仔细阅读刷机教程,并确保所下载的线刷包版本与自己的手机型号相匹配。 然后,安装线刷工具,例如SP Flash Tool,将线刷包文件加载到工具中。通过将手机连接到电脑,并启动工具,按照教程指示完成软件刷机的操作。在整个刷机过程中,应该遵守工具和线刷包的指导,不要随意中断或取消刷机操作。 最后,刷机完成后手机会自动重启,重新进入系统。如果一切顺利,手机将恢复到线刷包的系统版本。在进入系统后,可以进行一些必要的设置和调整,以确保手机正常运行。 综上所述,vivo mtk6765线刷包可以解决一些系统故障和问题,但是刷机操作需要谨慎,建议在操作之前做好备份工作,并在安全可靠的环境下进行,以避免不必要的风险。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值