69 Star 68 Fork 972

OpenHarmony / drivers_peripheral

 / 详情

【驱动子系统】HDI接口支持跨进程通信

已完成
需求
创建于  
2021-07-20 10:42

【需求价值】
HDI接口支持跨进程通信,可支持多进程调用
【需求描述】Audio HDI的实现在轻量级设备上可以使用直调模式,只支持单进程调用。在L2及以上的富设备上,需要支持跨进程调用。

  1. 提供支持Audio HDI的IPC客户端proxy接口实现;
  2. 提供支持Audio HDI的IPC服务端stub接口实现;
    【方案描述】
    输入:
    多客户端调用音频客户端接口
    处理:
    IPC及stub消息解析
    输出:
    支持多进程调用
    【验收标准】
    支持音频服务多进程调用;

评论 (1)

zianed 添加了
 
SIG_DriverFramework
标签
zianed 添加协作者liuhonggang
Zhang 里程碑设置为IT2_OpenHarmony 2.2 Beta2
Zhang 关联分支设置为OpenHarmony-2.2-Beta2
vb6174 通过openharmony/drivers_hdf_core Pull Request !176任务状态开发中 修改为已完成
zianed 任务状态已完成 修改为验收中

我想问一下,hdi接口能够支持单片机这种liteos-m这种mini系统里面的实现吗,比如一些蓝牙的hdi
1.接口文件,比如xx.h
2.接口实现文件,比如xx.c,进行桥接
获取对应服务hdi的句柄,提供接口获取系统是单一进程系统,还是多进程系统,根据这些信息,可以去判定是否跨进程,决定如何去调用执行到imp.c里面的具体实现,直接调用(也可能根据接口配置中的异步配置设定,这个接口可能是异步调用,是单一进程内的两个线程或者两个任务之间的调用,需要打包参数数据进行传递)或者是通过当前支持的ipc手段去跨进程传递数据,或者rpc跨设备网络,进行调用,liteos-m这类系统可以看成这样是单一系统,在一个进程内调用,以及跨设备网络调用远程服务,liteos-a和linux这类系统可以看成多进程系统或者单一进程系统,取决于对那个接口的适配实现,跨进程调用或者在同一个进程内的调用(取决于是否把多个服务放在一个进程内),或者跨设备网络调用
3.接口的后端实现文件,比如xx_imp.c
希望能够通过服务接口描述文件,包含接口信息,不同类型系统的支持配置,同步异步信息,权限信息,调用规则等等,生成c,c++等等不同语言的文件,以及支持不同类型系统(比如liteos-m,liteos-a,linux)的文件,这样可以基于服务和模块编程,对属于哪个系统的关注度会降低很多,减少代码在不同系统上复用的难度,最好是能够统一liteos-m,liteos-a和linux为基于模块或者服务的形式,这些服务或者模块可能是在单一进程系统上,也可能是在多进程系统上,还有rpc跨设备网络,通过统一的服务或者模块编程规范,直接生成代码和编译规则文件,屏蔽掉不同系统的差异,保持上层接口统一以及减少跨系统移植适配的工作量,比如hdf的服务,比如sa这样的服务,基于一个统一的服务或者模块编程规范
让大家写服务或者模块代码时少考虑是在哪个系统上写的,还有是否跨进程,是否跨线程调用,同步还是异步,权限等等,很容易把liteos-m上写的服务或者模块拿到linux上去用,也不用关心最终是把服务放在一个进程内还是多个进程内,类似这样的问题,可以减少很多工作量,移植量。

liuhonggang 任务状态验收中 修改为已完成

登录 后才可以发表评论

状态
负责人
项目
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
预计工期 (小时)
参与者(3)
1
https://gitee.com/openharmony/drivers_peripheral.git
git@gitee.com:openharmony/drivers_peripheral.git
openharmony
drivers_peripheral
drivers_peripheral

搜索帮助