sunsili 发表于 2022-2-6 23:16:38

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

sunsili 发表于 2022-2-6 23:19:07

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]
查看完整版本: OpenWRT 串口刷机方法