写点什么

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

  • 2023-05-31
    中国香港
  • 本文字数:1279 字

    阅读完需:约 4 分钟

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

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

1 、HCS 宏式解析

1.1 HCS 概述

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

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

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

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


图 1 配置使用流程图


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

1.2 HCS 宏式解析特性

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

极致性能:

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

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

开发友好:

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

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

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

2 、HCS 可视化编辑器

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


图 2 HCS 配置可视化编辑


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

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

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

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

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


图 3 HDF 驱动模板自动生成


驱动模板:开发具体驱动代码;

配置模板:hcs 模板基本字段生成完成;

编译模板:gn 文件自动化生成。

整体的驱动框架代码自动生成,减少重复劳动。

4 、总结

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



用户头像

OpenHarmony开发者官方账号 2021-12-15 加入

OpenHarmony是由开放原子开源基金会(OpenAtom Foundation)孵化及运营的开源项目,目标是面向全场景、全连接、全智能时代,基于开源的方式,搭建一个智能终端设备操作系统的框架和平台,促进万物互联产业的繁荣发展

评论

发布
暂无评论
OpenHarmony 3.2 Release新特性解读之驱动HCS_OpenHarmony_OpenHarmony开发者_InfoQ写作社区