armink / SFUD

An using JEDEC's SFDP standard serial (SPI) flash universal driver library | 一款使用 JEDEC SFDP 标准的串行 (SPI) Flash 通用驱动库
MIT License
1.25k stars 444 forks source link

MX25L51245G 使能 qspi 模式之后,后续读、写操作都要用4线,目前 sfud 库的写都是 1线。 #36

Open qinpan1003 opened 4 years ago

qinpan1003 commented 4 years ago

MX25L51245G 使能 qspi 模式之后,后续读、写操作都要用4线,目前 sfud 库的写都是 1线。

实测 MX25L51245G 芯片: 1、上电之后,在 sfdp 读取阶段(1线模式)正常; 2、进入 qspi 模式之后,后续命令(开启 4byte addr、write、erase等等)全部失败。

请问这个问题怎么解决比较好? 我想到的是修改 spi_write_read 函数,根据芯片 状态、配置信息 决定用 1线 还是 4线操作。

image

qinpan1003 commented 4 years ago

打算在这里做个判断,根据芯片当前状态,以及芯片提供的配置,决定用 1 线 还是 4 线操作。 image

armink commented 4 years ago

写操作用多线好像没有太大意义。这块代码有对比过 W26Q 系列的驱动吗

qinpan1003 commented 4 years ago

但是进入qspi模式之后,实测 mx25 不响应单线操作。

qinpan1003 commented 4 years ago

对比了一下 n25q128a 和 MX25L51245G。 前者写用的都是单线。 后者在spi模式用的单线,使能qspi之后用的是4线。