fendoushuai 发表于 2024-4-19 10:13:38

H7 Debug打断点时,独立看门狗也停止了

本帖最后由 fendoushuai 于 2024-4-19 10:16 编辑


在程序中使能了独立看门狗,调试时打了断点,超过了时间但是芯片没有复位。之前使用F4的时候遇到这种情况都是会复位的。
后来查资料发现可能是系统在Debug模式下看门狗被冻结了。调用了解冻函数后,再打断点的话看门狗就会复位了。

但是在查寄存器,如下图,发现看门狗的冻结寄存器在默认情况下复位后会进入Normal 模式,也就是会继续计数的。
是不是在系统初始化时某个函数把它置1了。我在看门狗初始化和系统初始化中查了一遍并没有看到哪个地方有初始化该值的。

请问有人遇到过这个问题吗?是不是HAL库中什么地方初始化了,我用的HAL库版本时V1.11.1





会飞的猪_2020 发表于 2024-4-19 11:52:29

用的什么调试器?DAPLINK的话,我记得有个选项可以勾选的。

fendoushuai 发表于 2024-4-19 14:05:41

会飞的猪_2020 发表于 2024-4-19 11:52
用的什么调试器?DAPLINK的话,我记得有个选项可以勾选的。

使用的IAR+JLink
看了下配置选项里好像没有直接说这个的选项

eric2013 发表于 2024-4-19 14:29:16

这里也可以设置的。

H7-TOOL的高速DAPLINK或者其它下载器调试低功耗,看门狗之类的工程可以冻结他们,继续调试
https://www.armbbs.cn/forum.php?mod=viewthread&tid=110583&fromuid=58
(出处: 硬汉嵌入式论坛)

fendoushuai 发表于 2024-4-20 16:35:26

eric2013 发表于 2024-4-19 14:29
这里也可以设置的。

H7-TOOL的高速DAPLINK或者其它下载器调试低功耗,看门狗之类的工程可以冻结他们,继 ...

IAR中使用JLINK也有这种配置吗?在配置里看了一圈没有找到类似的设置

eric2013 发表于 2024-4-21 00:25:46

fendoushuai 发表于 2024-4-20 16:35
IAR中使用JLINK也有这种配置吗?在配置里看了一圈没有找到类似的设置

IAR里面好像没有类似设置,只能调用下API设置。

或者熟悉IAR语法的话,修改下对应芯片的.mac文件也可以

坚持再坚持 发表于 2024-4-26 09:00:48

楼主,独立看门狗的时钟由独立 RC 振荡器提供(可在待机和停止模式下运行),RCC 时钟控制和状态寄存器 (RCC_CSR)中的位0-LSION(内部低速振荡器使能位)初始值是0,默认关闭LSI RC振荡器。就是没有开启看门狗狗的LSI时钟啊?在F4的标准库函数中的相关例程中也没有看到在使用看门狗之前开启LSI时钟,所以存有疑问?

fendoushuai 发表于 5 天前

坚持再坚持 发表于 2024-4-26 09:00
楼主,独立看门狗的时钟由独立 RC 振荡器提供(可在待机和停止模式下运行),RCC 时钟控制和状态寄存器 (RC ...

不是时钟使能的问题。我在配置独立看门狗时使能了LSI时钟,看门狗可以正常工作,但是在Debug模式下,打断点时看门狗也停了,之前在F4上打断点时,看门狗是工作的,也就是断点时间超时的话芯片会复位,但是在H7下面断点超时了也没有复位
页: [1]
查看完整版本: H7 Debug打断点时,独立看门狗也停止了