启动BOOT控制台
不同BOOT进入控制台的方式不同,请根据BOOT启动时输出的提示进行操作。
- 将WR703N通过TTL线(串口线)连接到PC端。
- 通过SecureCRT使用该串口。
- 启动路由器,会在SecureCRT中看到如下输出:
- 在倒计时按任意键可进入BOOT的控制台模式,如果没有按键则自动加载运行系统固件代码,从BOOT输出也可以看出系统固件地址是在“0x9F020000”的位置。
- 启动BOOT控制台,会看到如下输出:
操作BOOT控制台
不同BOOT的命令名称可能不同,请根据实际名称进行输入。
- 输入“help”命令,就可以看到该BOOT支持的命令。
其中“printenv”、“tftpboot”、“erase”、“cp”、“bootm”命令是后面依次会使用到的。 - 输入“printenv”命令查看当前BOOT的网络配置,主要是查看TFTP的服务器IP(BOOT的TFTP程序是作为客户端,因此需要知道TFTP的服务器地址)。
这里可以看出服务器IP是“192.168.1.2”。 - 将PC的IP地址修改为看到的服务器IP(PC端作为TFTP服务器,BOOT是TFTP客户端)。
- 使用网线连接路由器和PC。
- 将系统固件重命名为“sys.bin”,并放在TFTP服务器软件的同级目录下(系统固件重命名的目的是缩短文件名,简化后续命令输入操作,不重命名亦可)。
- 在PC端运行TFTP服务器软件“tftpd32.exe”(软件从这里下载),只要打开即可,不需要做任何设置。
刷机流程
这里是以4M大小的固件为例,如果是8M大小的固件,则大小需要改为“0x7c0000”。
- 在BOOT控制台输入“tftp 0x80000000 sys.bin”,意思是调用tftp程序从TFTP服务器上将“sys.bin”这个文件传输到路由器的内存地址“0x80000000”处。
固件传输过程会有进度条效果,传输完成后会显示“done”。 - 在BOOT控制台输入“erase 0x9f020000 +0x3c0000“,意思是从FLSAH地址0x9f020000开始,擦除大小为0x3c0000大小的区域。
擦除过程会有进度条效果。 - 在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中。