08 2022 档案

摘要:1、Platform概述 ASoC被分为Machine,Platform和Codec三大部件,Platform驱动的主要作用是完成音频数据的管理,最终通过CPU的数字音频接口(DA〉把音频数据传送给Codec进行处理,最终由Codec输出驱动耳机或者是喇叭的音频信号。在具体实现上,ASoC又把Pla 阅读全文
posted @ 2022-08-29 19:39 Coder个人博客 阅读(137) 评论(0) 推荐(0) 编辑
摘要:上一章节我们讲述了module_init的源码分析及调用流程,本章节我们一块来看一下module_exit(x)这个函数。参考代码:linux/include/linux/module.h。 /** * module_exit() - driver exit entry point * @x: fu 阅读全文
posted @ 2022-08-29 15:22 Coder个人博客 阅读(63) 评论(0) 推荐(0) 编辑
摘要:源码分析 本章节我们一块来看一下module_init(x)这个函数,先分析一下它的源码,再梳理一下它的调用流程,参考代码:linux/include/linux/module.h。 /** * module_init() - driver initialization entry point * 阅读全文
posted @ 2022-08-29 15:21 Coder个人博客 阅读(134) 评论(0) 推荐(0) 编辑
摘要:在Linux设备驱动开发使用platform平台驱动模型过程中,在定义且初始化好platform_driver结构体变量以后,我们需要向 Linux 内核注册一个platform 驱动,Linux kernel中有两种方法,源码:include/linux/platform_device.h 方式一 阅读全文
posted @ 2022-08-29 15:19 Coder个人博客 阅读(134) 评论(0) 推荐(0) 编辑
摘要:一、devm_snd_soc_register_component /** * devm_snd_soc_register_component - resource managed component registration * @dev: Device used to manage compon 阅读全文
posted @ 2022-08-29 15:17 Coder个人博客 阅读(436) 评论(0) 推荐(0) 编辑
摘要:1、安装rust-analyzer 它会实时编译和分析你的 Rust 代码,提示代码中的错误,并对类型进行标注。 参考手册:https://rust-analyzer.github.io/manual.html。 2、安装Rust Syntax Rust Syntax为代码提供语法高亮。 3、安装c 阅读全文
posted @ 2022-08-16 11:13 Coder个人博客 阅读(195) 评论(0) 推荐(0) 编辑
摘要:switch...case一般写法: switch (表达式) { case data1 : 语句1 break; case data2 : 语句1 break; case data3 : 语句1 break; case data4 : 语句1 break; ... default : 语句n br 阅读全文
posted @ 2022-08-16 11:01 Coder个人博客 阅读(126) 评论(0) 推荐(0) 编辑
摘要:1、使用Rustup安装 执行如下命令 curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh 执行结果如下: 在这里使用默认的安装,执行结果如下: 2、配置Rust环境变量 当出现Rust is installed now. G 阅读全文
posted @ 2022-08-16 09:20 Coder个人博客 阅读(306) 评论(0) 推荐(0) 编辑
摘要:Control接口主要让用户空间的应用程序(alsa-lib)可以访问和控制音频codec芯片中的多路开关,滑动控件等。对于 Mixer (混音)来说,Control接口显得尤为重要,从ALSA 0.9.x版本开始,所有的mixer工作都是通过control接口的API来实现的。 ALSA已经为AC 阅读全文
posted @ 2022-08-08 17:32 Coder个人博客 阅读(197) 评论(0) 推荐(0) 编辑
摘要:1、基本概念及逻辑关系 如上图,通过上一节声卡的学习我们已经知道PCM是声卡的一个子设备,或者表示一个PCM实例。 每个声卡最多可以包含4个pcm的实例,每个pcm实例对应一个pcm设备文件。pcm实例数量的这种限制源于linux设备号所占用的位大小,如果以后使用64位的设备号,我们将可以创建更多的 阅读全文
posted @ 2022-08-04 18:16 Coder个人博客 阅读(295) 评论(0) 推荐(0) 编辑
摘要:1、struct snd_card 1.1、snd_card是啥 snd_card可以说是整个ALSA音频驱动最顶层的一个结构,整个声卡的软件逻辑结构开始于该结构,几乎所有与声音相关的逻辑设备都是在snd_card的管理之下,声卡驱动的第一个动作通常就是创建一个snd_card结构体。因此我们也从 阅读全文
posted @ 2022-08-03 15:06 Coder个人博客 阅读(329) 评论(0) 推荐(0) 编辑
摘要:Linux ALSA音频驱动框架详细的描述的ALSA驱动框架的分层及各模块的主要作用,现在从源码的角度来分析ALSA驱动。 1、ALSA驱动代码文件结构 在Linux5.18代码树中,Alsa的代码文件结构如下: linux/sound$ tree -d . ├── ac97 ├── aoa │ ├ 阅读全文
posted @ 2022-08-02 17:42 Coder个人博客 阅读(549) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示