你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32L476 使用Quad spi 4线制访问MX25L25645 失败

[复制链接]
Robert zhang 提问时间:2025-9-8 12:03 / 未解决

主控芯片 STM32L476RET6,1.D.5.0版本的hal库,借助STM32CubeMX生成相应的工程代码(Quad spi line),主控与flash(MX25L25645GM2I-08G)交互过程中发现,4线制下访问失败,具体表现在配置完4byte内存地址方式,相应的寄存器标识位依然为0,写使能后,轮询状态寄存器超时,拿不到写使能允许标识,从而引发写,扇区删除失败,请各位大佬百忙中 帮忙指点一二,不胜感激。

收藏 评论2 发布时间:2025-9-8 12:03

举报

2个回答
Robert zhang 回答时间:昨天 14:43

补充说明,单SPI模式下,验证结果:

1.读到状态寄存器的值是0x40(1-1-1模式,该位标识的是QE 是否使能,1-使能,0-不使能);

2.未配置4byte 内存地址模式,但读到配置寄存器的值依然是0x20(1-1-1模式);

3.能正确获取到产品ID(1-1-1模式);

4.读写数据正常;

QSPI模式下,验证结果:

1.读到状态寄存器的值是0x40(4-4-4模式,命令与1-1-1同);

2.有时读到配置寄存器的值是0x20,有时多次配置4byte内存地址模式后,读配置寄存器依然是0(4-4-4模式,命令与1-1-1同);

3.能正常获取到产品ID(4-4-4模式,命令与单SPI读产品ID不同);

4.写使能后,轮询状态寄存器卡死(4-4-4模式,命令与1-1-1读使能同,轮询逻辑也同);

混合模式(既有单SPI模式,也有QSPI模式的命令),验证结果:

1.MX25L256初始化过程中,依据此逻辑进行:

1.0 单SPI模式读产品ID; 1.1 QSPI模式读产品ID; 1.2 发命令切换flash SPI模式到Quad SPI模式;

此时,一旦调用1.2的逻辑,在线仿真MX25L256初始化函数,执行完1.0,获取产品ID失败,然后执行完1.1,可以获取到正确的产品ID(但实际还没执行1.2),屏蔽1.2处的代码,设备断电一段时间(大概几秒),再次上电,仿真MX25L256初始化函数,执行完1.0,可以获取到正确的产品ID,然后执行完1.1,获取产品ID失败。

Robert zhang 回答时间:昨天 14:52

状态寄存器

状态寄存器

配置寄存器

配置寄存器

使能qspi模式

使能qspi模式

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版