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

STM32N6 跳转Appli后,重新初始化XSPI和FMC死机

[复制链接]
Muggle-Lee 提问时间:2025-12-5 09:53 / 未解决

目前板卡通过XSPI2 QSPI方式外挂了FLASH,生成的ExtMemLoader也可以正常下载。但是下载后执行代码FSBL跳转到APPLI后,发现一旦在appli中(appli在调试模式下也是可以正常运行)初始化XSPI2(目的是挂载文件系统)或者初始化FMC,均会挂死程序,注销这两个初始化动作就能正常执行。在appli中打印XSPI状态一直是busy,FIFO数据一直不为空。这是为什么?请大家给点思路

补充一下,现在使用的加载方式是Load&Run。

收藏 评论6 发布时间:2025-12-5 09:53

举报

6个回答
butterflyspring 回答时间:4 天前
楼主应该用的是Xip模式。 这个模式是bootroom 先启动XSPI2,然后才可以访问外部FLASH,运行其中的代码。

如果在FLASH中APP 再去初始化这个XSPI2, 那么访问通道必然会断掉,中断了继续从FLASH取程序。

请楼主考虑一下是不是这样的运行模式导致的。
Muggle-Lee 回答时间:4 天前

butterflyspring 发表于 2025-12-5 10:36
楼主应该用的是Xip模式。 这个模式是bootroom 先启动XSPI2,然后才可以访问外部FLASH,运行其中的代码。</p>
<p>如 ...

我用的是Load and run模式,不是XIP

butterflyspring 回答时间:4 天前

Muggle-Lee 发表于 2025-12-5 12:02
我用的是Load and run模式,不是XIP

那这种模式看起来可以行得通。

XSPI 之前是被启动了,可以尝试先复位一下这个外设。

Muggle-Lee 回答时间:4 天前

butterflyspring 发表于 2025-12-5 12:14
那这种模式看起来可以行得通。</p>
<p>

在APPLI中复位不得行,必须要在FSBL跳转前reinit一把才可以重新初始化。

不明白的是FMC为什么初始化也会导致这个问题,是因为A**线的原因么?

xmshao 回答时间:4 天前

我怀疑跟时钟处理有关,按理来说,单纯对一个外设做初始化是个很正常的一个行为。

你可以搜索一篇LAT1563的应用笔记看看。

LAT1563 STM32N6 XSPI1时钟配置问题与建议 | STMCU中文官网

Muggle-Lee 回答时间:前天 20:14

xmshao 发表于 2025-12-5 14:50
我怀疑跟时钟处理有关,按理来说,单纯对一个外设做初始化是个很正常的一个行为。</p>
<p>你可以搜索一篇LAT1 ...

[md]我这个现象应该不是时钟问题,因为我的其他外设跳转后都是可以正常运行,就FMC和XSPI异常。看架构这两个都是挂在A X I上的,不知道是否与之相关。我在跳转前Deinit了XSPI,app里初始化不死机了。但是还是不能正常使用XSPI进行操作。

所属标签

相似问题

官网相关资源

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