OpenWRT 串口刷机方法
OpenWRT 串口刷机方法启动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中。
————————————————
版权声明:本文为CSDN博主「滑冰的犀鸟」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/xcoderone/article/details/48031279
OpenWRT Uboot选项:
Please choose the operation:
1: Load system code to SDRAM via TFTP.
2: Load system code then write to Flash via TFTP.
3: Boot system code via Flash (default).
4: Entr boot command line interface.
5: Entr ALL LED test mode.
6: Entr Web failsafe mode.
7: Load Boot Loader code then write to Flash via Serial.
9: Load Boot Loader code then write to Flash via TFTP 0
默认:
3: System Boot system code via Flash.
页:
[1]