当前位置: 首页 > wzjs >正文

长春做网站4435seo网站推广优化论文

长春做网站4435,seo网站推广优化论文,湛江seo咨询,信阳网站建设哪家好一、HDF驱动简介 HDF(Hardware Driver Foundation)驱动框架,为驱动开发者提供驱动框架能力,包括驱动加载、驱动服务管理、驱动消息机制和配置管理。 简单来说:HDF框架的驱动和Linux的驱动比较相似都是由配置文件和驱动…

一、HDF驱动简介

HDF(Hardware Driver Foundation)驱动框架,为驱动开发者提供驱动框架能力,包括驱动加载、驱动服务管理、驱动消息机制和配置管理。
简单来说:HDF框架的驱动和Linux的驱动比较相似都是由配置文件和驱动源码组成。
HDF驱动:配置文件HCS + 驱动源码。
Linux驱动:配置文件DTS + 驱动源码。

二、HCS文件简介

HCS(HDF Configuration Source)是HDF驱动框架的配置描述源码,内容以Key-Value为主要形式。它实现了配置代码与驱动代码解耦,便于开发者进行配置管理。HC-GEN(HDF Configuration Generator)是HCS配置转换工具,可以将HDF配置文件转换为软件可读取的文件格式:

在弱性能环境中,转换为配置树源码或配置树宏定义,驱动可直接调用C代码或宏式APIs获取配置。
在高性能环境中,转换为HCB(HDF Configuration Binary)二进制文件,驱动可使用HDF框架提供的配置解析接口获取配置。

HCS文件示例:

root {device_info {match_attr = "hdf_manager";template host {hostName = "";priority = 100;template device {template deviceNode {policy = 0;priority = 100;preload = 0;permission = 0664;moduleName = "";serviceName = "";deviceMatchAttr = "";}}}base :: host {hostName = "base_host";priority = 50;device_support :: device {device0 :: deviceNode {policy = 2;priority = 10;permission = 0644;moduleName = "HDF_KEVENT";serviceName = "hdf_kevent";}}}}
}

上面是我从一个HCS文件中截取了一点内容,HCS子定义了一套格式。

三、HCS语法说明

下面是从官网的一个截图:
官方介绍

HCS经过HC-GEN编译生成HCB文件,HDF驱动框架中的HCS Parser模块会从HCB文件中重建配置树,HDF驱动模块使用HCS Parser提供的配置读取接口获取配置内容。

表3 HCS配置语法保留关键字

|关键字 | 用途 |说明|

关键字用途说明
root配置根节点-
include引用其他HCS配置文件-
delete删除节点或属性只能用于操作include导入的配置树
template定义模板节点-
match_attr用于标记节点的匹配查找属性解析配置时可以使用该属性的值查找到对应节点

HCS主要分为属性(Attribute)和节点(Node)两种结构。
详细语法说明参考:https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/driver/driver-hdf-manage.md

上面的示例代码中有:moduleName = “HDF_KEVENT”;
这块的 moduleName 和 DTS文件中驱动节点的 compatible 功能相同,用来匹配对应的驱动代码。

上面的示例代码中有:serviceName = “hdf_kevent”;
当驱动匹配成功后最终在/dev路径下面生成的节点名称 “hdf_kevent”。但是是否在/dev下面生成节点信息和policy的属性有关。

只有policy = 2时,在/dev下面才能看到节点信息。

typedef enum {/* 驱动不提供服务 */SERVICE_POLICY_NONE = 0,/* 驱动对内核态发布服务 */SERVICE_POLICY_PUBLIC = 1,/* 驱动对内核态和用户态都发布服务 */SERVICE_POLICY_CAPACITY = 2,/* 驱动服务不对外发布服务,但可以被订阅 */SERVICE_POLICY_FRIENDLY = 3,/* 驱动私有服务不对外发布服务,也不能被订阅 */SERVICE_POLICY_PRIVATE = 4,/* 错误的服务策略 */SERVICE_POLICY_INVALID
} ServicePolicy;

四、驱动代码介绍

驱动实现包含驱动业务代码实现和驱动入口注册,具体写法如下:

  • 驱动业务代码
#include "hdf_device_desc.h"          // HDF框架对驱动开发相关能力接口的头文件
#include "hdf_log.h"                  // HDF框架提供的日志接口头文件#define HDF_LOG_TAG sample_driver     // 打印日志所包含的标签,如果不定义则用默认定义的HDF_TAG标签。// 将驱动对外提供的服务能力接口绑定到HDF框架。
int32_t HdfSampleDriverBind(struct HdfDeviceObject *deviceObject)
{HDF_LOGD("Sample driver bind success");return HDF_SUCCESS;
}// 驱动自身业务初始化的接口
int32_t HdfSampleDriverInit(struct HdfDeviceObject *deviceObject)
{HDF_LOGD("Sample driver Init success");return HDF_SUCCESS;
}// 驱动资源释放的接口
void HdfSampleDriverRelease(struct HdfDeviceObject *deviceObject)
{HDF_LOGD("Sample driver release success");return;
}
  • 驱动入口注册到HDF框架
// 定义驱动入口的对象,必须为HdfDriverEntry(在hdf_device_desc.h中定义)类型的全局变量。
struct HdfDriverEntry g_sampleDriverEntry = {.moduleVersion = 1,.moduleName = "HDF_KEVENT",.Bind = HdfSampleDriverBind,.Init = HdfSampleDriverInit,.Release = HdfSampleDriverRelease,
};// 调用HDF_INIT将驱动入口注册到HDF框架中。在加载驱动时HDF框架会先调用Bind函数,再调用Init函数加载该驱动;当Init调用异常时,HDF框架会调用Release释放驱动资源并退出。
HDF_INIT(g_sampleDriverEntry);

只要驱动代码中的moduleName配置和HCS文件中moduleName配置内容相同就会执行驱动中的Bind函数,Bind函数执行成功后就会执行Init函数。如果Bind和Init函数有一个执行失败会立刻执行Release函数。

五、其他

今天就介绍到这里,我最近几年一直从事音频开发,主要做Linux、Open Harmony系统的音频开发。做过RK系列、海思和展锐的音频适配,大家有什么问题可以留言咨询。

http://www.dtcms.com/wzjs/7979.html

相关文章:

  • 做网站虚拟主机哪里有seo网站推广批发
  • 在小型网站建设小组百度seo点击工具
  • 泉州模板自助建站产品推广方案范文
  • 网站你啦怎样做旺仔饼干网络营销软文范例大全800
  • wordpress证书查询网站seo优化培训
  • 网站建设的重点百度安装应用
  • 深圳门户网站建设公司哪个网站学seo是免费的
  • 如何部署asp网站app推广员好做吗
  • 收费小说网站怎么做广告联盟论坛
  • wordpress 链接按钮网站文章优化技巧
  • 制作一个公司网站用vs怎么做网站建设服务
  • 视频网站砸钱做生态seo的研究对象
  • 多个招聘网站格式不一致如何做招聘记录seo推广价格
  • 网站建设推广公司价格数字营销是干啥的
  • 大连省建设厅网站青岛网站快速排名提升
  • 做个网站好还是做淘宝好什么平台发广告最有效
  • 绥化网站建设兼职淄博网站推广
  • 设计制作服务合同上海seo推广公司
  • html5 手机网站开发教程百度入口网址
  • 有关网站建设的外文参考文献网络营销课程个人总结范文
  • 科研网站建设营销是做什么
  • 企业网站建设专业精准乙 鸣远科技免费搭建网站平台
  • 制作app的费用广州百度推广排名优化
  • 什么是软件外包公司seo建站收费地震
  • 广告网站建设及推广百度搜索网站排名
  • 网页设计的交流网站软文推广文章
  • 外贸网页制作公司网络营销优化推广公司
  • 北京网站建设亿玛酷出名5淘宝关键词搜索
  • 海南省建设工程质量监督网站seo中国
  • 网站建设经验典型站长工具是做什么的