news 2026/10/21 21:18:17

嵌入式驱动开发:量产级工程化实战 第 14 篇:看门狗策略设计——从“喂狗“到系统健康管理

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
嵌入式驱动开发:量产级工程化实战 第 14 篇:看门狗策略设计——从“喂狗“到系统健康管理

一次"看门狗形同虚设"的事故

某款工业控制器,MCU 是 STM32F407,跑 FreeRTOS,有三个任务:通信任务(优先级 5)、控制任务(优先级 4)、日志任务(优先级 2)。产品在客户现场运行,偶尔出现通信中断但系统没死机的情况——设备还在跑,但上位机收不到数据。

排查发现,根因是通信任务卡死了,但看门狗没有复位系统。

看门狗是怎么喂的呢?代码是这样的:

void vControlTask(void *pvParameters) { for (;;) { // 控制逻辑 Control_Update(); // 喂狗 HAL_IWDG_Refresh(&hiwdg); vTaskDelay(pdMS_TO_TICKS(10)); } }

看门狗在控制任务里喂。控制任务优先级 4,它正常运行,看门狗就不会超时。但通信任务优先级 5,如果它卡死在一个 while 循环里,不会阻塞控制任务(因为控制任务优先级低,但通信任务卡死时不会主动让出 CPU,除非有更高优先级任务抢占……等等,这里通信任务优先级 5 高于控制任务 4,如果通信任务卡死在一个死循环里,它会一直占用 CPU,控制任务根本无法运行,看门狗也不会被喂)。

等一下,这个场景需要仔细分析:

  • 如果通信任务卡死在死循环里,它优先级最高,会一直占用 CPU。

  • 控制任务优先级低,无法运行,

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/21 9:28:21

电池热管理 策略(加热)

1、xxx热管理系统原理 xxx热管理原理图如下2、动力电池加热控制策略 2.1 功能描述 当动力电池单体温度过低,可以启动PTC给动力电池加热的功能。 电机回路给电池加热功能:根据暖风状态及电池最低温度进行判断,将电机回路热水引入到电池回路…

作者头像 李华
网站建设 2026/10/18 6:21:52

如何搭建大麦网自动抢票系统:从API逆向到下单的完整指南

如何搭建大麦网自动抢票系统:从API逆向到下单的完整指南 【免费下载链接】Automatic_ticket_purchase 大麦网抢票脚本 项目地址: https://gitcode.com/GitHub_Trending/au/Automatic_ticket_purchase 热门演出开票时,票源在几秒内就被秒空&#x…

作者头像 李华
网站建设 2026/10/21 4:42:20

【JavaEE】HTTPS(面)

前面讲过运营商劫持 为了防止这一情况,现在用https进行加密 明文,就是要传说的原始数据 密文就是把明文进行一系列变化之后,得到一个看不懂的内容 加密就是明文到密文的过程 解密就是明文,密文到明文的过程 加密和解密的过程中&am…

作者头像 李华
网站建设 2026/10/21 0:36:08

大学生沉浸式讲解Python详细安装教程

1.1按电源键,打开电脑1.2点击浏览器,并输入www.python.org,进入python官网1.3点击官网中的Download,在左边边框选择适合自己的电脑系统1.4选择你自己需要安装python的版本1.5下载完成之后,在自己文件夹当中找到刚刚安装…

作者头像 李华
网站建设 2026/10/19 13:58:16

面试题 - 让你设计一个电路图,你是如何选择芯片的,要考虑那些

作为一名资深硬件工程师,在设计电路图并选择芯片时,需要考虑多个方面以确保所设计的系统性能可靠、成本合理且符合项目需求。以下是一些关键考量因素 1. 明确需求 功能要求:了解系统需要完成的功能,例如电源管理、信号处理、数据通信等。 性能指标:确定系统的性能指标,如…

作者头像 李华