HC32F030软件系统复位后 软件看门狗会关吗?
我在bootloader层没开看门狗(软件看门狗),但在APP层开了,当我从APP层用NVIC_SystemReset()跳到bootloader层时,发现看门狗居然还要继续喂狗? 软件复位不会关闭独立看门狗,除非硬件复位才会重置看门狗状态。 HC32F030的软件看门狗如果在APP层开启,复位跳回bootloader后依然需要喂狗。 这其实是设计使然,防止系统复位后死循环导致死机。 如果不想在bootloader喂狗,可以考虑在跳转前关闭看门狗。 也可以在bootloader里重新初始化看门狗,或延时关闭。 软复位只是重新执行程序,不影响外设硬件的状态,包括看门狗。 有些芯片支持软件看门狗的关闭命令,具体看HC32F030手册。 你可以尝试用硬件复位(比如复位引脚)看看看门狗是否被重置。 在bootloader里设置看门狗合适的喂狗策略,避免死机又不影响升级。 调试时可通过调试器查看看门狗寄存器状态,确认是否复位了。 喂狗是不能间断的 软件看门狗(SWDT)的硬件模块在芯片复位(包括NVIC_SystemReset()触发的复位)后并未被自动关闭,其运行状态具有 “复位穿越性” Uriah 发表于 2025-7-31 16:10在bootloader里设置看门狗合适的喂狗策略,避免死机又不影响升级。
核心是在保证系统稳定(防止死机)的同时,为固件升级过程预留足够时间,避免升级中断。 周半梅 发表于 2025-7-31 16:05
HC32F030的软件看门狗如果在APP层开启,复位跳回bootloader后依然需要喂狗。
由其硬件设计特性决定的 Wordsworth 发表于 2025-7-31 16:08
软复位只是重新执行程序,不影响外设硬件的状态,包括看门狗。
HC32 系列的复位机制中,软复位属于 “核心域复位” 周半梅 发表于 2025-7-31 16:05
HC32F030的软件看门狗如果在APP层开启,复位跳回bootloader后依然需要喂狗。
即使通过复位跳回 bootloader 仍需喂狗,这是由其硬件设计特性决定的, 周半梅 发表于 2025-7-31 16:05
HC32F030的软件看门狗如果在APP层开启,复位跳回bootloader后依然需要喂狗。
bootloader 初始化时强制关闭 SWDT
页:
[1]