提交 8ea4a61b 编写于 作者: Z zhang

modify hdf document

Signed-off-by: Nzhang <zhangfengxi@huawei.com>
上级 737c88f5
...@@ -66,84 +66,82 @@ HDF框架以组件化的驱动模型作为核心设计思路,为开发者提 ...@@ -66,84 +66,82 @@ HDF框架以组件化的驱动模型作为核心设计思路,为开发者提
HDF_INIT(g_sampleDriverEntry); HDF_INIT(g_sampleDriverEntry);
``` ```
2. 驱动编译 2. 驱动编译
- liteos - liteos
​ 涉及makefile和BUILD.gn修改: ​ 涉及makefile和BUILD.gn修改:
​ makefile部分: ​ makefile部分:
​ 驱动代码的编译必须要使用HDF框架提供的Makefile模板进行编译。 ​ 驱动代码的编译必须要使用HDF框架提供的Makefile模板进行编译。
``` ```
include $(LITEOSTOPDIR)/../../drivers/adapter/lite/khdf/lite.mk #导入hdf预定义内容,必需 include $(LITEOSTOPDIR)/../../drivers/adapter/lite/khdf/lite.mk #导入hdf预定义内容,必需
MODULE_NAME := #生成的结果文件 MODULE_NAME := #生成的结果文件
LOCAL_INCLUDE := #本驱动的头文件目录 LOCAL_INCLUDE := #本驱动的头文件目录
LOCAL_SRCS := #本驱动的源代码文件 LOCAL_SRCS := #本驱动的源代码文件
LOCAL_CFLAGS := #自定义的编译选项 LOCAL_CFLAGS := #自定义的编译选项
include $(HDF_DRIVER) #导入模板makefile完成编译 include $(HDF_DRIVER) #导入模板makefile完成编译
``` ```
​ 编译结果文件链接到内核镜像,添加到drivers/adapter/khdf/liteos目录下的hdf_lite.mk里面,示例如下:
​ 编译结果文件链接到内核镜像,添加到drivers/adapter/khdf/liteos目录下的hdf_lite.mk里面,示例如下:
``` ```
LITEOS_BASELIB += -lxxx #链接生成的静态库 LITEOS_BASELIB += -lxxx #链接生成的静态库
LIB_SUBDIRS += #驱动代码Makefile的目录 LIB_SUBDIRS += #驱动代码Makefile的目录
``` ```
​ BUILD.gn部分: ​ BUILD.gn部分:
​ 添加模块BUILD.gn参考定义如下内容: ​ 添加模块BUILD.gn参考定义如下内容:
```
import("//build/lite/config/component/lite_component.gni") import("//build/lite/config/component/lite_component.gni")
import("//drivers/adapter/khdf/liteos/hdf.gni") import("//drivers/adapter/khdf/liteos/hdf.gni")
module_switch = defined(LOSCFG_DRIVERS_HDF_PLATFORM) module_switch = defined(LOSCFG_DRIVERS_HDF_PLATFORM)
module_name = "xxx" module_name = "xxx"
hdf_driver(module_name) { hdf_driver(module_name) {
sources = [ sources = [
"xxx/xxx/xxx.c", "xxx/xxx/xxx.c",
] ]
public_configs = [ ":public" ] --添加依赖头文件 public_configs = [ ":public" ] --添加依赖头文件
} }
config("public") { --定义依赖的头文件 config("public") { --定义依赖的头文件
include_dirs = [ include_dirs = [
] ]
} }
```
​ 把新增的BUILD.gn所在的目录添加到/drivers/adapter/khdf/liteos/BUILD.gn里面: ​ 把新增的BUILD.gn所在的目录添加到/drivers/adapter/khdf/liteos/BUILD.gn里面:
``` ```
group("liteos") { group("liteos") {
public_deps = [ ":$module_name" ] public_deps = [ ":$module_name" ]
deps = [ deps = [
"xxx/xxx", --新增的BUILD.gn所在的目录 "xxx/xxx", --新增的BUILD.gn所在的目录
] ]
} }
``` ```
- linux
- linux:
​ 如果需要定义模块控制宏,需要在模块目录xxx里面添加Kconfig文件,并把Kconfig文件路径添加到drivers/adapter/khdf/linux/Kconfig里面: ​ 如果需要定义模块控制宏,需要在模块目录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: ​ 添加模块目录到drivers/adapter/khdf/linux/Makefile:
``` ```
obj-$(CONFIG_DRIVERS_HDF) += xxx/ obj-$(CONFIG_DRIVERS_HDF) += xxx/
``` ```
​ 在模块目录xxx里面添加Makefile文件,在Makefile文件里面添加模块代码编译规则: ​ 在模块目录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.
先完成此消息的编辑!
想要评论请 注册