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

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,写使能后,轮询状态寄存器超时,拿不到写使能允许标识,从而引发写,扇区删除失败,请各位大佬百忙中 帮忙指点一二,不胜感激。

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

举报

3个回答
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模式

butterflyspring 回答时间:昨天 11:15
可以调试时用监测一下开始的数据,看看是否正常并符合手册的标准。


这样可以看看是调整软件或是硬件。

所属标签

相似问题

官网相关资源

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