xt-sdk 文档 v1.0.3
xt-sdk 嵌入式 SDK API 参考
载入中...
搜索中...
未找到
xt_hal_wdt - 看门狗驱动

版本:0.1 | 日期:2026-07-03 | 路径: platforms/components/xtiny/xt_hal/


一、概述

xt_hal_wdt 是 xtiny 平台的看门狗(Watchdog Timer)驱动模块,提供初始化、喂狗、关闭三个接口。

设计理念: 最少接口,必要时回调 。看门狗的核心功能只有"设置超时"和"喂狗",模块仅抽象这两点,用户在超时回调中可执行复位或其他安全操作。

1.1 设计原则

  • 简洁到极致 :仅三个函数,够用不冗余
  • 超时回调 :看门狗超时时调用用户注册的回调函数(不等同于硬件复位,具体行为由平台和回调实现决定)
  • 无 ID 参数 :通常系统中只有一个看门狗,无需指定 ID

1.2 依赖

仅依赖 xt_hal_internal.h ( xt_error.h )。


二、核心概念

2.1 超时时间语义

xt_hal_wdt_setup 的 timeout 参数单位和最大值取决于具体平台。例如某些平台单位为毫秒,某些平台以硬件计数周期为单位。调用者需要参考目标平台的实现文档确定有效范围。

2.2 回调函数

xt_hal_wdt_cb_t 是无参数、无返回值的函数指针。超时发生时此函数被调用。典型用法是在回调中执行系统复位或记录错误日志后复位。


三、API 参考

以下为函数签名大纲,完整的参数说明、返回值、注意事项请查看 xt_hal_wdt(看门狗驱动) 。

3.1 生命周期

函数签名 说明
xt_err_t xt_hal_wdt_setup(uint32_t timeout, xt_hal_wdt_cb_t cb) 初始化看门狗,设置超时时间和回调
xt_err_t xt_hal_wdt_close(void) 关闭看门狗

3.2 运行时

函数签名 说明
xt_err_t xt_hal_wdt_feed(void) 喂狗,刷新看门狗计数器

3.3 类型

类型签名 说明
typedef void (*xt_hal_wdt_cb_t)(void) 看门狗超时回调函数类型

四、常见模式

4.1 基本使用流程

#include "xt_hal_wdt.h"
static void wdt_callback(void)
{
sys_reset();
}
void main(void)
{
xt_hal_wdt_setup(5000, wdt_callback);
while (1) {
do_work();
}
}
xt_err_t xt_hal_wdt_setup(uint32_t timeout, xt_hal_wdt_cb_t cb)
初始化看门狗
xt_err_t xt_hal_wdt_feed(void)
喂狗(刷新看门狗计数)
XTINY HAL WDT(看门狗)模块接口

五、已知行为与限制

  • timeout 单位和范围取决于平台实现
  • 看门狗启动后无法动态更改超时时间,需要先 close 再 setup
  • close 后可能无法再次启动(取决于平台硬件特性)
  • 回调中不应执行耗时操作,尽快复位或置安全状态