大家好,
最近用STM32H7B0 OSPI调试华邦的W25Q128JV Flash,调了一个多星期都没搞定,现在的问题是连读ID都读不出来。
从代码,到硬件,到芯片,各方面都已经反复确认,都没有发现问题,都不知道该怎么办了,甚至flash都换了好几颗。
有使用STM32H7B0 +OSPI调试成功的吗,希望能分享下,十分感激。
以下是我的OCTOSPI配置,配置成QSPI 4线模式,
包括QSPI的的几个引脚,都反复确认过,没有问题,也量过芯片引脚到W25Q128芯片之间的通路,也是通的,芯片均无虚焊,换过好几个W25Q128芯片,问题都一样。
下面是读ID的函数,该函数移植的是反客的7B0代码,从W25Q64上改过来的,对比了一下,读取指令都一样,应该也没问题,
程序是卡在HAL_OSPI_Command(&_hospi1, &sCommand, HAL_OSPI_TIMEOUT_DEFAULT_VALUE)这个函数这里了,这个函数每次都返回1,1好像是操作错误。
正常应该是返回HAL_OK,但是每次都返回1的错误,不知道为什么这里会有问题。
这个函数HAL_OSPI_Command是发送指令到W25Q128芯片,应该发送失败了,我检查了硬件也没发现问题,不知道为什么老是配置失败。
读取ID 的指令,W25Q128JV的读取JEDECID的指令是0x9F, 其他配置都是用1线指令,1线数据去读,我反复对比和研究了配置,没看出有什么问题。
现在已经陷入僵局了,不知道还有什么方向,难道我换的接flash都有问题?或者我的STM32H7B0也有问题?
希望用过STM32H7B0+QSPI W25Q128JV的大佬能给点方向,感谢
|