http://www.right.com.cn/forum/thread-104977-1-1.html
先学习下编程器固件里面的内容:
编程器固件中包含uboot、fw和art。
uboot就像电脑的bios,是底层的管理系统;
fw就像电脑的操作系统,实现路由器的各种功能;
art就像电脑的无线驱动程序,是无线校验码;
uboot的长度为128KB(0x20000);art为64KB(0x10000);fw有2M(特别注意:一些路由器原厂固件是2M的!!)、4M和8M的区别,2M的为2048K(0x1c0000),4M的为3840K(0x3c0000),8M的为7936KB(0x7c0000)。在刷机之前要对要刷入flash的uboot、fw、art的文件长度用ultraedit或winhex进行校验。尤其是uboot,如果大小不对,千万不要尝试刷入,那是一定会变砖的。
uboot、fw和art在flash中的位置如下:
4M的FLASH:flash地址从0x000000~0x3FFFFF
ttl访问flash的地址从0x9F000000~0x9F3FFFFF
flash起始地址 |
TTL起始地址 |
flash终止地址 |
TTL终止地址 |
|
uboot |
0X000000 |
0X9F000000 |
0X01FFFF |
0X9F01FFFF |
fw |
0X020000 |
0X9F020000 |
0X3DFFFF |
0X9F3DFFFF |
art |
0X3F0000 |
0X9F3F0000 |
0X3FFFFF |
0X9F3FFFFF |
8M的FLASH:flash地址从0x000000~0x7FFFFF
ttl访问flash的地址从0x9F000000~0x9F7FFFFF
flash起始地址 |
TTL起始地址 |
flash终止地址 |
TTL终止地址 |
|
uboot |
0X000000 |
0X9F000000 |
0X01FFFF |
0X9F01FFFF |
fw |
0X020000 |
0X9F020000 |
0X7DFFFF |
0X9F7DFFFF |
art |
0X7F0000 |
0X9F7F0000 |
0X7FFFFF |
0X9F7FFFFF |
准备工作
1、从PCB版上上引出TTL线,一般有三根:TX RX和GND,对应主板上的标记,应该是TP-IN,TP-OUT,主板上焊点较大、覆盖面积较广的一般就是GND,有USB的,外壳连接的就是GND,可以从这些地方引出。
2、USB-TTL板或串口TTL板,装好驱动,在设备管理器中查出该设备占用的COM端口号,并将其属性设置中的速率改为115200
3、电脑IP设置192.168.1.2,网关255.255.255.0,掩码192.168.1.1,网线连接路由器LAN口和电脑网线接口。
4、需要的软件PUTTY。连接好TTL,打开PUTTY,点串口,端口改为上部查出的COM端口号,速率选择115200,点确定。如果接上路由器电源以后不出码,请交换ttl的Tx和Rx两线;如果出乱码,请查COM端口的速率是不是都是115200。
5、需要的软件tftp32。将固件放到tftp32同一目录,打开ftfp32,一般默认的server interface就已经是你的网卡IP地址(对于路由器uboot的远端地址不是192.168.1.2的,请按照5楼hhhjjj159 所说的,在TTL中断系统启动以后,输入setenv ipaddr 192.168.1.1;setenv serverip 192.168.1.*(电脑IP地址)命令)。
TTL刷固件的命令
了解以上地址信息以后,就可以利用以上信息在不拆FLASH的情况下利用TTL向FLASH写入编程器固件或者其中的某一部分。在插上路由器电源,屏幕开始出码的时候,迅速点击T、P、L三个字母,会中断系统的启动,光标停在提示符下,这时就可以输入刷固件的命令了。
命令如下:
2M的:
刷编程器固件:
tftp 0x80000000 full.bin
erase 0x9f000000 +0x200000
cp.b 0x80000000 0x9f000000 0x200000
刷uboot:
tftp 0x80000000 uboot.bin
erase 0x9f000000 +0x20000
cp.b 0x80000000 0x9f000000 0x20000
刷fw:
tftp 0x80000000 fw.bin
erase 0x9f020000 +0x1c0000
cp.b 0x80000000 0x9f020000 0x1c0000
刷art:
tftp 0x80000000 art.bin
erase 0x9f1f0000 +0x10000
cp.b 0x80000000 0x9f1f0000 0x10000
4M的:
刷编程器固件:
tftp 0x80000000 full.bin
erase 0x9f000000 +0x400000
cp.b 0x80000000 0x9f000000 0x400000
刷uboot:
tftp 0x80000000 uboot.bin
erase 0x9f000000 +0x20000
cp.b 0x80000000 0x9f000000 0x20000
刷fw:
tftp 0x80000000 fw.bin
erase 0x9f020000 +0x3c0000
cp.b 0x80000000 0x9f020000 0x3c0000
刷art:
tftp 0x80000000 art.bin
erase 0x9f3f0000 +0x10000
cp.b 0x80000000 0x9f3f0000 0x10000
8M的:
刷编程器固件:
tftp 0x80000000 full.bin
erase 0x9f000000 +0x800000
cp.b 0x80000000 0x9f000000 0x800000
刷uboot:
tftp 0x80000000 uboot.bin
erase 0x9f000000 +0x20000
cp.b 0x80000000 0x9f000000 0x20000
刷fw:
tftp 0x80000000 fw.bin
erase 0x9f020000 +0x7c0000
cp.b 0x80000000 0x9f020000 0x7c0000
刷art:
tftp 0x80000000 art.bin
erase 0x9f7f0000 +0x10000
cp.b 0x80000000 0x9f7f0000 0x10000