Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
8ea4a61b
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看板
提交
8ea4a61b
编写于
11月 16, 2021
作者:
Z
zhang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
modify hdf document
Signed-off-by:
N
zhang
<
zhangfengxi@huawei.com
>
上级
737c88f5
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
61 addition
and
63 deletion
+61
-63
zh-cn/device-dev/driver/driver-hdf-development.md
zh-cn/device-dev/driver/driver-hdf-development.md
+61
-63
未找到文件。
zh-cn/device-dev/driver/driver-hdf-development.md
100644 → 100755
浏览文件 @
8ea4a61b
...
...
@@ -66,84 +66,82 @@ HDF框架以组件化的驱动模型作为核心设计思路,为开发者提
HDF_INIT(g_sampleDriverEntry);
```
2.
驱动编译
- liteos
涉及makefile和BUILD.gn修改:
makefile部分:
驱动代码的编译必须要使用HDF框架提供的Makefile模板进行编译。
```
include $(LITEOSTOPDIR)/../../drivers/adapter/lite/khdf/lite.mk #导入hdf预定义内容,必需
MODULE_NAME := #生成的结果文件
LOCAL_INCLUDE := #本驱动的头文件目录
LOCAL_SRCS := #本驱动的源代码文件
LOCAL_CFLAGS := #自定义的编译选项
include $(HDF_DRIVER) #导入模板makefile完成编译
```
编译结果文件链接到内核镜像,添加到drivers/adapter/khdf/liteos目录下的hdf_lite.mk里面,示例如下:
```
LITEOS_BASELIB += -lxxx #链接生成的静态库
LIB_SUBDIRS += #驱动代码Makefile的目录
```
BUILD.gn部分:
添加模块BUILD.gn参考定义如下内容:
import("//build/lite/config/component/lite_component.gni")
import("//drivers/adapter/khdf/liteos/hdf.gni")
module_switch = defined(LOSCFG_DRIVERS_HDF_PLATFORM)
module_name = "xxx"
hdf_driver(module_name) {
sources = [
"xxx/xxx/xxx.c",
]
public_configs = [ ":public" ] --添加依赖头文件
}
config("public") { --定义依赖的头文件
include_dirs = [
]
}
把新增的BUILD.gn所在的目录添加到/drivers/adapter/khdf/liteos/BUILD.gn里面:
```
group("liteos") {
public_deps = [ ":$module_name" ]
deps = [
"xxx/xxx", --新增的BUILD.gn所在的目录
]
}
```
-
linux:
2.
驱动编译
-
liteos
涉及makefile和BUILD.gn修改:
makefile部分:
驱动代码的编译必须要使用HDF框架提供的Makefile模板进行编译。
```
include $(LITEOSTOPDIR)/../../drivers/adapter/lite/khdf/lite.mk #导入hdf预定义内容,必需
MODULE_NAME := #生成的结果文件
LOCAL_INCLUDE := #本驱动的头文件目录
LOCAL_SRCS := #本驱动的源代码文件
LOCAL_CFLAGS := #自定义的编译选项
include $(HDF_DRIVER) #导入模板makefile完成编译
```
编译结果文件链接到内核镜像,添加到drivers/adapter/khdf/liteos目录下的hdf_lite.mk里面,示例如下:
```
LITEOS_BASELIB += -lxxx #链接生成的静态库
LIB_SUBDIRS += #驱动代码Makefile的目录
```
BUILD.gn部分:
添加模块BUILD.gn参考定义如下内容:
```
import("//build/lite/config/component/lite_component.gni")
import("//drivers/adapter/khdf/liteos/hdf.gni")
module_switch = defined(LOSCFG_DRIVERS_HDF_PLATFORM)
module_name = "xxx"
hdf_driver(module_name) {
sources = [
"xxx/xxx/xxx.c",
]
public_configs = [ ":public" ] --添加依赖头文件
}
config("public") { --定义依赖的头文件
include_dirs = [
]
}
```
把新增的BUILD.gn所在的目录添加到/drivers/adapter/khdf/liteos/BUILD.gn里面:
```
group("liteos") {
public_deps = [ ":$module_name" ]
deps = [
"xxx/xxx", --新增的BUILD.gn所在的目录
]
}
```
-
linux
如果需要定义模块控制宏,需要在模块目录xxx里面添加Kconfig文件,并把Kconfig文件路径添加到drivers/adapter/khdf/linux/Kconfig里面:
```
source "drivers/hdf/khdf/xxx/Kconfig"
source "drivers/hdf/khdf/xxx/Kconfig"
```
添加模块目录到drivers/adapter/khdf/linux/Makefile:
```
obj-$(CONFIG_DRIVERS_HDF) += xxx/
obj-$(CONFIG_DRIVERS_HDF) += xxx/
```
在模块目录xxx里面添加Makefile文件,在Makefile文件里面添加模块代码编译规则:
```
obj-y += xxx.o
obj-y += xxx.o
```
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录