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

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   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
OpenHarmony - 基于ArkUI框架实现日历应用
前言对于刚刚接触OpenHarmony应用开发的开发者,最快的入门方式就是开发一个简单的应用,下面记录了一个日历应用的开发过程,通过日历应用的开发,来熟悉基本图形的绘制,ArkUI的组件...【详细内容】
2024-01-16  Search: OpenHarmony  点击:(54)  评论:(0)  加入收藏
OpenHarmony4.0发布:新增4000多个API接口,交互及隐私能力增强
钛媒体App 11月6日消息,以“技术筑生态,智联赢未来”为主题的第二届OpenHarmony技术大会在北京举办,活动中,OpenHarmony 4.0版本正式发布。据介绍,OpenHarmony4.0版本开发套件同...【详细内容】
2023-11-07  Search: OpenHarmony  点击:(139)  评论:(0)  加入收藏
OpenHarmony,奏响中国基础软件的“光辉岁月”
梦想需要多久的时间,多少血和泪,才能慢慢实现?天地间任我展翅高飞,谁说那是天真的预言?《光辉岁月》歌词中的这两个问题,恰好可以送给今天的中国基础软件事业。曾几何时,我们认为中...【详细内容】
2023-11-07  Search: OpenHarmony  点击:(101)  评论:(0)  加入收藏
OpenHarmony:如何使用HDF驱动控制LED灯
一、程序简介该程序是基于OpenHarmony标准系统编写的基础外设类:RGB LED。目前已在凌蒙派-RK3568开发板跑通。详细资料请参考官网:https://gitee.com/Lockzhiner-Electronics/...【详细内容】
2023-09-08  Search: OpenHarmony  点击:(263)  评论:(0)  加入收藏
深入了解华为OpenHarmony开源系统的架构与功能
当下最火的科技圈新闻,莫过于华为即将发布的Mate 60系列手机,但是今天摸鱼君不讲这些,毕竟我也没抢到,我也不是专业测评。但是以我所长说说它搭载鸿蒙系统的一些内容。 鸿蒙系...【详细内容】
2023-09-07  Search: OpenHarmony  点击:(208)  评论:(0)  加入收藏
OpenHarmony中使用MQTT
MQTT**(**消息队列遥测传输)是ISO 标准(ISO/IEC PRF 20922)下基于发布/订阅范式的消息协议。它工作在TCP/IP协议族上,是为硬件性能低下的远程设备以及网络状况糟糕的情况下而...【详细内容】
2023-08-29  Search: OpenHarmony  点击:(432)  评论:(0)  加入收藏
OpenHarmony组件复用示例
OpenHarmony组件复用示例 摘要:在开发应用时,有些场景下的自定义组件具有相同的组件布局结构,仅有状态变量等承载数据的差异。这样的组件缓存起来,需要使用到该组件时直接复用,...【详细内容】
2023-08-28  Search: OpenHarmony  点击:(352)  评论:(0)  加入收藏
OpenHarmony运行docker详细步骤
本文将介绍如何在OpenHarmony内核上运行docker容器。 目录 1.环境和设备 2.准备支持Docker容器的OpenHarmony内核 3.编译烧录镜像 4.安装docker容器引擎组件 5.格式...【详细内容】
2023-07-28  Search: OpenHarmony  点击:(399)  评论:(0)  加入收藏
OpenHarmony 3.2 Release新特性解读之驱动HCS
HCS(HDF Configuration Source)是HDF驱动框架的配置描述源码,内容以Key-Value为主要形式。它实现了配置代码与驱动代码解耦,便于开发者进行配置管理。OpenAtom OpenHarmony(以下...【详细内容】
2023-06-01  Search: OpenHarmony  点击:(328)  评论:(0)  加入收藏
OpenHarmony系统之Service代码一键生成工具介绍
作者:苟晶晶前言当开发者为OpenHarmony系统框架开发某些功能时,有时需要将这个功能包装成一个独立的服务进程运行在系统中,为了其它应用进程能够调用此服务,开发人员需要基于系...【详细内容】
2023-05-31  Search: OpenHarmony  点击:(287)  评论:(0)  加入收藏
▌简易百科推荐
OpenHarmony - 基于ArkUI框架实现日历应用
前言对于刚刚接触OpenHarmony应用开发的开发者,最快的入门方式就是开发一个简单的应用,下面记录了一个日历应用的开发过程,通过日历应用的开发,来熟悉基本图形的绘制,ArkUI的组件...【详细内容】
2024-01-16    51CTO  Tags:OpenHarmony   点击:(54)  评论:(0)  加入收藏
鸿蒙工程师,熬来了「造富时代」
  作者|张俊  来源|新浪科技  ID|techsina  “套壳安卓”的质疑言犹在耳,如今华为正在计划将鸿蒙OS与安卓完全脱离。  此前,鸿蒙OS为了迅速扩大用户规模,采取了兼容安卓...【详细内容】
2023-11-20    锌财经  Tags:鸿蒙   点击:(213)  评论:(0)  加入收藏
OpenHarmony:如何使用HDF驱动控制LED灯
一、程序简介该程序是基于OpenHarmony标准系统编写的基础外设类:RGB LED。目前已在凌蒙派-RK3568开发板跑通。详细资料请参考官网:https://gitee.com/Lockzhiner-Electronics/...【详细内容】
2023-09-08    51CTO  Tags:OpenHarmony   点击:(263)  评论:(0)  加入收藏
深入了解华为OpenHarmony开源系统的架构与功能
当下最火的科技圈新闻,莫过于华为即将发布的Mate 60系列手机,但是今天摸鱼君不讲这些,毕竟我也没抢到,我也不是专业测评。但是以我所长说说它搭载鸿蒙系统的一些内容。 鸿蒙系...【详细内容】
2023-09-07  摸鱼IT  微信公众号  Tags:OpenHarmony   点击:(208)  评论:(0)  加入收藏
鸿蒙操作系统开发 搭建环境
2019年8月9日,华为在东莞举行华为开发者大会,正式发布鸿蒙操作系统;2020年9月推出了鸿蒙2.0,全面使能全场景生态,具备跨设备、服务流转、极速直达、可视可说、隐私安全五大能力。...【详细内容】
2023-09-07  清华计算机学堂  微信公众号  Tags:鸿蒙   点击:(198)  评论:(0)  加入收藏
OpenHarmony中使用MQTT
MQTT**(**消息队列遥测传输)是ISO 标准(ISO/IEC PRF 20922)下基于发布/订阅范式的消息协议。它工作在TCP/IP协议族上,是为硬件性能低下的远程设备以及网络状况糟糕的情况下而...【详细内容】
2023-08-29    51CTO  Tags:OpenHarmony   点击:(432)  评论:(0)  加入收藏
OpenHarmony组件复用示例
OpenHarmony组件复用示例 摘要:在开发应用时,有些场景下的自定义组件具有相同的组件布局结构,仅有状态变量等承载数据的差异。这样的组件缓存起来,需要使用到该组件时直接复用,...【详细内容】
2023-08-28  zhushangyuan  51CTO  Tags:OpenHarmony   点击:(352)  评论:(0)  加入收藏
HarmonyOS开发第一步,熟知开发工具DevEco Studio
俗话说的好,工欲善其事,必先利其器,走进HarmonyOS第一步,开发工具必须先行,当然了,关于开发工具的使用,官网和其他的博客也有很多的讲解,但是并没有按照常用的功能进行概述,如果需要...【详细内容】
2023-08-22  程序员一鸣  今日头条  Tags:HarmonyOS   点击:(205)  评论:(0)  加入收藏
鸿蒙元服务开发实例:桌面卡片上的电动自行车助手E-Bike
E-Bike是一款基于HarmonyOS开发的元服务,以万能卡片的形式给骑行提供便捷服务。首先需要完成HarmonyOS开发环境搭建。一、元服务E-Bike简介E-Bike是一款基于HarmonyOS开发的...【详细内容】
2023-08-16    51CTO  Tags:鸿蒙   点击:(302)  评论:(0)  加入收藏
OpenHarmony运行docker详细步骤
本文将介绍如何在OpenHarmony内核上运行docker容器。 目录 1.环境和设备 2.准备支持Docker容器的OpenHarmony内核 3.编译烧录镜像 4.安装docker容器引擎组件 5.格式...【详细内容】
2023-07-28  离北况归  51CTO  Tags:OpenHarmony   点击:(399)  评论:(0)  加入收藏
站内最新
站内热门
站内头条