原址

【前言】

上个月写了《Audio驱动开发 之 Codec芯片ALC5677驱动代码分析》,但是感觉那个时候理解得还不够深入、写得很粗糙。这一个月以来新看了 HAL层、Framework层的资料,温习了 Plarform_device 驱动、I2C_device 驱动、kobject + ktype + kset 以及更深入地阅读了工程中 Audio 部分的驱动代码,整理出了一个 ASoC Codec 驱动代码的框架图,算是对文首所提及文章的补充。

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

【图示说明】

浅绿色:模块入口

深绿色:i2c_device驱动模型中与特定硬件相关的 i2c_board_info

黄色:Codec 芯片 rt5677 所对应的 i2c_client 设备实例

棕色:Codec 芯片 rt5677 所对应的 i2c_driver 驱动实例

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

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

墨蓝色:Codec 芯片 rt5677 的硬件资源配置及对应的音频链路控制函数

蓝色:简要说明

【ASoC Codec驱动代码框架图】

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

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

  1. ASoC Platform驱动代码框架图

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

  2. ASoC Machine驱动代码框架图

    原址 [前言] 较久之前写了一篇<Linux ASoC音频驱动架构 及 Machine驱动代码分析>,那个时候刚开始接触 ALSA,文章写得很粗糙.这段时间以来新看了 HAL层.Frame ...

  3. 高通Audio中ASOC的codec驱动(二)

    继上一篇文章:高通Audio中ASOC的machine驱动(一) ASOC的出现是为了让codec独立于CPU,减少和CPU之间的耦合,这样同一个codec驱动就无需修改就可以匹配任何一款平台. 在M ...

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

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

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

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

  6. Linux 音频驱动(三) ASoC音频驱动之Codec驱动

    目录 1. 简介 2. 源码分析 2.1. Codec 2.1.1. 数据结构struct snd_soc_codec_driver 2.1.2. 注册Codec 2.2. Codec DAI 2.2 ...

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

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

  8. linux驱动:音频驱动(五)ASoc之codec驱动

    linux驱动:音频驱动(五)ASoc之codec驱动

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

    操作驱动的上层代码(pin4test) #include <stdio.h> #include <sys/types.h> #include <sys/stat.h> ...

最新文章

  1. 当AI学会高数:解题、出题、评分样样都行
  2. 数据结构 归并排序 C++
  3. 开发日记-20190409 关键词 理想activity模型
  4. java struts2 excel上传_文件上传下载——通过struts的FormFile上传单个excel文件
  5. css 文本属性详细总结
  6. linux进程中对信号的屏蔽,linux进程中的信号屏蔽
  7. 通用权限管理系统组件 (GPM - General Permissions Manager) - 支持请求
  8. Android studio 单元测试
  9. c# 蓝牙虚拟串口_蓝牙模块——基础知识介绍
  10. matlab中inf函数,matlab中voronoin()函数的用法,求高手指点
  11. c svchost 服务 dll_小机巧丨如何解决svchost一直占用网速和内存?
  12. Linux中Docker部署Tomcat
  13. linux下创建用户,给用户设置密码,给用户授权
  14. 巨额商誉,谁来买单?
  15. 大学英语计算机四级考试内容,大学英语四级考试大纲
  16. 计算机学院java男默女泪,最新网络用语学习笔记,看了后,男默女泪
  17. 1年时间,年薪增加10万,前端小兵的我是如何做到的?
  18. phalcon 自动加载_Phalcon自动加载(PHP自动加载),phalcon加载php_PHP教程
  19. maven几个plugins
  20. React —— Descriptions(根据自己需求判断要显示哪些)

热门文章

  1. 在eclipse中如何搭建ssh框架
  2. 第十五讲 循环体for基础
  3. IOS 之 NSBundle 使用
  4. FreeBSD学习笔记17-FreeBSD下安装MySQL数据库
  5. 2021 年全球知名开源项目
  6. c++11 多线程编程(一)------初始
  7. NLP---将改变您在未来的沟通方式的7种 nlp 技术 (第一部分(附原始论文))
  8. 项目部署到服务器后字符编码,将UTF-8编码的数据发布到服务器会丢失某些字符...
  9. java动态是如何根据实体建表_传入Java对象 自动创建动态表 并录入数据
  10. pdfpcell输出换行_poi导出Excel(cell单元格里的一串文字,换行显示,设置字体)...