简介
此文章以openharmony 3.1代码基础
介绍liteos-a ipcamera_hispark_taurus上添加khdf步骤。
介绍驱动的简单调用(3516
开发板:HiSpark_AI_Hi3516D_One_Light_VER.B开发板上测试)
驱动添加
驱动目录结构
驱动目录以外的文件配置
文件driversadapterkhdfliteoshdf_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
文件driversadapterkhdfliteosKconfig
source "../../drivers/adapter/khdf/liteos/my_sample_driver/Kconfig"
文件driversadapterkhdfliteosBUILD.gn
文件vendorhisiliconhispark_taurushdf_configdevice_infodevice_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 sec
tion 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,保存退出
驱动调用可执行程序
目录结构
驱动调用代码
代码目录结构之外的文件配置
文件buildlitecomponentsmyapp.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": []
}
}
]
}
文件vendorhisiliconhispark_taurusconfig.json
{
"subsystem": "myapp",
"components": [
{ "component": "myapp", "features":[] }
]
}
编译
编译环境参考:3516应用调用到驱动实践 执行下面2条命令。
hb set.
执行hb build -f
烧录测试
切换到/bin目录下执行:./my_sample_driver_test 结果如图: