WR703N TTL刷机过程

启动BOOT控制台

不同BOOT进入控制台的方式不同,请根据BOOT启动时输出的提示进行操作。

  • 将WR703N通过TTL线(串口线)连接到PC端。
  • 通过SecureCRT使用该串口。
  • 启动路由器,会在SecureCRT中看到如下输出:
    WR703N TTL刷机过程_第1张图片
  • 在倒计时按任意键可进入BOOT的控制台模式,如果没有按键则自动加载运行系统固件代码,从BOOT输出也可以看出系统固件地址是在“0x9F020000”的位置。
  • 启动BOOT控制台,会看到如下输出:
    WR703N TTL刷机过程_第2张图片

操作BOOT控制台

不同BOOT的命令名称可能不同,请根据实际名称进行输入。

  • 输入“help”命令,就可以看到该BOOT支持的命令。
    WR703N TTL刷机过程_第3张图片
    其中“printenv”、“tftpboot”、“erase”、“cp”、“bootm”命令是后面依次会使用到的。
  • 输入“printenv”命令查看当前BOOT的网络配置,主要是查看TFTP的服务器IP(BOOT的TFTP程序是作为客户端,因此需要知道TFTP的服务器地址)。
    WR703N TTL刷机过程_第4张图片
    这里可以看出服务器IP是“192.168.1.2”。
  • 将PC的IP地址修改为看到的服务器IP(PC端作为TFTP服务器,BOOT是TFTP客户端)。
    WR703N TTL刷机过程_第5张图片
  • 使用网线连接路由器和PC。
  • 将系统固件重命名为“sys.bin”,并放在TFTP服务器软件的同级目录下(系统固件重命名的目的是缩短文件名,简化后续命令输入操作,不重命名亦可)。
    WR703N TTL刷机过程_第6张图片
  • 在PC端运行TFTP服务器软件“tftpd32.exe”(软件从这里下载),只要打开即可,不需要做任何设置。
    WR703N TTL刷机过程_第7张图片

刷机流程

这里是以4M大小的固件为例,如果是8M大小的固件,则大小需要改为“0x7c0000”。

  • 在BOOT控制台输入“tftp 0x80000000 sys.bin”,意思是调用tftp程序从TFTP服务器上将“sys.bin”这个文件传输到路由器的内存地址“0x80000000”处。
    WR703N TTL刷机过程_第8张图片
    固件传输过程会有进度条效果,传输完成后会显示“done”。
  • 在BOOT控制台输入“erase 0x9f020000 +0x3c0000“,意思是从FLSAH地址0x9f020000开始,擦除大小为0x3c0000大小的区域。
    WR703N TTL刷机过程_第9张图片
    擦除过程会有进度条效果。
  • 在BOOT控制台输入“cp.b 0x80000000 0x9f020000 0x3c0000”,意思是将内存地址“0x80000000”地址的数据复制到FLASH地址“0x9f020000”中,复制的数据的大小为“0x3c0000”。
    这里写图片描述
    数据复制过程没有进度条效果,请不要以为是没反应,数据复制完成后会显示“done”,请耐心等待。
  • 在BOOT控制台输入“bootm 0x9f020000“,意思是从“0x9f020000”的位置运行系统,就是启动新写入的固件。
    这里写图片描述

备注说明

  • “0x9f020000”代表WR703N中系统固件在FLASH中的地址。
  • “0x80000000”代表WR703N中的内存地址。
  • “0x3c0000”代表系统固件占用的空间大小,这里是以4M大小的固件为例,如果是8M大小的固件,则大小需要改为“0x7c0000”。
  • 有关AR系列芯片内部地址的更多信息,请查看AR系列芯片分区地址和常用刷机命令 。
  • 由于FLASH的改写需要先进行擦除操作,而且BOOT里的TFTP程序不支持直接对FLASH进行写入的功能,因此需要先将数据存放到内存里,然后通过cp命令将内存中的固件数据烧写到FLASH中。

参考资料

  • tp-wr703n ttl刷机一些问题小结

你可能感兴趣的:(openwrt新手入门)