打印
[STM32H7]

STM32H750在只能调试时运行,重新上电和reset都不行

[复制链接]
678|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
laocuo1142|  楼主 | 2025-2-24 15:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近在调试 STM32H750VBT6 时遇到程序只有在调试时可以运行,虽然勾选了 rest and run ,但下载完任然不运行。检查了 boot 和 reset 电压均正常。最后,是用了 AC5 编译一遍后下载,就解决了问题。再用 AC6 也行。不晓得怎么回事啊

使用特权

评论回复
沙发
yangjiaxu| | 2025-3-6 15:16 | 只看该作者
这个AC5和AC6来说,确实不一样,有些时候尽量用低版本的比较好

使用特权

评论回复
板凳
公羊子丹| | 2025-3-7 07:47 | 只看该作者
你是在使用 ST-LINK 进行调试吗?有时调试器的配置或者固件版本可能会影响程序的下载和启动。

使用特权

评论回复
地板
周半梅| | 2025-3-7 07:49 | 只看该作者
你检查过编译选项和链接脚本吗?可能是某些优化设置或者启动地址有问题,导致程序无法正常启动。

使用特权

评论回复
5
帛灿灿| | 2025-3-7 07:50 | 只看该作者
使用 AC5 和 AC6 可能是因为它们生成的固件映像格式不完全相同,AC5 可能默认启用了某些启动选项。

使用特权

评论回复
6
童雨竹| | 2025-3-7 07:51 | 只看该作者
你试过清除芯片的 Flash 内容再下载程序吗?有时候残留的数据可能会导致程序无法正常启动。

使用特权

评论回复
7
万图| | 2025-3-7 07:53 | 只看该作者
你在检查 boot 和 reset 电压时,有没有关注到复位电路上的微小波动?它可能影响 MCU 的启动行为。

使用特权

评论回复
8
Wordsworth| | 2025-3-7 07:55 | 只看该作者
STM32H7 系列的启动模式比较复杂,确保 BOOT0 和 BOOT1 引脚的配置是正确的,避免进入系统引导模式。

使用特权

评论回复
9
Bblythe| | 2025-3-7 07:56 | 只看该作者
你用的是什么调试接口?SWD 还是 JTAG?不同接口的配置和行为可能会有所不同。

使用特权

评论回复
10
Pulitzer| | 2025-3-7 07:58 | 只看该作者
是否有看到调试日志中的错误信息?它可能提供了为什么下载后程序没有执行的线索。

使用特权

评论回复
11
Uriah| | 2025-3-7 07:59 | 只看该作者
如果程序只有在调试模式下运行,可能是没有正确设置程序的启动点或复位矢量。可以试着在 AC6 中重新配置启动文件。

使用特权

评论回复
12
Clyde011| | 2025-3-7 08:01 | 只看该作者
你确认过下载后的程序是否会执行 SystemInit() 和 main() 启动函数吗?有时启动文件可能没有正确配置。

使用特权

评论回复
13
将爱藏于深海| | 2025-4-19 01:23 | 只看该作者
链接脚本或内存映射问题:调试时,调试器可能自动调整了程序的加载地址或堆栈指针。独立运行时,程序可能因初始化错误(如堆栈溢出、向量表未正确映射)而崩溃

使用特权

评论回复
14
失物招領| | 2025-4-19 02:34 | 只看该作者
有可能是你的启动文件(如 startup_stm32h750xx.s)未正确初始化关键寄存器(如 VTOR 向量表基址寄存器)。调试器可能隐式修复了某些初始化问题

使用特权

评论回复
15
她已醉| | 2025-4-19 03:34 | 只看该作者
AC6 默认的优化级别可能生成了与 AC5 不兼容的代码,导致运行时错误。例如,AC6 的某些优化可能改变了全局变量的初始化顺序

使用特权

评论回复
16
捧一束彼岸花| | 2025-4-19 04:45 | 只看该作者
下载工具可能未正确擦除目标 Flash 区域,导致旧代码残留。AC5 AC6 生成的二进制文件格式或对齐方式不同,可能影响写入结果

使用特权

评论回复
17
故意相遇| | 2025-4-19 05:55 | 只看该作者
虽然您已检查 BOOT RESET 电压,但仍需确认:是否启用了外部晶振(HSE)或内部时钟(HSI)是否正确配置了时钟树

使用特权

评论回复
18
春日负喧| | 2025-4-19 06:34 | 只看该作者
system_stm32h7xx.c 或启动文件中,确保 SCB->VTOR 指向正确的向量表地址。确保链接脚本(如 .ld 文件)中,FLASH RAM 的地址与芯片手册一致

使用特权

评论回复
19
温室雏菊| | 2025-4-19 07:45 | 只看该作者
在编译器设置中,将优化级别设置为 -O0(无优化)。逐步启用优化(如 -O1-O2),观察问题是否复现

使用特权

评论回复
20
白马过平川| | 2025-4-19 08:34 | 只看该作者
建议检查全局变量和静态变量的初始化顺序是否正确

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1296

主题

6197

帖子

14

粉丝