openwrt MT7688 boot下适配新的flash

问题现象:

硬件更换了一款新的16Mflash,而当前软件中没有对该flash的适配,导致该flash被识别成4M了。串口打印如下图所示:

openwrt MT7688 boot下适配新的flash

问题原因:

从上图中我们可以知道该flash的manufatrue id为1C,device id为70 18,查看该flash的手册发现确实如此:

openwrt MT7688 boot下适配新的flash

跟踪代码后发现flash类型的识别是依靠变量chips_data中的数据来匹配的,查看后发现只有EN25Q32B是最接近的,由于flash匹配时会做一个最多匹配,所以该flash被匹配成4M的型号了;

openwrt MT7688 boot下适配新的flash

问题修改:

在结构体中添加EN25Q128的型号,sector不变还是64K,n_sectors设置成256,这样正好是16M。

openwrt MT7688 boot下适配新的flash

修改之后的效果如下:

openwrt MT7688 boot下适配新的flash


分享到:


相關文章: