@toc
简介
此文章以openharmony 3.1代码基础
- 介绍liteos-a
ipcamera_hispark_taurus
上添加khdf步骤。 - 介绍驱动的简单调用(3516开发板:HiSpark_AI_Hi3516D_One_Light_VER.B开发板上测试)
驱动添加
驱动目录结构
驱动代码见附件
驱动目录以外的文件配置
-
文件
drivers\adapter\khdf\liteos\hdf_lite.mk
# my sample test ifeq ($(LOSCFG_DRIVERS_HDF_MY_SAMPLE_DRIVER), y) LITEOS_BASELIB += -lmy_sample_driver LIB_SUBDIRS += $(LITEOS_DRIVERS_HDF)/my_sample_driver endif
-
文件
drivers\adapter\khdf\liteos\Kconfig
source "../../drivers/adapter/khdf/liteos/my_sample_driver/Kconfig"
- 文件
drivers\adapter\khdf\liteos\BUILD.gn
- 文件
vendor\hisilicon\hispark_taurus\hdf_config\device_info\device_info.hcs
my_sample :: host { hostName = "my_sample_host"; device_mysample :: device { device0 :: deviceNode { // DeviceNode of the sample driver policy = 2; // Driver service release policy. For details, see section Driver Service Management. priority= 10; // Driver startup priority (0-200). A larger value indicates a lower priority. The default value 100 is recommended. If the priorities are the same, the device loading sequence is random. preload = 0; // On-demand loading of the driver. For details, see "NOTE" at the end of this section. permission = 0664; // Permission for the driver to create device nodes. moduleName = "my_sample_driver"; // Driver name. The value of this field must be the same as the value of moduleName in the driver entry structure. serviceName = "my_sample_service"; // Name of the service released by the driver. The name must be unique. } } }
驱动编译配置
- 从代码根目录切换到
kernel/liteos_a/
cd kernel/liteos_a/
- 执行
make menuconfig
选择driver
选择framework support
选择my_sample driver
按q
,保存退出驱动调用可执行程序
目录结构
- 驱动调用代码
驱动调用可执行程序详细代码见附件
代码目录结构之外的文件配置
- 文件
build\lite\components\myapp.json
{ "components": [ { "component": "myapp", "description": "my app", "optional": "false", "dirs": [ "myapp" ], "targets": [ "//myapp:myapp" ], "rom": "", "ram": "", "output": [ ], "adapted_kernel": [ "liteos_a", "liteos_m" ], "features": [], "deps": { "third_party": [ "bounds_checking_function" ], "components": [] } } ] }
- 文件`vendor\hisilicon\hispark_taurus\config.json`
```json
{
"subsystem": "myapp",
"components": [
{ "component": "myapp", "features":[] }
]
}
编译
编译环境参考:3516应用调用到驱动实践
执行下面2条命令。
hb set
.
执行hb build -f
烧录测试
烧录步骤参考:3516应用调用到驱动实践
切换到/bin目录下执行:./my_sample_driver_test
结果如图:
官网文档
附件链接:https://ost.51cto.com/resource/1768
想了解更多关于鸿蒙的内容,请访问:
51CTO和华为官方合作共建的鸿蒙技术社区
https://ost.51cto.com/#bkwz
::: hljs-center
:::