Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
a2260393
D
Docs
项目概览
OpenHarmony
/
Docs
1 年多 前同步成功
通知
159
Star
292
Fork
28
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
a2260393
编写于
4月 12, 2022
作者:
L
liyan
提交者:
Gitee
4月 12, 2022
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
将切换纯净版导致的机器命名图片改为正常命名图片
Signed-off-by:
N
li-yan339
<
liyan339@h-partners.com
>
上级
a1156b55
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
14 addition
and
6 deletion
+14
-6
zh-cn/device-dev/driver/driver-hdf-development.md
zh-cn/device-dev/driver/driver-hdf-development.md
+14
-6
未找到文件。
zh-cn/device-dev/driver/driver-hdf-development.md
浏览文件 @
a2260393
...
...
@@ -7,7 +7,7 @@ HDF框架以组件化的驱动模型作为核心设计思路,为开发者提
**图1**
HDF驱动模型
!
[
zh-cn_image_0000001153947412
](
figures/zh-cn_image_0000001153947412
.png
)
!
[
HDF驱动模型
](
figures/HDF驱动模型
.png
)
## 驱动开发步骤
...
...
@@ -15,6 +15,7 @@ HDF框架以组件化的驱动模型作为核心设计思路,为开发者提
基于HDF框架进行驱动的开发主要分为两个部分,驱动实现和驱动配置,详细开发流程如下所示:
1.
驱动实现
驱动实现包含驱动业务代码和驱动入口注册,具体写法如下:
-
驱动业务代码
...
...
@@ -64,10 +65,12 @@ HDF框架以组件化的驱动模型作为核心设计思路,为开发者提
2.
驱动编译
-
liteos
涉及makefile和BUILD.gn修改:
- makefile部分:
驱动代码的编译必须要使用HDF框架提供的Makefile模板进行编译。
驱动代码的编译必须要使用HDF框架提供的Makefile模板进行编译。
```
...
...
@@ -79,7 +82,7 @@ HDF框架以组件化的驱动模型作为核心设计思路,为开发者提
include $(HDF_DRIVER) #导入模板makefile完成编译
```
编译结果文件链接到内核镜像,添加到drivers/adapter/khdf/liteos目录下的hdf_lite.mk里面,示例如下:
编译结果文件链接到内核镜像,添加到drivers/adapter/khdf/liteos目录下的hdf_lite.mk里面,示例如下:
```
...
...
@@ -88,7 +91,8 @@ HDF框架以组件化的驱动模型作为核心设计思路,为开发者提
```
- BUILD.gn部分:
添加模块BUILD.gn参考定义如下内容:
添加模块BUILD.gn参考定义如下内容:
```
...
...
@@ -121,6 +125,7 @@ HDF框架以组件化的驱动模型作为核心设计思路,为开发者提
}
```
-
linux
如果需要定义模块控制宏,需要在模块目录xxx里面添加Kconfig文件,并把Kconfig文件路径添加到drivers/adapter/khdf/linux/Kconfig里面:
...
...
@@ -143,12 +148,14 @@ HDF框架以组件化的驱动模型作为核心设计思路,为开发者提
```
3.
驱动配置
HDF使用HCS作为配置描述源码,HCS详细介绍参考
[
配置管理
](
../driver/driver-hdf-manage.md
)
介绍。
驱动配置包含两部分,HDF框架定义的驱动设备描述和驱动的私有配置信息,具体写法如下:
-
驱动设备描述(必选)
HDF框架加载驱动所需要的信息来源于HDF框架定义的驱动设备描述,因此基于HDF框架开发的驱动必须要在HDF框架定义的device_info.hcs配置文件中添加对应的设备描述,驱动的设备描述填写如下所示:
HDF框架加载驱动所需要的信息来源于HDF框架定义的驱动设备描述,因此基于HDF框架开发的驱动必须要在HDF框架定义的device_info.hcs配置文件中添加对应的设备描述,驱动的设备描述填写如下所示:
```
...
...
@@ -205,7 +212,8 @@ HDF框架以组件化的驱动模型作为核心设计思路,为开发者提
caps值:比如业务模块要配置CAP_DAC_OVERRIDE,此处需要填写 caps = ["DAC_OVERRIDE"],不能填写为caps = ["CAP_DAC_OVERRIDE"]。
-
驱动私有配置信息(可选)
如果驱动有私有配置,则可以添加一个驱动的配置文件,用来填写一些驱动的默认配置信息,HDF框架在加载驱动的时候,会将对应的配置信息获取并保存在HdfDeviceObject 中的property里面,通过Bind和Init(参考步骤1)传递给驱动,驱动的配置信息示例如下:
如果驱动有私有配置,则可以添加一个驱动的配置文件,用来填写一些驱动的默认配置信息,HDF框架在加载驱动的时候,会将对应的配置信息获取并保存在HdfDeviceObject 中的property里面,通过Bind和Init(参考步骤1)传递给驱动,驱动的配置信息示例如下:
```
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录