最近在搞SPI Flash的驱动,有一个问题迟迟不能解决

背景:

主芯片:MK60DN512ZVLQ10 / MK60DN512VLQ10

flash芯片:winbond 25Q64FV

明媚心(415741500)  11:10:44
请教一个spi FLASH的问题。
我最近在搞SPI flash的驱动。
所有的操作都OK了,只有读操作还有一点问题。
问题是这样的:我在读操作的函数里合适的地方设置断点,则每次读到的数据都是正确的。但是如果全速运行,则读到的数据都是0.
从逻辑分析仪上的数据来看,DO端输出的数据都是正确的。

我就又测试了一下自带的SPI FLASH的例程,里面的读操作读到的数据也都是0(不正确)。

从现象上来看,似乎与时序有关。但是逻辑分析仪上的数据看来,似乎又与时序无关。

请教下大家。
孤狼-稀饭  11:15:39
两头都测了吗?
奋斗  11:15:40
时序
有数据出来 CPU 寄存的值为0 是吧
连续读两次试试
明媚心(415741500)  11:17:43
什么叫两头都测了吗?没看懂,
反正设置断点的时候,看到的RXFR寄存器的值也是正确的。即寄存器里的值一直都是正确的。
明媚心(415741500)  11:19:24
断点设置在读函数中不同的位置,寄存器的值一直都是正确的,但是,读出来的值有可能是正确的,也有可能是0(错误的)。
如果不设断点,则都是0.
连续2次,请问是指连续调用读函数两次?
明媚心(415741500)  11:20:27
试过,不管用。因为我每次读操作开始前,都会清寄存器。

 

你可能感兴趣的:(最近在搞SPI Flash的驱动,有一个问题迟迟不能解决)