Closed kaidegit closed 6 months ago
https://github.com/armink/SFUD/pull/89
我简单地用宏实现了下切换,不过似乎JEDEC中能读到这个的信息,是否要根据JEDEC中的参数进行自动判断。如果用JEDEC的话FLASH_INFO_TABLE中估计得加点参数了。
SFDP 中否有这个参数呢?如果有的话,那直接读取就更好了,这样也不用改 FLASH_INFO_TABLE 的
啊仔细看了下SFDP似乎只有多线读的时候的FastRead参数,单线的FastRead似乎没有
另外我说要在FLASH_INFO_TABLE加东西是因为如果从SFDP读了,不走JEDEC的设备也要有这个参所以要在table加😂
我就怕不走 SFDP 的 FastRead 除了命令参数不一样,还有没有其他一些命令时序上的区别
如果基本都一样,那是可以考虑加到 FLASH_INFO_TABLE 里的
另外,未来更多的芯片其实是支持 SFDP 的,所以估计 SFDP 里如果能支持这个功能就更好了
PR还没合并,是我还需要补充什么吗
FastRead 这套代码能兼容绝大多数的 NorFlash 吗?如果可以,能否大致给出已经确认的几款 Flash 型号,多谢~
作为通用的驱动,兼容性要求是需要优先考虑的
目前主要添加了使用0x0B指令作为快速读指令,并默认插入了一个dummy
我自己手上测试过的有W25Q32BV、XM25QH32CH、ZD25WQ80BT,这几个我当时应该看了手册没问题的
我检查了下其他的Flash的数据手册
P25Q40H
GD25Q64E
W25Q128JV
ZD25Q32C
BY25Q128AS
ZB25VQ128
IS25XP080D(这玩意的dummy似乎可以写寄存器配置,默认8bit对于SPI来说顶到了133M的上限,完全是足够的)
MX25L25645G(这玩意的dummy也可以配置的,不过SPI只能8bit)
看着还是挺标准的。在 sfud_cfg.h 中默认把 fast_read 开关注释掉,改完就可以合并了,多谢你的支持 👍
ok
有些Flash在Read模式和FastRead模式下速率差距有点大,SFUD似乎没做FastRead的支持,可能会导致某些Flash跑不到满速