中国总决赛
√
全球总决赛
√
学习进度
待补充
省赛
能力分类
主要子系统
能力模型
驱动框架
驱动
HDF驱动
HDF(Hardware Driver Foundation)驱动框架,为驱动开发者提供驱动框架能力,包括驱动加载、驱动服务管理、驱动消息机制和配置管理。并以组件化驱动模型作为核心设计思路,让驱动开发和部署更加规范,旨在构建统一的驱动架构平台,为驱动开发者提供更精准、更高效的驱动管理的开发环境,力求做到一次开发,多系统部署。(考点)
驱动加载:preload
HDF驱动框架提供把和配置的设备列表匹配成功的驱动程序加载起来的功能。
- 按需加载
- 按序加载(默认):配置文件中的priority(取值范围为整数0到200)是用来表示host(驱动容器)和驱动的优先级的。不同的host内的驱动,host的priority值越小,驱动加载优先级越高;同一个host内驱动的priority值越小,加载优先级越高。
驱动服务管理:policy
HDF框架可以集中管理驱动服务,开发者可直接通过HDF框架对外提供的能力接口获取驱动相关的服务。
当驱动需要以接口的形式对外提供能力时,可以使用HDF框架的驱动服务管理能力。
驱动消息机制
HDF框架提供统一的驱动消息机制,支持用户态应用向内核态驱动发送消息,也支持内核态驱动向用户态应用发送消息。
当用户态应用和内核态驱动需要交互时,可以使用HDF框架的消息机制来实现。
消息机制的功能主要有以下两种:
- 用户态应用发送消息到驱动。
- 用户态应用接收驱动主动上报事件。
配置管理
HCS(HDF Configuration Source)是HDF驱动框架的配置描述源码,内容以Key-Value为主要形式。它实现了配置代码与驱动代码解耦,便于开发者进行配置管理。
HC-GEN(HDF Configuration Generator)是HCS配置转换工具,可以将HDF配置文件转换为软件可读取的文件格式:
- 在弱性能环境中,转换为配置树源码或配置树宏定义,驱动可直接调用C代码或宏式APIs获取配置。
- 在高性能环境中,转换为HCB(HDF Configuration Binary)二进制文件,驱动可使用HDF框架提供的配置解析接口获取配置。

驱动模型

例题
22.[单选题]
OpenHarmony为了统一驱动标准,为设备厂商提供了更统一的接入方式,使驱动更加容易移植,引入了以下哪种技术( )。
A: HDF
B: KAL
C: OSAL
D: HAL
正确答案:A
答案解析:暂无
23[判断题]
外设驱动是OpenHarmony在HDF驱动框架及平台驱动框架的基础上,面向外设器件驱动,提供常见的驱动抽象模型。
A:错误
B:正确
正确答案:B
答案解析:暂无
PWM:连续变化的数值控制
PWM即脉冲宽度调制(Pulse Width Modulation)的缩写,是一种对模拟信号电平进行数字编码并将其转换为脉冲的技术。
PWM接口
PWM接口定义了操作PWM设备的通用方法集合,包括:
- PWM设备句柄获取和释放
- PWM周期、占空比、极性的设置
- PWM使能和关闭
- PWM配置信息的获取和设置
PWM独立服务模式结构图

PWM使用流程

例题
32[单选题]
开发者设计了一款台灯,除了能控制灯的开关以外,还可以控制灯的亮度,该开发者可以选择以下哪一种驱动机制实现亮度的控制?
A. SPI
B. GPIO
C. ADC
D. PWM
正确答案:D
答案解析:PWM(脉冲宽度调制)是一种常用的控制技术,通过改变脉冲信号的占空比来控制输出的平均功率,从而实现对灯亮度的调节。
3.[多选题]
PWM驱动模块的使用场景有:
A:调节灯光亮度或颜色
B:马达调速
C:蜂鸣器播放和弦音乐
D:获取陀螺仪倾斜角度
正确答案:ABC
答案解析:暂无
I2C(驱动)
功能简介
I2C(Inter Integrated Circuit)总线是由Philips公司开发的一种简单、双向二线制同步串行总线。由于其硬件连接简单、成本低廉,因此被广泛应用于各种短距离通信的场景。
运作机制
I2C以主从方式工作,通常有一个主设备和一个或者多个从设备,主从设备通过SDA(SerialData)串行数据线以及SCL(SerialClock)串行时钟线两根线相连(如图1)。
I2C数据的传输必须以一个起始信号作为开始条件,以一个结束信号作为传输的停止条件。数据传输以字节为单位,高位在前,逐个bit进行传输。
I2C总线上的每一个设备都可以作为主设备或者从设备,而且每一个设备都会对应一个唯一的地址,当主设备需要和某一个从设备通信时,通过广播的方式,将从设备地址写到总线上,如果某个从设备符合此地址,将会发出应答信号,建立传输。
I2C接口定义了完成I2C传输的通用方法集合,包括:
- I2C控制器管理:打开或关闭I2C控制器
- I2C消息传输:通过消息传输结构体数组进行自定义传输
例题
21[判断题]
开发者采用I2C连接了A设备和B设备,而且在同一时刻,A设备可以与B设备同时进行双向数据传输。
A:错误
B:正确
正确答案:A
答案解析: I2C(Inter-Integrated Circuit)是一种两线式串行总线,同一时刻只能有一个设备作为发送器(主设备),另一个设备作为接收器(从设备),不能同时进行双向数据传输。