OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 299|回复: 9

STM32H750VBT6的FLM文件相关问题

[复制链接]

2

主题

7

帖子

0

精华

新手上路

积分
44
金钱
44
注册时间
2022-12-3
在线时间
9 小时
发表于 2025-7-1 21:59:16 | 显示全部楼层 |阅读模式
20金钱
我用的是源地工作室的单板,主芯片是STM32H750VBT6,外部接了一颗FLASH,FLASH型号是W25Q128JV。

MCU是没有问题的,之前用STLINK调试了很多次,单片机是可以正常运行和DEBUG调试的,FLASH也是可以用QSPI接口可以读取FLASH的ID,之前写过程序验证过。

问题是这样的,我想用QSPI接口把程序放到外部的FLASH里面,这样调试的时候能够用外部的FLASH,程序能存的更多,但是每次DEBUG后运行到了0x90000000的地址之后,我就开始RUN,然后
程序指针都会跳到一个叫HardFault_Handler()的函数里面,看了一下汇编也不对,运行到0x90000000的地址汇编代码全变成了movs,r0,r0。

调试程序用的北极星开发板的例程临时改的,FLM文件是我参考安富莱和B站的UP主自己做的,调试的时候就发现有问题了,看看哪位大神能够路见不平拔刀相助一下。

开发板的电路图可以通过图片发在帖子上,我的FLM文件代码如果你们想要的话也可以联系我,我可以直接发给你,但是我这个FLM算法代码是有问题的,发出去也没用吧

之后我找了一下开发板的厂家,他们也没有相应的例程和代码,跟他们聊了下,发现他们也不是很懂这个技术,感觉这个工作室单纯就是卖板子的,如果想买板子还是避开这个商家吧,
板子出了问题我感觉商家也不会帮你解决。

我实在没有办法了,只好把问题发到帖子上看看,如果需要我配合的话跟我直接聊就行,下面的评论区我会定时看的。

电路板背面

电路板背面
IMG_20250701_212611.jpg
Snipaste_2025-07-01_21-50-31.png
Snipaste_2025-07-01_21-44-14.png
Snipaste_2025-07-01_21-44-06.png
Snipaste_2025-07-01_21-43-53.png
Snipaste_2025-07-01_21-43-42.png
Snipaste_2025-07-01_21-43-26.png
Snipaste_2025-07-01_21-35-24.png
Snipaste_2025-07-01_21-32-27.png

最佳答案

查看完整内容[请看2#楼]

程序关闭DCache,然后打开内存监视窗口,输入flash的内存,如果出来都是?,那就是没初始化成功,或者没有打开remap功能。如果有flash的数据了,那么可能就是MPU配置不对,没有给90000000H地址开始的内存执行权限。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

2

主题

464

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4619
金钱
4619
注册时间
2018-5-14
在线时间
979 小时
发表于 2025-7-1 21:59:17 | 显示全部楼层
xuzhou192 发表于 2025-7-28 20:46
行,我找个其他网站的bootloader试试看,查下是不是代码初始化出问题了

程序关闭DCache,然后打开内存监视窗口,输入flash的内存,如果出来都是?,那就是没初始化成功,或者没有打开remap功能。如果有flash的数据了,那么可能就是MPU配置不对,没有给90000000H地址开始的内存执行权限。
回复

使用道具 举报

90

主题

594

帖子

0

精华

高级会员

Rank: 4

积分
891
金钱
891
注册时间
2014-9-30
在线时间
153 小时
发表于 2025-7-22 19:01:54 | 显示全部楼层
  找到 资源 :才能 支持 【 片外 取指 】。。。
666.png
片外 取指 的 速度 估计 还 不如 片内 Flash .
IMG_20250722_185040.jpg
回复

使用道具 举报

2

主题

7

帖子

0

精华

新手上路

积分
44
金钱
44
注册时间
2022-12-3
在线时间
9 小时
 楼主| 发表于 2025-7-27 20:37:15 | 显示全部楼层
caosix 发表于 2025-7-22 19:01
找到 资源 :才能 支持 【 片外 取指 】。。。

片外 取指 的 速度 估计 还 不如 片内 Fla ...

刚才看了一下你这个是ST官方给的FLM文件是吗

问一下你这个QSPI引脚映射是一样的吗,FLASH是一样的吗,引脚和FLASH型号没法用啊
我知道片外运行的速度不如片内,我想的是如果程序很大呢,片内放不下的情况怎么解决
回复

使用道具 举报

2

主题

8

帖子

0

精华

新手上路

积分
32
金钱
32
注册时间
2020-9-22
在线时间
6 小时
发表于 2025-7-28 09:00:05 | 显示全部楼层
Hard_Fault中断是内核的异常处理中断,如果刚运行就跳到这里说明芯片的复位流程出了问题,你的跳转代码是怎么处理的?
回复

使用道具 举报

2

主题

8

帖子

0

精华

新手上路

积分
32
金钱
32
注册时间
2020-9-22
在线时间
6 小时
发表于 2025-7-28 09:02:55 | 显示全部楼层
本帖最后由 Rasputin 于 2025-7-28 10:42 编辑
caosix 发表于 2025-7-22 19:01
找到 资源 :才能 支持 【 片外 取指 】。。。

片外 取指 的 速度 估计 还 不如 片内 Fla ...

XIP确实速度不如片内,但是如果用了QSPI,读写也和片内运行差不了多少了,我自己的H750板子试了下,QSPI可以稳定达到80Mhz的时钟频率,再加上H7内核的D-cache和I-cache,其实并不比片内flash运行慢多少的,主要是涉及DMA读flash里内容的时候会变慢,因为DMA是需要屏蔽cache的,不然会出问题。
回复

使用道具 举报

90

主题

594

帖子

0

精华

高级会员

Rank: 4

积分
891
金钱
891
注册时间
2014-9-30
在线时间
153 小时
发表于 2025-7-28 10:29:04 | 显示全部楼层
xuzhou192 发表于 2025-7-27 20:37
刚才看了一下你这个是ST官方给的FLM文件是吗

问一下你这个QSPI引脚映射是一样的吗,FLASH是一样的吗, ...

我图示的 文件 是 JLink_V684 自带的 SEGGER 里的 ,但是 【没有 直接提供 H750 的 外部 QSPI 】。。。
好在 外部 QSPI 就只有   2、3 种 接线 方式 。。
真要专研 也不难:关键是 先要找到 烧写 适配 软件 。


俺 是没遇到过 : 片内 Flash 容量不足 的 情况 。。






回复

使用道具 举报

2

主题

8

帖子

0

精华

新手上路

积分
32
金钱
32
注册时间
2020-9-22
在线时间
6 小时
发表于 2025-7-28 10:40:14 | 显示全部楼层
本帖最后由 Rasputin 于 2025-7-28 10:41 编辑

如果你怀疑是烧录算法的问题,你可以用片外烧录算法烧录完成后,再用片内烧录算法烧录一个正常的QSPI与W25Q128通讯的工程,然后用这个程序读取一下W25Q128的数据,主要是前8个字节,这里存放了栈顶地址和中断向量表的地址,看看这两个地址是否正确,如果这两个地址是正确的,说明bin文件应该是烧录进去了,那就可能并不是烧录算法的问题,更可能是你的bootloader出了问题。
回复

使用道具 举报

2

主题

7

帖子

0

精华

新手上路

积分
44
金钱
44
注册时间
2022-12-3
在线时间
9 小时
 楼主| 发表于 2025-7-28 20:46:45 | 显示全部楼层
Rasputin 发表于 2025-7-28 10:40
如果你怀疑是烧录算法的问题,你可以用片外烧录算法烧录完成后,再用片内烧录算法烧录一个正常的QSPI与W25Q ...

行,我找个其他网站的bootloader试试看,查下是不是代码初始化出问题了
回复

使用道具 举报

2

主题

7

帖子

0

精华

新手上路

积分
44
金钱
44
注册时间
2022-12-3
在线时间
9 小时
 楼主| 发表于 6 天前 | 显示全部楼层
姚先起 发表于 2025-7-1 21:59
程序关闭DCache,然后打开内存监视窗口,输入flash的内存,如果出来都是?,那就是没初始化成功,或者没 ...

找到问题了,那个初始化的bootloader有个MPU配置,程序没有加进去
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-8-7 17:11

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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