本帖最后由 lintel 于 2019-2-22 03:20 编辑
粗粮的智障,R3G/R3P下u-boot都是没有恢复模式的,只能在备份内核上通过usb或者网络刷机,
如果刷了第三方固件之后,一旦这个备份内核挂了,就意味着你的机器已经是50%的砖头,
因此,建议R3G/R3P机器到手立刻用breed/pb-boot替换掉这个原厂的智障uboot.
原厂的uboot,每次开机都根据uboot-env参数判断是否锁定uboot,串口,telnet等.
如果在uboot开机的时候突然断电,就会有很大的几率因为NAND擦写失败导致uboot-env参数丢失,所有的参数恢复默认并且锁定TTL串口,
楼主做固件适配时原厂uboot意外中招了2次,TTL串口被锁,每次都是拆Flash重写,非常的生气!(TMD,我诅咒写这个u-boot的粗粮同学以后写代码修一辈子BUG).
突然想起以前折腾的机器可以使用SPI启动,并读写NAND,刚刚好R3P跟R3G都是带了SPI焊盘,就有了下面的事情.
简单搜索了一下,发现已经有同学已经实现了,参考:
https://www.right.com.cn/forum/thread-346294-1-1.html
下面简单说明一下如何进行救砖.
1.下载SPI版本的pb-boot.用编程器写入SPI flash.
pb-boot-r3p-spi.bin
2.将SPI flash焊到的空焊SPI焊盘。
3.短接J10和J11,注意,如果是R3G,需要给R4位置(在NAND附近)补焊上4K7的电阻,R3P不需要.
4.准备好TTL串口,波特率115200.
5.下载pb-boot-nand-r3p.img,并准备好TFTP32/TFTP64,本地网卡默认IP 192.168.1.100,设置好TFTP下载目录
pb-boot-nand-r3p.img
6.通电,开机按4进入pb-boot的命令模式.
7.执行下面的命令:
#初始化NAND
nand init
#下载pb-boot
tftp 0x80200000 pb-boot-nand-r3p.img;
#写入pb-boot到NAND
nand erase_write 0x80200000 0x0 0x40000
原链接:
https://bbs.pangubox.com/forum.p ... &extra=#pid1277