news 2026/9/19 12:21:26

联发科SP Flash Tool线刷救砖全攻略:从BROM原理到实操避坑

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
联发科SP Flash Tool线刷救砖全攻略:从BROM原理到实操避坑

1. 刷机前必须搞清楚的几件事

1.1 这个工具到底能干什么

SP Flash Tool 是联发科平台设备专用的底层刷写工具,玩机圈里常说的“线刷”“救砖”“开DA”基本都绕不开它。它跟安卓系统里的 Recovery 卡刷完全是两码事——卡刷是在系统或恢复模式里跑脚本,而 SP Flash Tool 走的是芯片底层的 BROM(Boot ROM)和 Preloader 通道,只要芯片没物理损坏,哪怕设备黑屏、进不了系统、连 Recovery 都挂了,它照样能把固件写进去。

我接触这个工具最早是给一批 MT6580 方案的平板做批量恢复,后来陆续在 MT6735、MT6753、MT6765、MT6785 这些平台上都折腾过。它的核心能力就三块:整包固件烧写、分区单独读写、以及读写回读校验。整包烧写用于救砖和升级,分区读写用于提取或替换某个特定分区(比如只刷 boot 或 recovery),回读校验则是把设备里的数据读出来跟固件比对,确认写入是否完整。

适合看这篇内容的人,我大致分三类:一是手里有联发科方案手机、平板、机顶盒,设备变砖想自己救回来的普通用户;二是做维修、刷机业务的从业者,需要批量处理设备;三是搞嵌入式开发或安卓底层调试的工程师,需要往开发板上烧录镜像。不管你是哪一类,下面这些操作逻辑和避坑点都是通用的。

1.2 为什么联发科设备需要专门的刷写工具

这里得稍微讲一下联发科平台的启动链路,理解了才能明白 SP Flash Tool 为什么能救砖。联发科芯片上电后,第一段执行的代码是固化在芯片内部的 BROM,这段代码用户改不了也擦不掉。BROM 会去加载外部存储里的 Preloader,Preloader 再加载 LK(Little Kernel)和 boot 分区,最后才进安卓系统。

关键点在于:BROM 里内置了一个下载模式(Download Mode),只要设备上电时检测到特定条件,就会进入这个模式等待主机发送数据。SP Flash Tool 就是通过 USB 跟这个下载模式通信,把固件直接写进 eMMC 或 UFS 存储。所以只要 BROM 没坏、存储芯片没物理损坏,理论上任何软件层面的砖都能救回来。这也是为什么它比卡刷、比 ADB 侧载更底层、更可靠的原因。

但反过来,正因为它是底层写入,一旦操作失误——比如选错固件、中途拔线、写错分区——造成的后果也比卡刷严重得多。卡刷失败最多是系统起不来,线刷失败有可能把 Preloader 写坏,导致设备连下载模式都进不去,那就真成硬砖了。所以下面每一步我都会把“为什么这么做”和“做错了会怎样”讲清楚。

1.3 工具版本和驱动怎么选

SP Flash Tool 的版本选择有个基本原则:不是越新越好,而是跟你的芯片平台匹配。老版本(比如 v5.13xx 系列)对 MT65xx 老平台兼容性好,新版本(v5.19xx、v6.2xxx)对 MT67xx、MT68xx 新平台支持更完整。我实测下来,MT6765 和 MT6785 用 v5.1916 以上比较稳,MT6580 这种老芯片反而用 v5.1640 更少出问题。

驱动这块是新手最容易卡住的地方。联发科设备在下载模式下会枚举出一个特定的 USB 设备,Windows 需要装对应的 VCOM 驱动才能识别。驱动分两种:一种是 Preloader 模式下的 VCOM,一种是 BROM 模式下的 VCOM。设备正常进下载模式时走 Preloader,如果 Preloader 坏了会 fallback 到 BROM 模式,这时候需要另一个驱动。我建议把两个驱动都装上,省得关键时刻抓瞎。

注意:装驱动时如果系统提示“数字签名”问题,需要临时禁用驱动签名强制。这个操作在 Windows 高级启动里能设置,具体步骤网上很多,这里不展开。装完驱动后,设备管理器里应该能看到“MediaTek USB VCOM”或“MediaTek PreLoader USB VCOM”这样的设备,没有黄色感叹号才算正常。

2. 固件准备与文件结构解析

2.1 固件包的组成和识别方法

联发科固件包通常是一个压缩包,解压后里面有一堆 .img 文件和几个关键文本文件。最核心的是 scatter 文件,文件名一般叫 MT67xx_Android_scatter.txt 这种格式。这个文件相当于一张地图,告诉 SP Flash Tool 每个分区对应的镜像文件叫什么、起始地址在哪、分区类型是什么。没有 scatter 文件,工具就不知道往哪写。

固件包里常见的镜像文件有这么几类:preloader_xxx.bin 是预加载器,lk.bin 或 uboot.img 是引导程序,boot.img 是内核,system.img 是系统分区,userdata.img 是用户数据,recovery.img 是恢复模式。还有一些平台相关的分区,比如 md1img、scp、sspm 这些,不同芯片方案不一样。

拿到固件包后第一件事是核对版本。看 scatter 文件里的平台标识,比如 MT6765 的 scatter 里会写 platform: MT6765。如果固件包的平台跟你的设备平台对不上,千万别刷。我见过有人把 MT6735 的固件刷进 MT6737 的设备,结果 Preloader 不匹配,直接黑砖。核对方法很简单:设备拆开看主板上的芯片丝印,或者进系统后在设置里看关于本机,再或者用 ADB 命令读 ro.board.platform 属性。

2.2 scatter 文件的关键字段解读

scatter 文件是纯文本格式,用记事本就能打开。里面每个分区对应一个条目,关键字段有这几个:

  • partition_name:分区名,比如 preloader、boot、system。
  • file_name:对应的镜像文件名。
  • is_download:是否勾选下载,true 表示会写入,false 表示跳过。
  • type:分区类型,比如 SV5_BL_BIN、EXT4_IMG、YAFFS_IMG。
  • physical_start_addr:物理起始地址,这个一般不用改。
  • partition_size:分区大小,单位是字节。

我一般会重点看 preloader 和 boot 这两个分区的 file_name 是否正确,因为这两个写错最容易出问题。另外如果固件包里某个分区的镜像文件缺失,scatter 里对应的 is_download 要改成 false,否则工具会报错找不到文件。

提示:修改 scatter 文件前先备份一份原文件。有些固件包的 scatter 是加密或校验过的,改完可能导致工具不认。如果只是临时跳过某个分区,更稳妥的做法是在工具界面里手动取消勾选,而不是改文件。

2.3 固件完整性校验

固件下载来源五花八门,完整性校验这一步很多人会跳过,但我觉得很有必要。最简单的办法是对比文件大小和 MD5。正规渠道的固件包一般会提供 MD5 值,下载完用校验工具算一下,对不上就重新下。我遇到过好几次下载中断导致镜像文件损坏,刷进去之后设备反复重启,排查半天才发现是固件本身的问题。

另一个检查点是看镜像文件能不能正常挂载。system.img 这种 ext4 格式的镜像,在 Linux 下可以用 mount 命令挂载看看,能挂上说明文件结构没坏。Windows 下可以用一些镜像查看工具打开。如果镜像文件头都是乱的,刷进去肯定出问题。

3. 进入烧录模式的正确姿势

3.1 三种进入方式及适用场景

联发科设备进烧录模式(也就是下载模式)有三种常见方式,适用场景不一样:

第一种是按键组合。大部分手机是音量上+音量下+电源键,或者音量上+电源键。具体组合因机型而异,有的设备是音量下+电源,有的是三个键一起按。这种方式适合设备还能正常开机或能进 Recovery 的情况。

第二种是ADB 命令。设备能进系统且开了 USB 调试的话,执行adb reboot edladb reboot download就能直接进下载模式。这是最省事的方式,但前提是系统还能起来。

第三种是短接测试点。设备完全黑砖、按键没反应、ADB 也连不上的时候,只能拆机短接主板上的特定测试点,强制芯片进入 BROM 模式。这种方式需要拆机,风险较高,但救硬砖只能靠它。

我一般优先用 ADB 命令,其次按键组合,最后才考虑短接。短接虽然有效,但操作不当可能损坏主板,而且不同机型的测试点位置不一样,需要查对应的图纸。

3.2 判断是否成功进入烧录模式

怎么知道设备已经进了下载模式?最直接的判断是看设备管理器。设备连接电脑后,如果驱动正常,设备管理器里会出现“MediaTek USB VCOM”或“MediaTek PreLoader USB VCOM”设备。如果没出现,说明要么没进模式,要么驱动没装好。

另一个判断方法是看 SP Flash Tool 的状态。工具界面下方有个状态栏,设备成功连接后会显示“Mediatek USB VCOM”之类的信息。如果一直显示“Searching”或没反应,就是没连上。

注意:有些设备进下载模式后只停留几秒钟就会自动断开,这是正常的。联发科的下载模式有个超时机制,如果主机端没有及时发起通信,设备会自动重启回正常模式。所以操作顺序很重要:先在 SP Flash Tool 里点“Download”或“Read Back”,然后再让设备进下载模式,这样工具能第一时间抓住设备。

3.3 驱动安装的坑和排查

驱动问题是新手最大的拦路虎。我总结了几种常见情况:

  • 设备管理器里出现未知设备:说明驱动没装或装错了。需要手动指定驱动路径,指向 SP Flash Tool 安装目录下的 Drivers 文件夹。
  • 出现黄色感叹号:驱动装了但有问题,通常是签名问题或版本不匹配。卸载后重新装,或者换一个版本的驱动。
  • 设备一闪而过:设备进了下载模式但很快断开,导致驱动来不及加载。这种情况需要在设备进模式前就打开设备管理器盯着,一出现就立刻装驱动。
  • Win10/Win11 下驱动装不上:系统默认的驱动签名策略比较严,需要临时禁用。具体操作是按住 Shift 点重启,进高级启动选项里禁用驱动签名强制。

我个人的经验是,准备一个干净的 Win7 或 Win10 虚拟机专门用来刷机,驱动装好后做个快照,出问题直接回滚,比在主力机上折腾省心得多。

4. SP Flash Tool 实操全流程

4.1 工具界面功能分区说明

打开 SP Flash Tool 后,界面主要分几个区域。顶部是菜单栏和工具栏,有 Download、Read Back、Format 这几个主要功能入口。中间是 scatter 文件加载区和分区列表,加载 scatter 后会显示所有分区及其对应的镜像文件。右侧是下载配置区,可以设置下载速度、是否校验等参数。底部是状态栏和进度条。

工具栏上几个关键按钮:Download是开始烧写,Read Back是回读,Format是格式化。新手最容易误操作的是 Format,这个功能会擦除设备存储,用之前一定要确认清楚。我建议平时把 Format 相关的选项藏起来,避免手滑。

4.2 加载 scatter 与分区勾选策略

加载 scatter 文件后,工具会自动列出所有分区并勾选 is_download 为 true 的项。这时候不要急着点下载,先核对一遍:

  • preloader 是否勾选?如果只是刷系统分区,preloader 可以不刷,降低风险。
  • boot、system、userdata 这些是否对应正确的镜像?
  • 有没有哪个分区的镜像文件路径是空的或红色的?红色表示文件找不到,需要手动指定或取消勾选。

我的习惯是:救砖场景下全选,确保所有分区都写入;日常升级只勾选 boot、system、userdata 这几个,保留 preloader 和 lk 不动,减少变砖风险。如果是替换单个分区,比如只刷 recovery,那就只勾 recovery,其他全部取消。

提示:勾选分区时注意 userdata 分区。刷 userdata 会清空用户数据,如果设备里有重要资料,刷机前先备份。有些固件包的 userdata.img 是空的,刷进去相当于恢复出厂设置。

4.3 下载配置参数怎么设

下载配置区有几个参数需要关注:

  • Download Speed:下载速度,默认是 High Speed。如果刷机过程中频繁报错或断开,可以降到 Full Speed 或 High Speed 试试。速度越低越稳定,但耗时更长。
  • Storage Type:存储类型,一般选 Auto Detect 就行。如果设备是 eMMC 就选 eMMC,是 UFS 就选 UFS。选错了会报错。
  • Check Sum:校验和,建议勾上。写入完成后工具会校验数据,确保写入正确。
  • Battery:电池选项,一般选 Auto Detect。有些设备需要选 Without Battery 才能进下载模式。

我实测下来,Download Speed 用 High Speed 大部分情况没问题,但遇到质量差的 USB 线或老电脑的 USB 口,降到 Full Speed 成功率明显提高。USB 线尽量用原装或质量好的,劣质线是刷机失败的一大元凶。

4.4 开始烧录与进度监控

一切就绪后,点 Download 按钮,工具进入等待状态。这时候让设备进下载模式(按键或短接),工具检测到设备后会自动开始烧写。进度条会显示每个分区的写入进度,底部状态栏会显示当前操作。

烧写过程中有几个关键节点:Preloader 写入完成、boot 写入完成、system 写入完成。system 分区一般最大,耗时最长。整个过程中不要拔线、不要碰设备、不要关工具。我见过有人看进度条卡在某个百分比就以为死机了,强行拔线,结果 Preloader 写了一半,设备直接变硬砖。

如果进度条长时间不动(超过几分钟),先别急着拔线,看看工具底部有没有报错信息。有时候是某个分区写入慢,耐心等一下。如果确实报错了,记下错误代码,再决定下一步。

4.5 烧录完成后的首次开机

烧写完成后,工具会弹出提示框,显示“Download OK”或类似的成功信息。这时候先别急着拔线,等工具提示可以断开后再拔。拔线后,长按电源键开机。首次开机因为要初始化系统,时间会比平时长,可能几分钟到十几分钟不等,耐心等。

如果开机后卡在开机动画或反复重启,可能是固件不匹配或某个分区没刷好。这时候可以重新进下载模式,只刷 boot 和 system 试试。如果还是不行,可能需要换一个固件版本。

5. 常见报错与救砖实战

5.1 典型错误代码速查

SP Flash Tool 的报错信息有时候比较隐晦,我整理了几个常见的错误和对应处理方式:

错误提示可能原因处理方式
BROM ERROR: S_FT_NEED_DOWNLOAD_ALL_FAIL分区不完整或 scatter 不匹配检查 scatter 和固件包是否对应,全选分区重刷
BROM ERROR: S_DA_SDMMC_READ_FAILED存储芯片读取失败检查存储类型设置,换 USB 口或线
BROM ERROR: S_DA_EMMC_FLASH_NOT_FOUND找不到 eMMC确认设备是否真的进了下载模式,检查驱动
STATUS_EXT_RAM_EXCEPTION内存或存储异常降低下载速度,换 USB 口重试
BROM ERROR: S_SECURITY_SECURE_USB_DL_IMAGE_SIGN_HEADER_NOT_FOUND固件签名校验失败设备有安全启动,需要对应签名的固件

这些错误代码看着吓人,但大部分通过换线、换 USB 口、降速、重装驱动就能解决。真正麻烦的是 Preloader 写坏导致的硬砖,那种情况只能短接测试点进 BROM 模式救。

5.2 设备连不上电脑的排查思路

设备连不上是最常见的问题,排查顺序我一般是这样的:

  1. 确认设备是否真的进了下载模式。按键组合对不对?设备有没有震动或亮屏反应?有些设备进下载模式屏幕是全黑的,没有任何提示,只能靠设备管理器判断。
  2. 检查驱动。设备管理器里有没有新设备出现?有没有黄色感叹号?驱动装的是 Preloader 还是 BROM 版本?
  3. 换 USB 线和 USB 口。优先用主板后置的 USB 2.0 口,前置口和 USB 3.0 口有时候兼容性不好。线材用原装或质量好的,劣质线只供电不传数据的情况很常见。
  4. 检查设备电量。电量太低可能进不了下载模式,先充一会儿电再试。
  5. 换电脑或换系统。有些电脑的 USB 控制器跟联发科芯片兼容性差,换一台电脑可能就好了。

我遇到过最奇葩的一次是设备进下载模式后,设备管理器里一闪而过,根本来不及装驱动。后来发现是 USB 线的问题,换了一根线就稳定了。所以线材这个变量一定要优先排除。

5.3 硬砖救援:短接进 BROM 模式

Preloader 写坏之后,设备连下载模式都进不去,这时候只能短接。短接的原理是让芯片上电时强制进入 BROM 模式,绕过 Preloader。具体操作是拆机,找到主板上的测试点(一般是两个金属触点),用镊子或导线短接,然后连接电脑。

短接的时机很关键:先短接测试点,再插 USB 线,等工具识别到设备后再松开短接。松早了可能没进模式,松晚了可能烧坏测试点。不同机型的测试点位置不一样,需要查对应的维修图纸或论坛资料。

注意:短接操作有风险,可能损坏主板。如果设备还在保修期内,建议先联系售后。自己操作的话,确保镊子或导线不会碰到其他元件,短接时间尽量短。

5.4 刷机后的数据恢复可能性

很多人关心刷机后数据能不能恢复。这里说清楚:如果刷机时勾选了 userdata 分区,或者做了 Format,用户数据基本就没了。SP Flash Tool 的写入是底层覆盖,不是删除,理论上数据还在存储芯片上,但恢复难度极大,需要专业的数据恢复设备。

如果只是刷了 boot 和 system,没动 userdata,那用户数据还在。但系统版本变化可能导致数据不兼容,比如从安卓 9 升到安卓 10,应用数据可能读不出来。所以刷机前备份数据这一步,怎么强调都不为过。

6. 进阶技巧与经验总结

6.1 只刷单个分区的操作方法

只刷单个分区是日常用得最多的操作,比如只替换 recovery 或只刷 boot。操作方法是:加载 scatter 后,把所有分区的勾选取消,只勾选你要刷的那个分区。然后点 Download,设备进下载模式,工具只会写入这一个分区。

这种操作的好处是快、风险低。比如你想换个第三方 Recovery,只需要刷 recovery 分区,几十秒就完事,不用动系统和其他数据。但要注意:有些分区的写入有依赖关系,比如刷了 boot 但没刷对应的 system,可能导致系统起不来。所以刷之前要确认分区之间的兼容性。

6.2 回读固件备份原机数据

Read Back 功能可以把设备里的分区读出来保存成镜像文件,相当于给设备做备份。操作方法是:切到 Read Back 标签页,点 Add 添加一个回读项,设置起始地址和长度,或者直接选分区。然后点 Read Back,设备进下载模式,工具会把数据读出来。

这个功能在救砖前特别有用。比如设备还能进系统但你想刷机,可以先回读一份完整的固件备份,万一刷坏了还能刷回去。回读整个存储比较耗时,可以只回读关键分区,比如 preloader、boot、system。

6.3 批量刷机的效率优化

做维修或批量处理设备的话,一台一台刷效率太低。我的做法是准备多个 USB 集线器,每个口接一台设备,SP Flash Tool 可以同时开多个实例,每个实例对应一台设备。这样一次能刷好几台。

但批量刷机对电脑 USB 控制器压力比较大,建议用带独立供电的集线器,避免供电不足导致设备掉线。另外每台设备的固件要提前准备好,scatter 文件分别加载,避免搞混。

6.4 我踩过的坑和给你的建议

最后分享几个我实际踩过的坑。第一个是固件版本不匹配,有次给一台 MT6765 的设备刷了 MT6762 的固件,结果 Preloader 不兼容,设备直接黑砖,后来短接才救回来。所以固件平台一定要核对清楚,别嫌麻烦。

第二个是 USB 线的问题。有段时间我图省事用了一根便宜的线,刷十次有三次失败,换了原装线之后一次都没出过问题。线材这个钱别省。

第三个是驱动冲突。电脑上装过其他手机助手类软件后,USB 驱动可能被替换,导致 SP Flash Tool 识别不到设备。遇到这种情况,卸载冲突驱动,重新装联发科的 VCOM 驱动。

第四个是心态问题。刷机失败很正常,别慌。大部分问题都能通过重刷、换线、换口解决。真正救不回来的情况很少,除非是硬件损坏。保持耐心,一步步排查,基本都能搞定。

提示:刷机前把设备电量充到 50% 以上,避免刷到一半没电。刷机过程中不要运行其他占用 USB 的程序,比如手机助手、同步软件等。刷机完成后第一次开机耐心等,不要频繁断电重启。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/19 12:17:21

Java Web网上购书系统MVC实战:从Servlet职责到并发扣库存

简介:这份PDF是基于MVC设计模式的Java Web网上购书系统毕业设计论文,面向计算机专业毕业生、Java Web初学者及需要开展同类课题的开发者。论文从课题背景、MVC设计思想、系统总体设计到详细实现逐层推进,覆盖用户登录注册、图书查询、智能辨认…

作者头像 李华
网站建设 2026/9/19 12:16:12

Windows系统升级与全新安装全攻略:从备份到驱动优化

1. 升级前先想清楚:你要的是哪一种“升级”做Windows系统升级,最怕的不是操作复杂,而是方向搞错。很多人一上来就下载镜像重装系统,结果装完才发现应用全没了、驱动对不上、文件没备份,最后花一整天收拾残局。我做了这…

作者头像 李华
网站建设 2026/9/19 12:10:04

CSAPP网络编程:从socket到HTTP的完整学习笔记

1. 开端:一句“8.20 搁置,9.5 继续”背后的网络编程学习我在计划表里给 CSAPP 第11章网络编程留的时间是 8.20,结果当天被项目上的事打断,连书都没翻开。标题里那个“搁置”不是矫情,是真的没时间。到了 9.5 我重新打开…

作者头像 李华
网站建设 2026/9/19 12:09:53

IDM试用期重置原理与PowerShell激活脚本实战

1. IDM 试用期的本质:不是“到期”,而是“计时器重置失败”很多人以为 IDM 的 30 天试用期是某种硬编码的倒计时,一旦弹出“Trial expired”窗口,就等于被系统彻底封死,只能重装或付费。这种理解错得离谱——它直接导致…

作者头像 李华
网站建设 2026/9/19 12:08:43

Kimi-k2驱动Claude Code:高效AI编程助手配置方案

1. 项目背景与技术解析最近在开发者圈子里流传着一个相当有意思的技术方案——通过Kimi-k2驱动Claude Code实现更高效的代码生成与辅助编程。作为一名长期关注AI编程工具的开发者,我第一时间对这个方案进行了完整测试和验证,现在把可落地的配置方案和实测…

作者头像 李华
网站建设 2026/9/19 12:07:22

Gollum快速上手教程:3个命令搭建你的Git驱动Wiki

Gollum快速上手教程:3个命令搭建你的Git驱动Wiki 【免费下载链接】gollum A simple, Git-powered wiki with a local frontend and support for many kinds of markup and content. 项目地址: https://gitcode.com/gh_mirrors/go/gollum Gollum 是一个用 Rub…

作者头像 李华