NUC505的SPIM 控制外部FLASH问题

因工作需要,最近在测试FLASH,正好手头有NUC505,便用来进行测试。
测试了很多厂家的x25x系列的芯片,GIGADEVICE,WINBOND,EON,AMIC等,除第一个外,基本都出现了这样一个问题:在quad和dual 模式下读过程中,都会出现读取错误的情况。具体情况稍后会有说明。
我测试的思路如下:
1.读取ID
2.确定FLASH芯片是否完好。整个芯片全部写0X55,再全部写0XAA细节不多做赘述
3.往0x000-0xFF 地址写1,0x100-0x1FF地址写2...依次类推,写到0xfff,一共16个block(或者是扇区?
4.将写进去的数据用单线读取的命令一次读出4096个数据。(指令是0x0b和0x03)
5.切换到DUAL模式或QUAD模式,读取flash数据,也是一次读出4096个数据。

前4步都正确,保证我数据写入正确,flash也正常工作,连线上应该也没问题(或许有)。就在第5步出现了问题。当我读取的地址内容是0X3时,它只能读出一个正确的数据,之后的内容都是0XFF。
也就是说按照我第5步的做法,从地址0X000开始,到读取的地址为0X200时,这一段的数据是256个1、256个2、1个3,之后的数据全部变成了0XFF。
有趣的是,当我只读取0X200-0X2FF这一段时,无论读取多少个地址,只有第一个是正确的数据,其余数据也为0XFF。读取除0X200-0x2ff之外的地址时,在0XD这两个数据存放的地址中,也出现了相同的现象。
请大神赐教,如果有不明白之处,请指出,我会进行补充。    

永不止步步 发表于10-09 11:25 浏览65535次
分享到:

已有1条评论

  • EEskill
    EEskill 10-09 11:47

    我用过M451的QSPI,能够正确读。505没有试过。
    这些SPI-FLASH,启动QUAD模式需要特定指令序列,不知道你做了没有。

添加一条新评论

只有登录用户才能评论,请先登录注册哦!

话题作者

永不止步步
金币:67410个|学分:306767个
立即注册
畅学电子网,带你进入电子开发学习世界
专业电子工程技术学习交流社区,加入畅学一起充电加油吧!

x

畅学电子网订阅号