GL3224固件升级到1536需要外置flash芯片,虽然接口一样但很多时候焊上去却不能刷固件,仔细研究发现config.ini内没有列出的芯片是刷不了的。里面却唯独没有winbond的W25Q16,这么常用的芯片怎么不支持呢?其实是可以的,只需在列表里按要求增加flash芯片信息即可,如增加下面一段:
::----W25Q16----
:: Dual SPI
[Winbon5]
F3 02 00 04 00 02
Data:90 00 00 00
Delay:0
F3 04 00 00 00 02
Data:EF 14
Delay:0
F3 01 00 00 01 00
Delay:1
F3 00 00 00 06 00
F3 00 00 00 C7 00
F3 03 01 00 05 00
Delay:1
FlashParam:00 00 00 00 00 00 00 00 00 00 00 08 6A 02 3B 00
WriteFlash 1024 256
F3 00 00 00 04 00
第三行表示winbond支持的第五个芯片,数可以改,但不能重复。第八行则是关键,它描述了W25Q16设备的地址ID,也就是访问时的一个目标地址,错了的话对方会不回应。这个地址在其芯片手册的10.2.1有说到,如W25Q80是EF 13、W25Q32是EF 15,而W25Q16是EF 14.其余的部分则是按照其余winbond芯片来写即可。
此外GD25Q16也是类似原理,首选确定其目标地址,查阅芯片手册为:C8 14,而GD25Q40为C8 12,要刷GD25Q16则加入下面一段:
::----GD25Q16----
:: Dual SPI
[OTHER2]
F3 02 00 04 00 02
Data:90 00 00 00
Delay:0
F