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

在这里插入图片描述

一、 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独立服务模式结构图

请添加图片描述

3.1、开发步骤(待续…)

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

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

坚持就有收获

在这里插入图片描述

相关推荐

最近更新

  1. TCP协议是安全的吗?

    2024-02-21 07:32:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-21 07:32:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-21 07:32:01       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-21 07:32:01       20 阅读

热门阅读

  1. 大语言模型LLM中Transformer模型的调用过程与步骤

    2024-02-21 07:32:01       27 阅读
  2. 【Hadoop】如何给hadoop集群增加一个队列

    2024-02-21 07:32:01       29 阅读
  3. 使用apoc将数据从数据库导入neo4j

    2024-02-21 07:32:01       32 阅读
  4. 小脑萎缩患者平时生活中应该注意哪些?

    2024-02-21 07:32:01       24 阅读
  5. 【clickhouse笔记】 查询表或列的磁盘占用大小

    2024-02-21 07:32:01       30 阅读
  6. 高速自动驾驶智慧匝道(HIC)系统功能规范

    2024-02-21 07:32:01       32 阅读