您当前的位置:首页 > 电脑百科 > 程序开发 > 移动端 > 鸿蒙

OpenHarmony 3.2 Release新特性解读之驱动HCS

时间:2023-06-01 13:55:38  来源:  作者:
HCS(HDF Configuration Source)是HDF驱动框架的配置描述源码,内容以Key-Value为主要形式。它实现了配置代码与驱动代码解耦,便于开发者进行配置管理。

OpenAtom OpenHarmony(以下简称“OpenHarmony”)开源社区,在今年4月正式发布了OpenHarmony 3.2 Release版本,标准系统能力进一步完善,提升了系统的整体性能、稳定性和安全性。此次版本对于驱动也提供了一些新的特性,极大的方便了驱动开发工作。其中针对HCS文件开发提供新的开发思路,本文就简单介绍一下相关内容。

1 、HCS宏式解析

(1)HCS概述

HCS(HDF Configuration Source)是HDF驱动框架的配置描述源码,内容以Key-Value为主要形式。它实现了配置代码与驱动代码解耦,便于开发者进行配置管理。

HC-GEN(HDF Configuration Generator)是HCS配置转换工具,可以将HDF配置文件转换为软件可读取的文件格式:

● 在弱性能环境中,转换为配置树源码或配置树宏定义,驱动可直接调用C代码或宏式APIs获取配置。

● 在高性能环境中,转换为HCB(HDF Configuration Binary)二进制文件,驱动可使用HDF框架提供的配置解析接口获取配置。

OpenHarmony 3.2 Release新特性解读之驱动HCS-开源基础软件社区

图1 配置使用流程图

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

(2)HCS宏式解析特性

HCS宏式解析主要是为了支持Mini类系统设备,是一种为Mini系统提供极小资源占用的HCS配置管理方案。之前的方案HCS文件完成编译之后会生成独立的二进制文件。在宏式解析之后生成一个代码文件,可以和驱动代码一起编译,这样就节省ROM空间,增加参数调用效率。

极致性能:

● 资源占用相比二进制解析降低50%。

● 解析在编译阶段完成,运行效率提升70%。

开发友好:

● 提供了适用于小型设备驱动软硬件解耦方案。

● 功能完备,支持节点和属性的查询、遍历、判断等操作。

HCS宏式解析功能的应用,极大的方便了开发者对于不同设备,相同驱动的移植适配工作,使得多场景、多功能Mini类系统设备的应用成为现实。

2 、HCS可视化编辑器

VScode提供hcsView扩展工具,支持HCS文件的导入、编译、导出功能。编译器工具的推广,很好的方便了HCS文件的适配工作。

OpenHarmony 3.2 Release新特性解读之驱动HCS-开源基础软件社区

图2 HCS配置可视化编辑

● GUI界面可视化编辑,显示直观,操作友好。

● 错误实时提示,降低HCS配置方法学习成本。

● 完成语法检查,HCS文件0错误。

3 、HDF设备驱动开发模板代码生成

驱动模板智能化生成,主要应用于内核态驱动开发场景。内核态驱动代码对于不同的设备类型,但是都具有相似的驱动架构框架。对于这部分相同的重复代码,可以通过智能化自动化生成,方便开发者的调试工作,减少不必要的重复工作。创建模块名称,通过IDE提供的工具直接生成一个模板。主要包括以下方面:

OpenHarmony 3.2 Release新特性解读之驱动HCS-开源基础软件社区

图3 HDF驱动模板自动生成

  • 驱动模板:开发具体驱动代码;
  • 配置模板:hcs模板基本字段生成完成;
  • 编译模板:gn文件自动化生成。
  • 整体的驱动框架代码自动生成,减少重复劳动。

4 、总结

OpenHarmony 3.2 Release版本驱动框架在原来的HDF架构基础上进行了细化,新增HCS宏式解析,使得系统ROM空间得到进一步的节省,增加参数调用效率;新增HCS可视化编辑器,提供hcsView扩展工具,极大的提高了HCS编译效率,降低了门槛,减少了错误率;新增HDF驱动代码模板自动化生成,增加内核驱动代码的开发效率,减少重复劳动。



Tags:OpenHarmony   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除。
▌相关推荐
HCS(HDF Configuration Source)是HDF驱动框架的配置描述源码,内容以Key-Value为主要形式。它实现了配置代码与驱动代码解耦,便于开发者进行配置管理。OpenAtom OpenHarmony(以下...【详细内容】
2023-06-01  Tags: OpenHarmony  点击:(0)  评论:(0)  加入收藏
作者:苟晶晶前言当开发者为OpenHarmony系统框架开发某些功能时,有时需要将这个功能包装成一个独立的服务进程运行在系统中,为了其它应用进程能够调用此服务,开发人员需要基于系...【详细内容】
2023-05-31  Tags: OpenHarmony  点击:(0)  评论:(0)  加入收藏
前言南向小白在AlgoIdeas指导下的一次基于HDF框架开发温度传感器驱动之旅,主要内容为开发温度传感器通用驱动代码以及针对SHT31传感器开发差异化驱动代码,读者可以和基于HDF驱...【详细内容】
2023-03-16  Tags: OpenHarmony  点击:(97)  评论:(0)  加入收藏
​概括前一阵子想着语音识别作为物联网不可或缺的一部分,前提是获取到语音的声音数据。对于声音收录数字化,stm32有很多现成的样例,而OpenHarmony方面较少该方面的资料。便想着...【详细内容】
2023-03-16  Tags: OpenHarmony  点击:(57)  评论:(0)  加入收藏
​驱动开发 -串口和串行总线基本知识一般情况下,设备间的通信方式可以划分为串行通行方式和并行通信方式两种。在Linux字符设备、块设备、网络设备分类方式下,该外设分类划分...【详细内容】
2023-03-09  Tags: OpenHarmony  点击:(99)  评论:(0)  加入收藏
​1、回顾通过DevEco Studio端云协同开发OpenHarmony/HarmonyOS应用程序(以下简称应用)集成AppGallery Connect(以下简称AGC)平台​​云函数​​​、​​云数据库​​​、​...【详细内容】
2023-03-08  Tags: OpenHarmony  点击:(71)  评论:(0)  加入收藏
软件是国家数字新基建的重要组成部分,近年来其发展备受重视。而操作系统被视为软件领域的“根技术”、软件皇冠上的明珠,战略意义不言而喻,国内的企业和开源基金会都在加速投入...【详细内容】
2023-03-01  Tags: OpenHarmony  点击:(63)  评论:(0)  加入收藏
​概述文档环境开发环境:Windows 11DevEco Studio 版本:DevEco Studio 3.1 Beta1(3.1.0.200)SDK 版本:3.2.10.8(Full SDK)开发板型号:DAYU 200系统版本:OpenHarmony 3.2 Beta5示例工...【详细内容】
2023-03-01  Tags: OpenHarmony  点击:(83)  评论:(0)  加入收藏
开源鸿蒙 OpenHarmony 是由开放原子开源基金会(OpenAtom Foundation)孵化及运营的开源项目,目标是面向全场景、全连接、全智能时代,基于开源的方式,搭建一个智能终端设备操作系统...【详细内容】
2023-02-22  Tags: OpenHarmony  点击:(91)  评论:(0)  加入收藏
本文带大家了解如何配置双网卡达成同时访问内、外网的目的,该示例相对简单,重点是需要将默认网关配置为外网网关。​前言在某些特殊场景下,我们可能有这样的网络配置诉求,即:访问...【详细内容】
2023-02-09  Tags: OpenHarmony  点击:(52)  评论:(0)  加入收藏
▌简易百科推荐
HCS(HDF Configuration Source)是HDF驱动框架的配置描述源码,内容以Key-Value为主要形式。它实现了配置代码与驱动代码解耦,便于开发者进行配置管理。OpenAtom OpenHarmony(以下...【详细内容】
2023-06-01      Tags:OpenHarmony   点击:(0)  评论:(0)  加入收藏
作者:苟晶晶前言当开发者为OpenHarmony系统框架开发某些功能时,有时需要将这个功能包装成一个独立的服务进程运行在系统中,为了其它应用进程能够调用此服务,开发人员需要基于系...【详细内容】
2023-05-31  深开鸿Kaihong    Tags:OpenHarmony   点击:(0)  评论:(0)  加入收藏
3月23日华为也迎来了2023年的春季发布会。在此次发布会上,华为发布了最新的车机系统Harmony OS 3系统。并且AITO 问界全系车型本月底将升级华为 HarmonyOS 3.0 系统。 自华为...【详细内容】
2023-03-26  比你知道的多  网易号  Tags:Harmony   点击:(46)  评论:(0)  加入收藏
前言南向小白在AlgoIdeas指导下的一次基于HDF框架开发温度传感器驱动之旅,主要内容为开发温度传感器通用驱动代码以及针对SHT31传感器开发差异化驱动代码,读者可以和基于HDF驱...【详细内容】
2023-03-16  Haoc_小源同学    Tags:OpenHarmony   点击:(97)  评论:(0)  加入收藏
​概括前一阵子想着语音识别作为物联网不可或缺的一部分,前提是获取到语音的声音数据。对于声音收录数字化,stm32有很多现成的样例,而OpenHarmony方面较少该方面的资料。便想着...【详细内容】
2023-03-16  X丶昕雪  51CTO  Tags:OpenHarmony   点击:(57)  评论:(0)  加入收藏
​驱动开发 -串口和串行总线基本知识一般情况下,设备间的通信方式可以划分为串行通行方式和并行通信方式两种。在Linux字符设备、块设备、网络设备分类方式下,该外设分类划分...【详细内容】
2023-03-09  会飞的晨风君  51CTO  Tags:Openharmony   点击:(99)  评论:(0)  加入收藏
​1、回顾通过DevEco Studio端云协同开发OpenHarmony/HarmonyOS应用程序(以下简称应用)集成AppGallery Connect(以下简称AGC)平台​​云函数​​​、​​云数据库​​​、​...【详细内容】
2023-03-08    51CTO  Tags:OpenHarmony   点击:(71)  评论:(0)  加入收藏
​概述文档环境开发环境:Windows 11DevEco Studio 版本:DevEco Studio 3.1 Beta1(3.1.0.200)SDK 版本:3.2.10.8(Full SDK)开发板型号:DAYU 200系统版本:OpenHarmony 3.2 Beta5示例工...【详细内容】
2023-03-01    51CTO  Tags:OpenHarmony   点击:(83)  评论:(0)  加入收藏
在HarmonyOS Connect生态产品的认证测试过程中,你是否存在这些疑问:认证流程具体包括哪些操作环节?如何根据实际场景选择合适的认证方式?如何选择认证测试标准的版本…&he...【详细内容】
2023-02-22  HarmonyOS开发者  微信公众号  Tags:HarmonyOS   点击:(68)  评论:(0)  加入收藏
启动页作为应用程序首次出现的页面,该页面提供一些预加载数据的提前获取,防止应用程序出现白屏等异常,如是否第一次访问应用程序并开启应用欢迎页;判断用户登录信息进行页面跳转...【详细内容】
2023-02-20  Tuer白晓明  51CTO  Tags:HarmonyOS   点击:(58)  评论:(0)  加入收藏
站内最新
站内热门
站内头条