嵌入式技术论坛
直播中

h1654155275.5741

7年用户 1012经验值
私信 关注
[问答]

为什么对挂载的W25Q64 SPI_FLASH无法进行写入操作呢

为什么根据文档中的潘多拉 flash 驱动代码和网上的一些例程,都无法对挂载的W25Q64 SPI_FLASH进行写入操作,请问这是硬件的问题吗?

自行排查时发现 void w25qxx_enter_qspi_mode(struct rt_qspi_device *device){}函数中 status = w25qxx_read_status_register2(device); 这行代码执行后 status 的值为2,导致下面的if (!(status & 0x02)){...}也无法执行,也就导致无法没有执行写使能操作(好像是这样)。

如果不是硬件的问题,要怎么样解决这个问题呢?

追朔w25qxx_read_status_register2(device);这个代码发现里面莫名其妙定义了一个char status传进了rt_qspi_send_then_recv(device, &instruction, 1, &status, 1);//读取状态寄存器,然后就莫名其妙的status值变成了2,返回出去了。至于为什么说莫名其妙,就是在rt_qspi_send_then_recv(device, &instruction, 1, &status, 1);//读取状态寄存器这个函数中,貌似都没对status进行什么操作。

回帖(1)

刘杰

2022-8-26 14:32:43
一、先排除下硬件问题:小熊派的W25Q64是否有官方例程,有的话烧录看能否写入和读取;
二、你可以下载一份原子的关于这个驱动(我记得有);还有要看看小熊派的W25Q64的硬件原理图、W25Q64的使用手册;原子的也看看W25Q64硬件原理图;
如果硬件上没有差别,第一步也可以,那就根据W25Q64的使用手册,并且对代码吧;
举报

更多回帖

发帖
×
20
完善资料,
赚取积分