|
|
在给cudy tr3000拆机改散热和扩容的时候我就发现在电路板上还预留了一个spi-nor的闪存位,刚好手里有闲置的nor闪存,抱着可能不会被系统识别或者原厂根本就没做这边的电路的心态,想着反正闲置也是闲置,干脆补上去。
补上之后,擦电,开机,到系统日志里一看,果然没有发现这颗nor闪存的任何信息。我以为是原厂根本没做这一块的电路了
但是,转念一想,openwrt算是个linux系统了,在linux下的设备都需要在dts里有定义编译出来才能识别,于是就去改了dts,重新编译了固件刷入,这次果然不出所料,成功在系统日志里发现了我加的这颗nor闪存,执行cat /proc/mtd也能发现我定义的nor分区。
不过,这一切也就仅此而已了。
我想起了openwrt开源社区的第一块开发板OPENWRT ONE,这款就是spi-nand和spi-nor两种闪存同时在一块版上,但是spi-nor只是用来救砖用。这块板子的硬件与tr3000很相似,都支持nor和nand两种闪存,都有usb,都有一个可以拨动的开关。那么平时玩tr3000的时候我们一不小心变砖了,虽然有大佬们做出来的mtk_ultraboot可以用来救砖,但是原厂的ttl点位实在是太变态了,我们是不是能够改造一下,参考OPENWRT ONE的救砖方式来给tr3000救砖呢?想法是很好的,但是,由于本人能力实在是有限,OPENWRT ONE这款机器的dts关于闪存的定义这块我是真没看明白,也没找到nor闪存使用的uboot的参考,所以,这一切也就搁置了,在此分享了我的发现和我本人的一些想法。
在OPENWRT ONE这款机器的dts里,nand闪存只定义了bl2和ubi两个分区,nor闪存却是放了一套完整的常见的路由器的分区,也就uboot放在了nor闪存里,但是如果选择从nand闪存启动系统却运行在nand闪存里,关于这点,我是真的不明白在nor闪存里的uboot是如何引导nand闪存里的系统的。受限于OPENWRT ONE高昂的售价,让我这想买一块来研究一下的学生党望而却步。
我本人是想使用bl-mt798x这个开源项目来给tr3000做一个参考OPENWRT ONE的双闪存的uboot,也想能够添加上dhcp server的功能,但是也没找到参考,唯一的参考则是已经开源的带dhcp功能的mips架构的mt7688使用的opboot。但是这和arm架构的mt798x平台差的太多,很多插入dhcp server功能的地方的函数对不上。
所以在此向各位大佬们发出救助请求,希望大佬们能提供一点指导和帮助。
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|