HCIA-HarmonyOS设备开发认证V2.0-IOT硬件子系统-WatchDog

在这里插入图片描述

目录

  • 一、 WATCHDOG 概述
    • 功能简介
    • 基本概念
  • 二、WATCHDOG 模块相关API
  • 三、WATCHDOG HDF驱动开发
    • 3.1、开发步骤(待续...)
  • 坚持就有收获

一、 WATCHDOG 概述

功能简介

看门狗(Watchdog),又称看门狗计时器(Watchdog timer),是一种硬件计时设备。一般有一个输入、一个输出,输入叫做喂狗,输出连接到系统的复位端。当系统主程序发生错误导致未及时清除看门狗计时器的计时值时,看门狗计时器就会对系统发出复位信号,使系统从悬停状态恢复到正常运作状态。

基本概念

系统正常工作的时候,每隔一段时间输出一个信号到喂狗端,给看门狗清零,这个操作就叫做喂狗。如果超过规定的时间不喂狗,看门狗定时超时,就会给出一个复位信号到系统,使系统复位。

WATCHDOG 操作流程如下:

请添加图片描述

二、WATCHDOG 模块相关API

头文件路径:base/iothardware/peripheral/interfaces/inner_api/iot_watchdog.h

接口函数 描述
void IoTWatchDogEnable(void) 使能看门狗
void IoTWatchDogKick(void) 喂狗
void IoTWatchDogDisable(void) 关闭看门狗

三、WATCHDOG HDF驱动开发

在HDF框架中,Watchdog接口适配模式采用独立服务模式(如图1所示)。在这种模式下,每一个设备对象会独立发布一个设备服务来处理外部访问,设备管理器收到API的访问请求之后,通过提取该请求的参数,达到调用实际设备对象的相应内部方法的目的。独立服务模式可以直接借助HDF设备管理器的服务管理能力,但需要为每个设备单独配置设备节点,增加内存占用。

独立服务模式下,核心层不会统一发布一个服务供上层使用,因此这种模式下驱动要为每个控制器发布一个服务,具体表现为:

驱动适配者需要实现HdfDriverEntry的Bind钩子函数以绑定服务。

device_info.hcs文件中deviceNode的policy字段为1或2,不能为0。

Watchdog模块各分层作用:

接口层提供打开看门狗设备、获取看门狗设备状态、启动看门狗设备、设置看门狗设备超时时间、获取看门狗设备超时时间、喂狗、停止看门狗设备超时时间、关闭看门狗设备的接口。

核心层主要提供看门狗控制器的添加、移除以及管理的能力,通过钩子函数与适配层交互。

适配层主要是将钩子函数的功能实例化,实现具体的功能。

图 1 Watchdog独立服务模式结构图

HCIA-HarmonyOS设备开发认证V2.0-IOT硬件子系统-WatchDog_第1张图片

3.1、开发步骤(待续…)

Watchdog模块适配包含以下四个步骤:

  • 实例化驱动入口
  • 配置属性文件
  • 实例化Watchdog控制器对象
  • 驱动调试

坚持就有收获

在这里插入图片描述

你可能感兴趣的:(harmonyos,物联网,华为,OpenHarmony,LiteOS)