当前位置: 首页 > news >正文

看门狗机制深度解析:嵌入式系统死机防护的硬件秘钥

在严苛的工业或物联网场景中,嵌入式系统必须抵御死机威胁。看门狗定时器作为内置的“守护程序”,通过独立硬件电路实现监控独立性,确保在主程序崩溃时仍能触发重置,其应用要点决定系统韧性。

本文将分享正常运行情况和模拟故障场景两个示例,带你快速了解看门狗定时器在嵌入式系统中的运用要点。

image

最新源码及实操教程详见:https://docs.openluat.com/air8101/luatos/app/common/wdt/

注意:模组/芯片的内部硬狗,能解决绝大多数情况下的死机问题。但如果有要求非常高的场景, 依然建议外挂硬件,然后通过gpio/i2c定时喂狗。

一、正常运行情况

LuatOS的看门狗wdt操作库,为嵌入式系统提供了关键的系统稳定性保障机制。

在正常运行情况下,示例代码会初始化看门狗库,并设置超时时间和喂狗周期。然后创建一个任务,该任务会定期喂狗,以防止看门狗定时器超时。如果看门狗定时器超时,系统将自动重启。

1.1 完整示例代码

如下图,初始化wdt库,设置超时时间为9秒。设置一个定时器每3秒喂一次看门狗,确保设备在正常运行的情况下不会重启;若发生软件崩溃或硬件故障,最多18秒后将自动重启设备。

image

1.2 示例运行结果

Air8101核心板/开发板通过LuaTools烧录内核固件和demo脚本代码。烧录成功后开机运行,通过LuaTools日志查看运行结果。

设备启动,程序正常运行:

image

二、添加死循环模拟故障场景

我们在原有正常运行示例代码中创建了一个新的任务,命名为fault_task,它将进入一个死循环。由于这个新任务阻断了喂狗操作,设备将在超时后自动重启。这样,我们就可以有效地模拟看门狗的超时情况。

创建一个新的任务来模拟故障场景:

image

2.1 完整示例代码

image
image

2.2 示例运行结果

Air8101核心板/开发板通过LuaTools烧录内核固件和demo脚本代码。烧录成功后开机运行,通过LuaTools日志查看运行结果。

看门狗超时被触发,系统崩溃导致重启:
image

今天的内容就分享到这里了~

http://www.sczhlp.com/news/12383/

相关文章:

  • 在K8S中,Helm及其优势有哪些?
  • 分析慢查询
  • js常量枚举
  • Cursor限制国内使用claude gpt 等大模型解决方案
  • 百轮优化过的Cursor提示词
  • 给水和排水管道系统的设计和施工确实必须依据流体动力学模型来进行。这是因为流体动力学模型可以有效地预测和分析流体在管道中的行为,确保系统的运行稳定性、效率和安全性。
  • js带参数get提交到php
  • tomcat三种工作模式介绍
  • tomcat设置错误页面
  • Java面向对象——9.包
  • MySQL 定期备份与还原指南
  • 大肠杆菌重组蛋白表达致命痛点:包涵体 / 低表达 / 可溶性差?高效解决方案全解析!
  • tomcat多虚拟主机配置
  • GET与POST请求区别及JS示例
  • Vulnhub-
  • macOS m系列 11以上系统系统文件修改
  • 【日记】从被保护的网络里对外发起的攻击(1238 字)
  • tomcat配置https访问
  • 洛谷P1892 [BalticOI 2003] 团伙(拆点并查集)
  • Flutter Window添加右键菜单项并传递文件名
  • mac m系列修改系统文件
  • tomcat的server.xml配置文件解析
  • I2C总线协议
  • CMC蒲和平1.1
  • 【大二病也要学离散!】第五章 图的基本概念
  • 这些 PowerShell 示例可以帮助你有效地管理 Windows 系统中的 LPD 打印服务。你可以通过配置打印机共享、管理打印队列以及调整防火墙设置来优化和控制打印环境。
  • 综合调度 “四预” 决策支持系统
  • 【ACM出版】2025年生成式AI与数字媒体艺术国际学术会议 (GAIDMA 2025)
  • OpenCV入门(20):图像直方图
  • Intellij idea设置行断点条件