OpenHarmony音频驱动介绍
OpenHarmony官方音频驱动介绍文档路径:
https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/driver/driver-peripherals-audio-des.md
OpenHarmony 音频驱动框架ADM(Audio Driver Model)音频驱动框架模型,,向上服务于多媒体音频子系统,便于系统开发者能够更便捷的根据场景来开发应用。向下服务于具体的设备厂商,对于Codec和DSP设备厂商来说,可根据ADM模块提供的向下统一接口适配各自的驱动代码,就可以实现快速开发和适配OpenHarmony系统。
ADM驱动框架向下,提供了codec驱动,DMA驱动,IIS驱动的统一调用接口方便驱动的适配。
音频驱动分为三大模块:codec模块, soc模块, dai模块;
codec模块,负责数模转换。
SOC模块,实现dma的驱动,负责数据搬运。
dai模块,实现IIS驱动,负责数据传输。
codec驱动入口:
/* HdfDriverEntry definitions */
struct HdfDriverEntry g_codecDriverEntry = {.moduleVersion = 1,.moduleName = "CODEC_HI3516",.Bind = CodecDriverBind,.Init = CodecDriverInit,.Release = CodecDriverRelease,
};
HDF_INIT(g_codecDriverEntry);
DMA驱动入口:
/* HdfDriverEntry definitions */
struct HdfDriverEntry g_platformDriverEntry = {.moduleVersion = 1,.moduleName = "DMA_HI3516",.Bind = Hi3516DmaDriverBind,.Init = Hi3516DmaDriverInit,.Release = Hi3516DmaDriverRelease,
};
HDF_INIT(g_platformDriverEntry);
IIS驱动入口:
/* HdfDriverEntry definitions */
struct HdfDriverEntry g_daiDriverEntry = {.moduleVersion = 1,.moduleName = "DAI_HI3516",.Bind = DaiDriverBind,.Init = DaiDriverInit,.Release = DaiDriverRelease,
};
HDF_INIT(g_daiDriverEntry);
系统启动后着三个模块分别调用各自的注册接口将自己注册到声卡中:
codec模块调用:AudioRegisterCodec注册接口。dam 模块调用:AudioSocRegisterPlatform注册接口。dai模块调用:AudioSocRegisterDai注册接口。后续不断更新。。。
OpenHarmony音频驱动介绍相关推荐
- Android常用的音频驱动节点介绍
笔者主要是做Audio Framework层的系统开发工作,公司属于音视频会议行业,在定位解决音频方面的问题时,为了能大致定位问题到底是出在音频驱动层以下,还是Framework层,特将常用的音频驱动 ...
- Linux 音频驱动
Linux 音频驱动 硬件介绍 WM8960与IMX6ULL之间有两个通信接口:I2C和I2S 其中I2C用于配置WM8960 I2S用于音频数据传输 修改设备树文件 编写I2C子节点设备树 code ...
- Linux音频驱动开发概括
原址 1.嵌入式音频系统硬件连接 下图所示的嵌入式设备使用IIS将音频数据发送给编解码器.对编解码器的I/O寄存器的编程通过IIC总线进行. 2.音频体系结构-ALSA ALSA是Advanced L ...
- RK系列开发板音频驱动适配指南(二)
背景: 上一篇文章RK系列开发板音频驱动适配指南-DAI模块适配中已经阐述音频驱动适配的DAI模块适配步骤以及核心代码的展示,本次主要介绍音频驱动适配中的DMA模块适配. RK系列开发板 DMA模块适 ...
- Linux 音频驱动(四) ASoC音频驱动之Machine驱动
目录 1. 基本介绍 2. 源码分析 2.1. Machine数据结构 struct snd_soc_dai_link 3. 声卡 3.1. 数据结构struct snd_soc_card 3.2. ...
- Linux 音频驱动(五) ALSA音频驱动之PCM逻辑设备
目录 1. 前言 2. PCM逻辑设备 2.1. 创建 PCM逻辑设备: 2.2. PCM逻辑设备文件操作函数集:snd_pcm_f_ops[] 2.3. Open PCM逻辑设备 2.4. Writ ...
- conexant hd audio音频驱动
conexant hd audio驱动是一款适合Conexant系列最新的声卡驱动,它不直接提供给用户,所以我们也只能在厂商那里"淘"驱动了,今天带给大家免费下载.目前此驱动能够支 ...
- RK系列开发板音频驱动适配指南(一)
背景: 多媒体系统目前在Linux操作系统,windows操作系统已经非常成熟,并且应用场景广泛,但是,基于OpenAtom OpenHarmony(以下简称"OpenHarmony&quo ...
- Linux上的音频驱动及wineASIO与foobar2000
题=Linux上的音频驱动及wineASIO与foobar2000 Linux上的音频驱动还很混乱,说实话,(Linux根本不适合做专业的音频软件,想在Linux上听歌看视频都很不方便,除非只使用一些 ...
最新文章
- 第三章、一文告诉你FastDFS分布式如何部署
- 宋体节点hdoj 1520 Anniversary party(树形dp)
- 最简单jquery轮播图效果
- android log system
- ***jquery选择器 之 获取父级元素、同级元素、子元素
- Mybatis一级缓存和二级缓存 Redis缓存
- “弃用 iOS 后,我的那些 Android 替代方案!”
- centos7远程访问mysql数据库_CentOS7下安装mysql最快捷方式及mysql远程访问连接实现详解...
- Package.json 属性说明
- J2EE 第二阶段项目之JUnit4进行单元测试(五)
- 跟老男孩学linux运维核心基础 linux运维实战教程
- 用简单英语谈生意-介绍篇
- RTX3060安装pytorch
- 【8086汇编】输入一个整数,判断其奇偶性(输入范围:-32768~32767,含提示信息)
- GDI+ 画路径(消除锯齿的效果很不错)
- matlab画直线段,如果要在MATLAB中绘制上题中的直线段,要求 ,则对应的MATLAB语句为____________...
- 九龙证券|基金独门重仓股揭秘,多只超级大牛股浮现
- Group Box组合框的简单使用
- 大学数学学习参考书点评之数学分析部分(转)
- Linux/centOS安装lftp