原址

【前言】

较久之前写了一篇《Linux ASoC音频驱动架构 及 Machine驱动代码分析》,那个时候刚开始接触 ALSA,文章写得很粗糙。这段时间以来新看了 HAL层、Framework层的资料,温习了 Plarform_device 驱动、I2C_device 驱动、kobject + ktype + kset 以及更深入地阅读了工程中 Audio 部分的驱动代码,整理出了一个 ASoC Machine 驱动代码的框架图,算是对文首所提及文章的补充。

类似的 ASoC Codec驱动代码框架图在《ASoC Codec 驱动代码框架图》中,ASoC Platform驱动代码框架图在《ASoC Platform 驱动代码框架图》中。

【图示说明】

浅绿色:模块入口

棕色:声卡结构体实例

红色:注册 设备结构体/驱动结构体 到 Linux设备驱动模型内核

粉色:platform设备驱动模型中 ASoC架构 所嵌入的位置

墨蓝色:声卡对应platform_driver实例

蓝色:简要说明

【ASoC Machine驱动代码框架图】

图片很大,想看清楚细节需要 放大网页(Ctrl+鼠标滚轮)或 在新的页面打开图片 或 下载图片到本地。这张图对于工程中的 ASoC Machine 部分的说明应该十分详尽了。关于 Framework、HAL 的代码框架图,等我整理完了慢慢也都发上来作为备份。

ASoC Machine驱动代码框架图相关推荐

  1. ASoC Platform驱动代码框架图

    原址 [前言] 在更深入地阅读了工程中 Audio 部分的驱动代码之后,整理出了一个 ASoC Platform 驱动代码的框架图.类似的 ASoC Machine驱动代码框架图在<ASoC M ...

  2. ASoC Codec驱动代码框架图

    原址 [前言] 上个月写了<Audio驱动开发 之 Codec芯片ALC5677驱动代码分析>,但是感觉那个时候理解得还不够深入.写得很粗糙.这一个月以来新看了 HAL层.Framewor ...

  3. linux驱动之一、LED驱动(驱动代码小结附:github代码链接)

    文章目录 一.相关知识点(涉及接口.结构体.调用关系等) 1.1 裸机开发步骤与驱动开发过程对比 1.1.1 裸机开发步骤 1.1.2 Linux系统下LED驱动开发步骤 1.2 预备知识:写驱动时涉 ...

  4. 音频2-ALSA/ASOC音频驱动框架

    计划分成下面8章来详细展开,后面再根据实际情况做调整. 1.基础知识(硬件,音频相关概念) 2.ALSA/ASOC音频驱动框架 3.codec 驱动dapm 相关(kcontrol.widget.ro ...

  5. Linux 音频驱动(四) ASoC音频驱动之Machine驱动

    目录 1. 基本介绍 2. 源码分析 2.1. Machine数据结构 struct snd_soc_dai_link 3. 声卡 3.1. 数据结构struct snd_soc_card 3.2. ...

  6. afe 高通_高通ASOC中的machine驱动

    ASoC被分为Machine.Platform和Codec三大部分,其中的Machine驱动负责Platform和Codec之间的耦合以及部分和设备或板子特定的代码,再次引用上一节的内容:Machin ...

  7. 高通Audio中ASOC的machine驱动(一) ---mark 详细条理

    高通Audio中ASOC的machine驱动(一) 转载原文:https://www.cnblogs.com/linhaostudy/p/8419231.html 阅读目录 1. 注册Platform ...

  8. 基于驱动框架编写驱动代码

    前言:基于上一个博文对 linux驱动的认知的了解,那么现在开始我们正式来进入学习基于驱动框架来编写驱动代码,那么接下来我们先来看看一个最简单的驱动框架代码 一.字符设备驱动框架代码与应用层代码 驱动 ...

  9. 高通Audio中ASOC的machine驱动

    高通Audio中ASOC的machine驱动 233333发表于linux驱动个人学习已订阅 1.1K ASoC被分为Machine.Platform和Codec三大部分,其中的Machine驱动负责 ...

最新文章

  1. 笔记:面试 - Vue
  2. 【Python】有趣且鲜为人知的 Python 特性,火了!
  3. C和C++栈stack
  4. nrf connect 安卓_永诺YN450安卓系统无反相机
  5. 职业教育计算机课教学反思,关于高职计算机基础课的教学反思.doc
  6. Oracle创建表空间、创建用户以及授权
  7. Java高级语法笔记-匿名类(Anonymous Class)
  8. 中移4G模块-ML302-OpenCpu开发-PCF8591测量电压
  9. Kroneker Tensor:克罗内克张量
  10. linux 复制指定类型,用Linux命令行实现删除和复制指定类型的文件
  11. spring整合quartz框架
  12. 洛谷P4458 /loj#2512.[BJOI2018]链上二次求和(线段树)
  13. Number Sequence hdu1005
  14. switchhost
  15. 两节锂电池保护IC,芯片电路图如何设计
  16. 数据库实验 实验三 数据查询
  17. 【TypeScript系列教程13】String 字符串对象的基本使用
  18. elasticsearch 更新数据 (部分字段更新)
  19. el表达式设置option标签selected
  20. GDUT 第一次组队赛 Team up! Team up! Team up!(三,dp,dfs)

热门文章

  1. HDU3571 N-dimensional Sphere(高斯消元 同模方程)
  2. 从网页监听Android设备的返回键
  3. WebSphere社区版,Geronimo1.1八卦和GBean架构
  4. WebRTC 聊天Demo
  5. goldengate mysql双向_Oracle使用goldengate分别向Oracle和mysql双路的单向复制
  6. 本特利3500_3500系统轴振信号异常波动问题浅析及建议
  7. openwrt多拨插件_折腾小日记三:爱快PKopenwrt多拨实测
  8. 20世纪50年代电子计算机的功能元件,第1章 计算机基础知识习题答案
  9. .Net 指针使用以及在栈上创建引用对象
  10. lightoj1234 打表技巧:分块打表