0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

OpenAtom OpenHarmony ? 来源:未知 ? 2023-05-30 21:45 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

点击蓝字 ╳ 关注我们


开源项目 OpenHarmony
是每个人的 OpenHarmony

陈甲印

鸿湖万联资深技术专家

鸿湖万联产品推荐官


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 3.2 Release新特性解读之驱动HCS

文章出处:【微信公众号:OpenAtom OpenHarmony】欢迎添加关注!文章转载请注明出处。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 鸿蒙
    +关注

    关注

    60

    文章

    2656

    浏览量

    44356
  • OpenHarmony
    +关注

    关注

    30

    文章

    3866

    浏览量

    18982

原文标题:OpenHarmony 3.2 Release新特性解读之驱动HCS

文章出处:【微信号:gh_e4f28cfa3159,微信公众号:OpenAtom OpenHarmony】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    桃芯科技获得OpenHarmony生态产品兼容性证书

    近日,由INGCHIPS自主研发的模组/开发板DB870CC1A顺利通过OpenHarmony 5.0.2 Release版本兼容性测评,并获得OpenHarmony生态产品兼容性证书!
    的头像 发表于 06-25 14:30 ?500次阅读

    RK3588参数与主要特性 RK3588数据手册解读

    RK3588参数与主要特性 RK3588数据手册解读
    的头像 发表于 05-19 18:34 ?4008次阅读
    RK3588参数与主要<b class='flag-5'>特性</b>  RK3588数据手册<b class='flag-5'>解读</b>

    OpenHarmony4.1系统WiFi蓝牙打不开时,教你如何排查解决问题

    ;Laval鸿蒙社区推荐并通过了开源鸿蒙XTS认证,成功适配OpenHarmony3.2、4.0、4.1、5.0Release系统,SDK源码全开放!WiFi打不开缺
    的头像 发表于 03-12 18:55 ?466次阅读
    <b class='flag-5'>OpenHarmony</b>4.1系统WiFi蓝牙打不开时,教你如何排查解决问题

    OpenHarmony5.0系统怎么去除锁屏直接进入界面?教你2步搞定

    ;Laval鸿蒙社区推荐并通过了开源鸿蒙XTS认证,成功适配OpenHarmony3.2、4.0、4.1、5.0Release系统,SDK源码全开放!删除Scre
    的头像 发表于 03-12 18:51 ?615次阅读
    <b class='flag-5'>OpenHarmony</b>5.0系统怎么去除锁屏直接进入界面?教你2步搞定

    【北京迅为】itop-3568 开发板openharmony鸿蒙烧写及测试-第2章OpenHarmony v3.2-Beta4版本测试

    【北京迅为】itop-3568 开发板openharmony鸿蒙烧写及测试-第2章OpenHarmony v3.2-Beta4版本测试
    的头像 发表于 03-05 10:53 ?526次阅读
    【北京迅为】itop-3568 开发板<b class='flag-5'>openharmony</b>鸿蒙烧写及测试-第2章<b class='flag-5'>OpenHarmony</b> v<b class='flag-5'>3.2</b>-Beta4版本测试

    迅为RK3568开发板篇Openharmony配置HDF控制UART-实操-HDF驱动配置UART-修改HCS配置

    对于不同的平台,需要在对应的平台目录修改对应的 hcs 文件,接下来示例为在 rk3568下新增 uart4 uart9 uart7 的修改方法。 修改 vendor/hihope/rk3568
    发表于 02-21 10:53

    龙芯2K0300蜂鸟板openharmony版本以及开发疑问

    当前蜂鸟板openharmonyrelease 4.1版本,开发似乎只能JS开发,是否可以移植Openharmony5.0,或者进行ARKTS开发?
    发表于 02-20 16:18

    新品 | 视美泰AIoT鸿蒙开发套件SC-3568HA正式上市,已成功适配OpenHarmony 5.0 Release版本

    近日,视美泰成功完成了其多系列产品与OpenHarmony5.0Release版本的深度适配工作,此次适配的产品涵盖了OpenHarmony5.0首发开发套件SC-3568HA、智慧终端主板
    的头像 发表于 02-05 17:11 ?903次阅读
    新品 | 视美泰AIoT鸿蒙开发套件SC-3568HA正式上市,已成功适配<b class='flag-5'>OpenHarmony</b> 5.0 <b class='flag-5'>Release</b>版本

    迅为RK3568开发板篇OpenHarmony配置HDF驱动控制LED-配置创建私有配置文件

    接 下 来 新 建 vendor/hihope/rk3568/hdf_config/khdf/topeet/topeet_config.hcs 文 件 ,topeet_config.hcs驱动
    发表于 01-10 11:13

    迅为RK3568开发板篇OpenHarmony配置HDF驱动控制LED-修改HCS硬件配置

    驱动的设备描述修改/vendor/hihope/rk3568/hdf_config/khdf/device_info/device_info.hcs 文件,添加如下代码,如下所示: 接下来解释一下
    发表于 01-08 15:25

    开源鸿蒙5.0 Release版本关键特性解读

    概述 开源鸿蒙 5.0 Release版本是开源鸿蒙操作系统的一个里程碑,在系统能力、性能优化等多个方面进一步增强。本文将从系统功能、性能优化,安全和隐私保护以及分布式能力等角度,解读该版本的关键
    的头像 发表于 12-23 13:58 ?2539次阅读

    OpenHarmony属性信息怎么修改?触觉智能RK3566鸿蒙开发板来演示

    本文介绍开源鸿蒙OpenHarmony系统下,修改产品属性信息的方法,触觉智能Purple Pi OH鸿蒙开发板演示,已适配全新OpenHarmony5.0 Release系统!
    的头像 发表于 11-27 09:31 ?838次阅读
    <b class='flag-5'>OpenHarmony</b>属性信息怎么修改?触觉智能RK3566鸿蒙开发板来演示

    如何在开源鸿蒙OpenHarmony开启SELinux模式?RK3566鸿蒙开发板演示

    本文介绍开源鸿蒙OpenHarmony系统下,开启/关闭SELinux权限的方法,触觉智能Purple Pi OH鸿蒙开发板演示,已适配全新OpenHarmony5.0 Release系统!
    的头像 发表于 11-18 19:03 ?944次阅读
    如何在开源鸿蒙<b class='flag-5'>OpenHarmony</b>开启SELinux模式?RK3566鸿蒙开发板演示

    触觉智能Purple Pi OH鸿蒙开发板成功适配OpenHarmony5.0 Release,开启新征程

    触觉智能Purple Pi OH鸿蒙开发板,成功适配OpenHarmony5.0 Release版本!为大家带来OpenHarmony5.0特性讲解!关注触觉智能,为大家带来更多
    的头像 发表于 10-25 10:51 ?1225次阅读
    触觉智能Purple Pi OH鸿蒙开发板成功适配<b class='flag-5'>OpenHarmony</b>5.0 <b class='flag-5'>Release</b>,开启新征程

    【龙芯2K0300蜂鸟板试用】OpenHarmony代码

    fetch origin OpenHarmony-3.2-Release:OpenHarmony-3.2-Release git switch OpenHarmony-3.2-Release
    发表于 09-18 11:42