搜索
bottom↓
回复: 0

qspi 芯片在quad模式下,擦除一个扇区正常,另外一个错误?

[复制链接]

出0入0汤圆

发表于 2017-3-23 15:18:29 | 显示全部楼层 |阅读模式
现在初始化可以读出芯片 ID,基本设置也都正常,但是在擦除时不对



上面那个是初始化输出的信息,貌似跟设置的结果一样

输出的信息解释如下:
QSPI N25Q512A13xx ID      ==    0x20BA20 ... ...                    芯片id
QSPI N25Q512A13xx Extended Address Enable OK   = 0x3        扩展地址寄存器设置为 0x3,表示可以寻址 0x3ffffff的地址存储空间,也就是 64MByte的整个存储空间了
QSPI N25Q512A13xx Enter 4 Byte Addr Mode OK   =  0x81        使能了4字节地址模式
QSPI N25Q512A13xx Dummy Cycles Cfg = 171                         虚拟时钟配置  10
READ_VOL_CFG_REG_CMD 0x65 reg  =  0xF                            quad 设置 这个设置为 0x1f, 0x0f 结果都是一样的 读寄存器为 0x65, 写为 0x61
QSPI N25Q512A13xx Work Mode QUAD  = 1                            工作在 quad 模式 职位
QSPI EraseSector(0),          Time = 237ms   res = 0                  第一扇区擦除的时间基本是对的
QSPI EraseSector(1),          Time = 0ms   res = 0                     第二扇区擦除的时间不对了
QSPI Write End DataSize = 256, Time = 1ms  res = 0
QSPI Read End DataSize = 256, Time = 0ms   res = 0
QSPI Data Read Write Relatively DataSize = 256Byte ... Error           错误了


0x65, 0x61 读写寄存器 bit 定义如下:



扩展地址寄存器:






不知道是我还有哪些没有设置对或者是没有设置啊 ??

擦除函数如下:
QSPI_StaticTypeDef QSPI_EraseSector(uint32_t Sector_address)
{
  
//  Sector_address *= 4096;
  Sector_address <<= 12;
        if (QSPI_WriteEnable(&QSPIHandle) != QSPI_OK)
        {
                return QSPI_ERROR;
        }
  
    if(QSPI_SendCmdData(  SUBSECTOR_ERASE_CMD,      // _Instruction,      发送指令 这个指令为0x20
                          QSPI_INSTRUCTION_4_LINES,           // _InstructionMode,  指令模式
                          QSPI_ADDRESS_4_LINES,                // _AddressMode,      地址模式
                          QSPI_ADDRESS_32_BITS,               // _AddressSize,      地址长度  
                          QSPI_DATA_NONE,                        // _DataMode,         数据模式
                          0,                                               // _NbData,           数据读写字节数
                          0,                                              // _DummyCycles,      设置空指令周期数
                          Sector_address,                           // _Address,          发送到的目的地址
                          NULL,                                        //  *_pBuf,           待发送的数据
                          QSPI_SEND_CMD                        // __SEND_CMD_DATA_T  _SendCmdDat
                       ) != QSPI_OK )
    {
      return QSPI_ERROR;
    }
}

N25Q512  芯片资料:








本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-3-29 06:25

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表