共计 1455 个字符,预计需要花费 4 分钟才能阅读完成。
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 驱动代码模板自动化生成,减少内核驱动代码的开发效率,缩小重复劳动。