目前在市场上,32MB的FLASH存在两种情况:
- Winbond的W25Q256FV,默认始终运行在3Byte地址模式ADS=0,但此时只能寻址到16MB,要想切换为4Byte模式ADS=1,需要向FLASH发送命令为C5h。
- 还有一类FLASH,超过16MB默认只有4Byte模式,Linkit smart 7688用的就是那种。但我手头没有找到WSON封装的,暂时作罢。
重点来了,将Widora板子的FLASH换为W25Q256,bootstrap相关引脚无需任何修改,其他地方要做调整:
A. uboot做了调整,支持4Byte,升级为1.0.6版本,百度网盘和github源码均已更新。
B. openwrt_widora固件做了调整,主要是改一下DTS和打包的Makefile即可。具体修改见下面图片
C. 设计到软件复位要修改,因进系统为4B模式,软件复位后Flash没有回复3B模式,是无法启动的。这一点manfeel大神已经搞定了,遂搬过来
D. 硬件复位会有问题,其实最简单粗暴的方法就是断电。但为了完美一些,打算设计一个复位期间断开FLASH供电的电路,随后验证好后贴上来。