打印
[研电赛技术支持]

GD25Q64ESIG四线读写失败问题

[复制链接]
649|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ospi一线可以读写,但是四线读写数据错误
uint8_t status = gd25q64esig_read_status_QE(dev);
  status |= (1<<1);
  gd25q64esig_write_status_config_QE(dev,status);
  gd25q64esig_read_status_QE(dev);
  printf("device ready 0x%02x\n", dev->cmdbuf[0]);
  //gd25q64esig_erase_chip(dev);
  gd25q64esig_erase_sector(dev,0);
  gd25q64esig_write_page(dev,tx_buffer_spi1,FLASH_WRITE_ADDRESS,BUFFERSIZE_SPI);
  gd25q64esig_read_byte(dev,rx_buffer_spi1,FLASH_READ_ADDRESS,BUFFERSIZE_SPI);
不知道是不是flash需要配置什么参数?

使用特权

评论回复
沙发
我喂自己袋盐|  楼主 | 2025-3-26 20:17 | 只看该作者
主芯片是gd32h759imk

使用特权

评论回复
板凳
stormwind123| | 2025-3-27 14:20 | 只看该作者
读写时序参数配置可能不对!

使用特权

评论回复
地板
probedog| | 2025-3-27 15:20 | 只看该作者
数据长度和地址与Flash存储器的页面大小或扇区大小未对齐?

使用特权

评论回复
5
flycamelaaa| | 2025-3-27 16:00 | 只看该作者
建议检查硬件连接。

使用特权

评论回复
6
丙丁先生| | 2025-3-27 16:31 | 只看该作者

gd32和stm32一样吧?

使用特权

评论回复
7
丙丁先生| | 2025-3-27 16:35 | 只看该作者
https://bbs.21ic.com/icview-3442090-1-1.html

使用特权

评论回复
8
powerantone| | 2025-3-27 17:03 | 只看该作者
用示波器检查SPI信号的质量,包括时钟信号的稳定性和数据信号的完整性。

使用特权

评论回复
9
sagade| | 2025-3-27 19:02 | 只看该作者
记得官方只提供了单线和8线的驱动,4线要自己改指令数据地址模式,时序等等东西

使用特权

评论回复
10
classroom| | 2025-3-27 23:00 | 只看该作者
在更改SPI模式或配置后,对Flash存储器执行复位操作可能是一个好主意。

使用特权

评论回复
11
我喂自己袋盐|  楼主 | 2025-3-28 09:10 | 只看该作者
已解决,四线flash读写指令和cpu这边的读写地址模式没有对应上,cpu这边用的四线指令,但是flash用的是一线指令,这个要看flash规格书确保对应上,而且flash要打开QE位。

使用特权

评论回复
12
cooldog123pp| | 2025-3-28 14:07 | 只看该作者
先恭喜楼主已经解决问题,也是学到了,下次自己做开发的时候可是要注意一下,看flash规格书确保对应上,而且flash要打开QE位。
更多操作

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

3

帖子

0

粉丝