# 驱动子系统 ## 简介 OpenHarmony驱动子系统采用采用C面向对象编程模型构建,通过平台解耦、内核解耦,兼容不同内核,提供了归一化的驱动平台底座,旨在为开发者提供更精准、更高效的开发环境,力求做到一次开发,多系统部署。 为了缩减驱动开发者的驱动开发周期,降低三方设备驱动集成难度,OpenHarmony驱动子系统支持以下关键特性和能力。 - 弹性化的框架能力: 在传统的驱动框架能力的基础上,OpenHarmony驱动子系统通过构建弹性化的框架能力,可支持在百K级别到百兆级容量的终端产品形态部署。 - 规范化的驱动接口: 定义了常见驱动接口,为驱动开发者和使用者提供丰富、稳定接口,并和未来开放的面向手机、平板、智慧屏等设备驱动接口保持API兼容性。 - 组件化的驱动模型: 支持组件化的驱动模型,开发者提供更精细化的驱动管理,开发者可以对驱动进行组件化拆分,使得驱动开发者可以更多关注驱动与硬件交互部分。 同时系统也预置了部分模板化的驱动模型组件,如网络设备模型等。 - 归一化的配置界面: 提供统一的配置界面,构建跨平台的配置转换和生成工具,实现跨平台的无缝切换 为了方便驱动开发者更易于开发OpenHarmony驱动程序,OpenHarmony驱动子系统在DevEco集成驱动开发套件工具,支持驱动工程管理,驱动模板生成、配置管理等界面化的操作。 ## 架构 OpenHarmony驱动框架采用主从架构设计模式,围绕着框架、模型、能力库和工具四个维度能力展开构建。 **图 1** 驱动和框架交互流程 ![](http://tools.harmonyos.com/mirrors/hpm-image/hdf_README/figures/zh-cn_image_0000001053805078.png) - 驱动框架 -位于frameworks/core目录 - 提供驱动框架能力,主要完成驱动加载和启动功能。 - 通过对象管理器方式可实现驱动框架的弹性化部署和扩展。 - 驱动模型 - 位于frameworks/model目录 - 提供了模型化驱动能力,如网络设备模型。 - 驱动能力库 - 位于frameworks/ability目录 - 提供基础驱动能力模型,如IO通信能力模型。 - 驱动工具 - 位于frameworks\\tools目录 - 提供HDI接口转换、驱动配置编译等工具。 - 驱动接口 - 位于lite\\hdi - 提供规范化的驱动接口。 - Support - 位于frameworks/support目录, - 提供规范化的平台驱动接口和系统接口抽象能力。 ## 目录 **表 1** OpenHarmony驱动框架源代码目录结构