2、SP_Flash_Tool基础操作:下载与安装、驱动配置、Scatter文件加载、DA文件选择、Download与Format操作详解
好,咱们正式开始动手了。SP_Flash_Tool,圈里人都叫它“刷机工具”或者“烧录器”。说实话,这玩意儿是我日常工作中打交道最多的工具之一,没有它,MTK的板子基本就是块砖。今天这一章,我把最基础的操作掰开揉碎了讲给你听。
2.1 下载与安装:别走弯路
工具去哪找?我个人习惯去MTK的官方在线平台(MediaTek Online)下载,或者找芯片代理商要。网上那些乱七八糟的版本,我建议你别用。为什么?因为有些改版工具会夹带私货,或者DA文件不匹配,烧着烧着就报错,很坑。
下载下来是个压缩包,解压就行。嗯,注意路径不要有中文和空格。我见过有人把工具放在“C:\Program Files (x86)\刷机工具\”下面,结果驱动死活装不上。说白了,Windows对中文路径的支持有时候会抽风,咱们做工程的,尽量避免这种不确定性。
2.2 驱动配置:卡住最多人的一步
驱动装不好,工具连不上手机,这是新手最容易卡壳的地方。MTK的驱动分两种:一种是Preloader驱动,一种是VCOM驱动(虚拟串口)。
怎么装?先把手机电池扣掉(如果是可拆卸电池),或者按住音量键插入USB。这时候设备管理器里会跳出一个带黄色感叹号的设备,那就是它了。
我曾经在一个项目里,因为驱动版本不对,折腾了整整一个下午。后来发现,Win10系统需要禁用驱动签名强制,才能装上老版本的DA驱动。你想想看,一个下午就耗在这上面,多冤。
驱动装好后,设备管理器里应该能看到“MediaTek Preloader USB VCOM Port”或者“MediaTek DA USB VCOM Port”。看到这个,恭喜你,驱动这关过了。
2.3 Scatter文件加载:烧录的“地图”
Scatter文件,说白了就是一张分区表。它告诉工具:你的芯片里有哪些分区(比如Bootloader、NV、System、UserData),每个分区起始地址是多少,大小是多少。
打开SP_Flash_Tool,点击“Scatter-loading”按钮,选择你项目编译出来的MTxxxx_Android_scatter.txt文件。加载成功后,工具界面会列出所有分区信息。
这里有个细节:分区名称前面的复选框。勾上的分区才会被烧录。我刚开始做的时候,有一次忘了勾“UserData”,结果开机后存储空间显示为0。嗯,这种低级错误,犯过一次就记住了。
2.4 DA文件选择:烧录的“引擎”
DA文件,全称是Download Agent。你可以把它理解成烧录过程中的“引导程序”。工具先通过USB把DA文件加载到芯片的SRAM里,然后DA再接管后续的烧录工作。
SP_Flash_Tool通常会自动匹配DA文件。但如果你用的是新芯片,或者工具版本太老,就需要手动指定。点击“Choose”按钮,选择对应平台的DA文件。比如MT6765平台,就用MTK_DA_SWSEC_v5.0.bin这类文件。
我记得有一次,客户拿了个工程样片过来,用最新的工具死活连不上。后来我换了个老版本的DA文件,一次就成功了。说白了,DA文件跟芯片的BootROM版本有对应关系,不是越新越好,匹配才是王道。
2.5 Download操作详解:把固件写进去
Download操作,就是烧录固件。操作步骤很简单:
- 加载正确的Scatter文件
- 确认DA文件已匹配
- 点击“Download”按钮
- 将设备(手机/开发板)连接到电脑
工具会自动检测设备,进入下载流程。你会看到进度条从红色变成黄色,最后变成绿色。绿色代表成功。
这里有个坑:Download操作会烧录所有勾选的分区。如果你只想更新某个分区(比如只更新Bootloader),那就只勾选那个分区,然后点击“Download”。不要全选,否则浪费时间。
2.6 Format操作详解:清空与重置
Format操作,说白了就是擦除。它会把芯片里的数据清空,让分区回到出厂状态。
SP_Flash_Tool提供了两种Format方式:
| 操作类型 | 作用范围 | 使用场景 |
|---|---|---|
| Format All | 擦除所有用户数据分区 | 恢复出厂设置、清除用户数据 |
| Format Whole Flash | 擦除整个Flash芯片 | 彻底清空、重新分区、救砖 |
我个人建议:非必要不点“Format Whole Flash”。为什么?因为一旦点了,连Preloader都会被擦掉。如果后续Download失败,你的设备就彻底变砖了,需要用更高级的工具(比如USB转UART)才能救回来。
我曾经在一个量产项目中,有个新来的同事误点了“Format Whole Flash”,结果整批50台设备全部变砖。后来我们用串口工具一台一台救,花了整整两天。你想想看,这个代价有多大。
2.7 实操建议:先Download再Format
很多新手会问:到底是先Download还是先Format?我的答案是:先Download,再Format。
为什么?因为Download操作本身会先擦除目标分区再写入。如果你先Format,再Download,相当于做了两次擦除,浪费时间。而且,如果Format后Download失败,设备就处于空片状态,连Preloader都没有,救起来很麻烦。
正确的流程是:
- 加载Scatter文件
- 点击Download
- 连接设备,等待烧录完成
- 如果需要清空用户数据,再单独做一次Format All
嗯,这个顺序是我踩过坑之后总结出来的。你照着做,能省不少事。