一、看门狗是什么?先建立准确的直觉1.1 为什么需要看门狗嵌入式程序运行时,可能因为各种意外情况"跑飞"或者卡死: 外部干扰导致程序计数器PC跳到了错误的地址 某个外设操作卡在了死循环里等一个永远不会来的标志位 之前"内存管理笔记"提到的栈溢出踩坏了关键数据 第三方库或者自己代码里的隐藏bug,某些边界条件下进入死循环 这些情况一旦发生,产品可能就此完全失去响应, 如果是没人值守的现场设备(工业控制器、传感器节点), 没有人能随时跑去手动按复位键,产品会一直卡死在那里。 看门狗就是解决这个问题的硬件机制: 一个独立运行的计数器,program必须在计数器溢出之前"定期打卡"(俗称"喂狗"), 如果因为程序跑飞、卡死,导致长时间没有"打卡", 看门狗就会认定"程序已经失控",强制触发芯片复位,让系统重新启动、恢复运行 这不是"修复bug",而是一种"失控之后的兜底恢复手段"—— 出现异常时,与其让设备一直死机,不如自动重启,至少能恢复响应, 生产环境里能大幅降低"死机后需要人工现场处理"的概率。1.2 STM32F103 的两种看门狗——对比清楚才不会用混对比项IWDG(独立看门狗)WWDG(窗口看门狗)时钟来源独立的内部低速时钟LSI(约40kHz)挂在APB1总线时钟(PCLK1)上与主时
看门狗(IWDG/WWDG)+ CRC硬件校验 完全笔记【STM32F103 标准库实现】
一、看门狗是什么?先建立准确的直觉1.1 为什么需要看门狗嵌入式程序运行时,可能因为各种意外情况"跑飞"或者卡死: 外部干扰导致程序计数器PC跳到了错误的地址 某个外设操作卡在了死循环里等一个永远不会来的标志位 之前"内存管理笔记"提到的栈溢出踩坏了关键数据 第三方库或者自己代码里的隐藏bug,某些边界条件下进入死循环 这些情况一旦发生,产品可能就此完全失去响应, 如果是没人值守的现场设备(工业控制器、传感器节点), 没有人能随时跑去手动按复位键,产品会一直卡死在那里。 看门狗就是解决这个问题的硬件机制: 一个独立运行的计数器,program必须在计数器溢出之前"定期打卡"(俗称"喂狗"), 如果因为程序跑飞、卡死,导致长时间没有"打卡", 看门狗就会认定"程序已经失控",强制触发芯片复位,让系统重新启动、恢复运行 这不是"修复bug",而是一种"失控之后的兜底恢复手段"—— 出现异常时,与其让设备一直死机,不如自动重启,至少能恢复响应, 生产环境里能大幅降低"死机后需要人工现场处理"的概率。1.2 STM32F103 的两种看门狗——对比清楚才不会用混对比项IWDG(独立看门狗)WWDG(窗口看门狗)时钟来源独立的内部低速时钟LSI(约40kHz)挂在APB1总线时钟(PCLK1)上与主时
相关文章
eBPF 网络调优:用 tc-bpf 在 Linux 内核层实现智能流量整形
eBPF 网络调优:用 tc-bpf 在 Linux 内核层实现智能流量整形 一、传统 QoS 的局限性:tc 规则在万兆网络中的性能瓶颈 Linux 的 Traffic Control(tc)子系统是网络流量管理的标准工具,但它的分类器(classifier…
7MB 嵌入模型 Ternlight:无需 API,CPU 毫秒级完成文本嵌入
【导语:Ternlight 作为一款仅 7MB 大小的嵌入模型,无需调用 API,能在 CPU 上运行,可在毫秒级完成文本嵌入。它还能在浏览器中运行,以单个 npm 包形式发布,使用便捷。】7MB 模型:轻量部署毫秒级嵌…
高压隔离技术:ISOM8710与TM4C129XNCZAD的工业应用
1. 高压安全隔离技术概述在工业自动化、电力电子和医疗设备等领域,高压系统与低压控制电路之间的安全隔离是系统设计的核心需求。ISOM8710数字隔离器与TM4C129XNCZAD微控制器的组合,为解决这类高压隔离挑战提供了可靠且高效的解决方案。高压隔离的核心目…
openEuler ROS安全实践:保障机器人系统安全的7个关键策略
openEuler ROS安全实践:保障机器人系统安全的7个关键策略 【免费下载链接】ros It provides ROS source for openEuler 项目地址: https://gitcode.com/openeuler/ros 前往项目官网免费下载:https://ar.openeuler.org/ar/ 在机器人技术快速发展的…
digest-list-tools架构解析:理解摘要列表的生命周期管理
digest-list-tools架构解析:理解摘要列表的生命周期管理 【免费下载链接】digest-list-tools IMA digest list extension userspace tools 项目地址: https://gitcode.com/openeuler/digest-list-tools 前往项目官网免费下载:https://ar.openeule…
memwatch架构解析:轻量级设计背后的内存检测原理
memwatch架构解析:轻量级设计背后的内存检测原理 【免费下载链接】memwatch a lightweight debugging tool that can tolerant memory leak and corruption detection. 项目地址: https://gitcode.com/openeuler/memwatch 前往项目官网免费下载:h…
贡献uwal项目:从Fork到PR的完整流程指南
贡献uwal项目:从Fork到PR的完整流程指南 【免费下载链接】uwal Uwal acclerates the DBs based on UBS-Comms components over UB superpods. 项目地址: https://gitcode.com/openeuler/uwal 前往项目官网免费下载:https://ar.openeuler.org/ar/ …
PyTorch 2.0 可复现性深度排查:3个GPU训练结果不一致的案例与解决方案
PyTorch 2.0可复现性深度排查:GPU训练结果不一致的终极解决方案在深度学习研究领域,实验结果的可复现性一直是个令人头疼的问题。特别是当使用PyTorch进行GPU加速训练时,即使设置了随机种子,依然可能遇到多次运行结果不一致的情况…
kml_adapter在科学计算中的应用:从理论到实践的全方位解析
kml_adapter在科学计算中的应用:从理论到实践的全方位解析 【免费下载链接】kml_adapter Adapter for Kunpeng Math Library 项目地址: https://gitcode.com/openeuler/kml_adapter 前往项目官网免费下载:https://ar.openeuler.org/ar/ openEule…
VOC/COCO/YOLO 3种格式互转实战:Python脚本实现80%代码复用
VOC/COCO/YOLO 3种格式互转实战:Python脚本实现80%代码复用 在计算机视觉项目中,数据格式转换是算法工程师和数据工程师的日常痛点。当你需要将PASCAL VOC格式的数据集迁移到YOLOv7训练框架,或是将COCO格式的标注转换为轻量化的TXT格式时&…
3大核心能力重塑《明日方舟》游戏体验:MAA自动化助手的革命性突破
3大核心能力重塑《明日方舟》游戏体验:MAA自动化助手的革命性突破 【免费下载链接】MaaAssistantArknights 《明日方舟》小助手,全日常一键长草!| A one-click tool for the daily tasks of Arknights, supporting all clients. 项目地址: …
高精度模拟信号数字化方案:ADS122U04与dsPIC33EP512MU810应用
1. 项目概述:高精度模拟信号数字化方案在工业测量、医疗设备和环境监测等领域,我们经常需要将温度、压力、光照等模拟信号转换为数字信号进行处理。ADS122U04和dsPIC33EP512MU810的组合,为这类应用提供了高精度、低功耗的解决方案。ADS122U04…
3步彻底解决Windows右键菜单混乱问题:ContextMenuManager使用全攻略
3步彻底解决Windows右键菜单混乱问题:ContextMenuManager使用全攻略 【免费下载链接】ContextMenuManager 🖱️ 纯粹的Windows右键菜单管理程序 项目地址: https://gitcode.com/gh_mirrors/co/ContextMenuManager 你是否曾为Windows右键菜单中那些…
从GitHub安全案例解析常见漏洞与防护实践
1. 项目概述:从GitHub Trending看安全实战 最近在GitHub Trending上看到一个项目,叫 skills4/skills ,它因为一些安全漏洞案例被大家讨论。这其实是一个挺典型的场景:一个旨在展示或教授某种技能的仓库,本身却成了安…
MLT 2026启示:因果推理与概率建模驱动下一代LLM应用
# MLT 2026启示:因果推理与概率建模驱动下一代LLM应用## 一、背景与挑战:从“黑箱预测”到“可信推理”2026年6月,第7届机器学习与趋势国际会议(MLT 2026)将在悉尼召开。会议议程中,“因果与可解释机器学习…
FAE放射组学分析工具:医学影像特征探索的完整解决方案
FAE放射组学分析工具:医学影像特征探索的完整解决方案 【免费下载链接】FAE FeAture Explorer 项目地址: https://gitcode.com/gh_mirrors/fae/FAE 你是否曾经面对海量医学影像数据感到无从下手?想要从CT、MRI等影像中提取有价值的定量特征&#…
0.69B参数实现中文多模态AI:揭秘Qwen3-SmVL模型融合技术的完整实战指南
0.69B参数实现中文多模态AI:揭秘Qwen3-SmVL模型融合技术的完整实战指南 【免费下载链接】happy-llm 📚 从零开始构建大模型 项目地址: https://gitcode.com/GitHub_Trending/ha/happy-llm 还在为大型多模态模型动辄数十亿参数、显存占用高而烦恼&…
解锁AMD Ryzen处理器性能潜力的SMU调试神器:从新手到专家的完整指南
解锁AMD Ryzen处理器性能潜力的SMU调试神器:从新手到专家的完整指南 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址…