前言
自写完 从路由器真机提取固件包(一) 介绍如何通过 UART提取固件之后,一直没时间来写如何通过编程器提取固件。正好最近在看一款设备的时候,发现无法从官网下载到他的固件包,也无法通过串口拿到他的 shell,只能通过编程器提取他的固件。于是想起这篇算是鸽了很久的文章,现在来补写一下。
所用到的工具及设备
- CH341A编程器
- 转接板
- 芯片夹
- xxx 路由器
- 热风枪(x
前置知识
ROM芯片
固件一般存储在ROM中,ROM是只读存储器(Read-Only Memory)的简称,是一种只能读出事先所存数据的固态半导体存储器。其特性是一旦储存资料就无法再将之改变或删除。通常用在不需经常变更资料的电子或电脑系统中,并且资料不会因为电源关闭而消失。
编程器
读取Flash芯片,需要借助编程器,编程器又称烧录器、写入器、写码器,是专门用来对IC芯片进行读写、编程/烧录的仪器。本文会用 CH341A编程器读取此设备的固件。
编程器读取方式
(1)直接将导线连接到芯片的引脚,在通过导线连接编程器读取固件;
(2)把芯片拆下来,再连接编程器读取固件。
实操
找到flash并确定1号引脚
值得一提的是,有些flash不在开发板正面,因此可稍作留意。例如上面两幅图中样机的flash便是在PCB背面。1号引脚附近应该会有小标记,如图这个便是有一个小三角指向1号引脚,及偏右下角的那个引脚。
组装芯片夹、转接板与编程器
我这里用的是 SOP8的芯片夹。与转接板连接时,红色的线对准1号位置。再按图中位置固定到编程器上。
提取固件
最后把编程器插到电脑上,芯片夹夹住 flash 即可(红线对准有标记的部分)。此时如果设备的电源灯亮,即说明已经正确连接。此时打开 CH341A 编程器相对应的软件自动识别并提取固件即可,如果无法自动识别则可以通过 flash上印着的型号手动确定芯片类型即可。
参考链接
https://zhuanlan.zhihu.com/p/33527131
https://blog.csdn.net/weixin_39224267/article/details/124661034