当前位置: 首页 > 科技观察

Openharmony新增内核驱动(L1)

时间:2023-03-12 16:40:24 科技观察

更多信息请访问:与华为官方共建的鸿蒙技术社区https://ost.51cto.com这里介绍文章介绍了基于openharmony3.1代码库的liteos-aipcamera_hispark_taurus上添加khdf的步骤。介绍一下驱动的简单调用(3516开发板:HiSpark_AI_Hi3516D_One_Light_VER.B开发板测试。驱动添加驱动目录结构驱动代码见附件。驱动目录外的文件配置文件drivers\adapter\khdf\liteos\hdf_lite.mk。#my示例testifeq($(LOSCFG_DRIVERS_HDF_MY_SAMPLE_DRIVER),y)LITEOS_BASELIB+=-lmy_sample_driverLIB_SUBDIRS+=$(LITEOS_DRIVERS_HDF)/my_sample_driverendiffiledrivers\adapter\khdf\liteos\Kconfig.source"../../literekers/dmy_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{//示例驱动的DeviceNodepolicy=2;//驱动服务发布策略。有关详细信息,请参阅驱动程序服务管理部分。优先级=10;//驱动程序启动优先级(0-200)。较大的值表示较低的优先级。建议使用默认值100。如果优先级相同,则设备加载顺序是随机的。预载=0;//按需加载驱动程序。有关详细信息,请参阅本节末尾的“注意”。许可=0664;//驱动程序创建设备节点的权限。moduleName="my_sample_driver";//驱动程序名称。该字段的值必须与驱动中moduleName的值相同入口结构。serviceName="my_sample_service";//驱动发布的服务名称。名称必须是唯一的。}}}将驱动编译配置从代码根目录切换到kernel/liteos_a/cdkernel/liteos_a/executemakemenuconfig。选择驱动程序。选择框架支持。选择my_sample驱动程序。按q保存并退出。驱动调用可执行程序目录结构驱动调用代码。驱动程序调用的可执行程序的详细代码见附件。代码目录结构之外的文件配置文件build\lite\components\myapp.json。{"components":[{"component":"myapp","description":"myapp","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。{"subsystem":"myapp","components":[{"component":"myapp","features":[]}]}编译编译环境参考:3516应用调用驱动实践。执行以下2个命令。hb集。执行hbbuild-f。烧录测试烧录步骤参考:3516应用调用驱动练习。切换到/bin目录,执行:./my_sample_driver_test。结果如图:官网文档更多内容请访问:与华为官方共建的鸿蒙技术社区https://ost.51cto.com