首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Linux ALSA声卡驱动之二:声卡的创建

1.2. snd_card的定义: snd_card的定义位于改头文件:include/sound/core.h: struct list_head devices:记录该声卡下所有逻辑设备的链表 struct...然后,芯片的专有数据注册为声卡的一个低阶设备: static int snd_mychip_dev_free(struct snd_device *device) { return snd_mychip_free...一个实际的例子: 我/sound/arm/pxa2xx-ac97.c的部分代码贴上来: static int __devinit pxa2xx_ac97_probe(struct platform_device...三、snd_card_create(): 这个接口在新的Linux内核里面可能找不到,这里我们主要是学习思想! snd_card_create()在/sound/core/init.c定义。...info节点:通常就是/proc/asound/card0 err = snd_info_card_create(card); 第一步分配的内存指针放入private_data字段: if (extra_size

1.1K10

Linux ALSA声卡驱动之五:移动设备的ALSA(ASoC)

在ASoc出现之前,内核对于SoC的音频已经有部分的支持,不过会有一些局限性: Codec驱动与SoC CPU的底层耦合过于紧密,这种不理想会导致代码的重复,例如,仅是wm8731的驱动,当时Linux...Platform,它只与SoC相关,与Machine无关,这样我们就可以Platform抽象出来,使得同一款SoC不用做任何的改动,就可以用在不同的Machine。...实际上,Platform认为是某个SoC更好理解。...三、软件架构: 在软件层面,ASoC也嵌入式设备的音频系统同样分为3大部分,Machine,Platform和Codec。...-2.6.35-ASoC各个结构的静态关系 ASoC声卡实现为一个Platform Device,然后利用Platform_device结构的dev字段:dev.drvdata,它实际上指向一个snd_soc_device

54810
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Linux ALSA声卡驱动之三:PCM设备的创建

    这些脉冲的幅值按一定的精度进行量化,这些量化后的数值被连续地输出、传输、处理或记录到存储介质,所有这些组成了数字音频的产生过程。...每个声卡最多可以包含4个pcm的实例,每个pcm实例对应一个pcm设备文件。pcm实例数量的这种限制源于linux设备号所占用的位大小,如果以后使用64位的设备号,我们将可以创建更多的pcm实例。...如果有,建立capture stream,相应的substream也同时建立 调用snd_device_new()该pcm挂到声卡,参数ops的dev_register字段指向了函数snd_pcm_dev_register...snd_minors数组的赋值过程,在本节,我们重点放在设备文件。...: playback -- pcmCxDxp,通常系统只有一各声卡和一个pcm,它就是pcmC0D0p capture -- pcmCxDxc,通常系统只有一各声卡和一个pcm,它就是pcmC0D0c

    82420

    31.Linux-wm9876声卡驱动(移植+测试)

    本节学习目的 1)分析Linux的OSS声卡系统 2)移植wm9876声卡 3)使用madplay应用程序播放mp3 1.声音三要素 采样频率 音频采样率是指录音设备在一秒钟内对声音信号的采样次数,...本节的WM8976的MODE脚接的高电平,所以是3线控制 3.接下来便来分析linux内核的声卡系统 在linux声卡存在两种声卡系统,一种是OSS(开放声音系统),一种是ALSA(先 进Linux声音架构...本节系统以OSS(Open Sound System)为例 , 内核以linux-2.6.22.6版本为例,位于:linux-2.6.22.6\sound\Sound_core.c 3.1首先进入入口函数...// CFLAGS:指定头文件, LDFLAGS:指定库文件 make make install 5)/app/tmp/...bin下的所有文件复制到开发板nfs的bin目录下, cd /app/tmp/bin / cp * /work/nfs_root/bin 6)/app/tmp/lib下的带so文件 复制到开发板nfs

    5K71

    Linux下使用alsa-lib库完成音频开发: 实现放音和录音(从声卡获取PCM数据保存、向声卡写PCM数据输出)

    一、环境介绍 系统: 虚拟机运行ubuntu18.04 (64位) 声卡: 电脑自带声卡 二、安装alsa-lib库 参考文章: https://blog.csdn.net/xiaolong1126626497.../* 进行音频采集,采集pcm数据并直接保存pcm数据 音频参数: 声道数: 1 采样位数: 16bit、LE格式 采样频率: 44100Hz 运行示例: $ gcc linux_pcm_save.c...表示在多声道数据传输的过程是采样交叉的模式还是非交叉的模式。.../* 进行音频采集,读取存放pcm数据的文件通过声卡进行播放 音频参数: 声道数: 1 采样位数: 16bit、LE格式 采样频率: 44100Hz 运行示例: $ gcc linux_pcm_save.c...表示在多声道数据传输的过程是采样交叉的模式还是非交叉的模式。

    8.3K20

    Linux用户添加到组的4个方法总结

    前言 Linux 组是用于管理 Linux 中用户帐户的组织单位。对于 Linux 系统的每一个用户和组,它都有惟一的数字标识号。它被称为 用户 ID(UID)和组 ID(GID)。...Linux 中有两种类型的默认组。每个用户应该只有一个 主要组 primary group 和任意数量的 次要组 secondary group 。...用户的主要组信息存储在 /etc/passwd 文件。 • 次要组: 它被称为次要组。它允许用户组在同一组成员文件执行特定操作。...• 在 Linux 创建用户帐户的三种方法? • 如何在 Linux 创建批量用户? • 如何在 Linux 中使用不同的方法更新/更改用户密码? 可以使用以下四种方法实现。...#getent group mygroup1 mygroup1:x:1013:user1,user2,user3 方法 4:在 Linux 中将用户添加到组的手动方法 我们可以通过编辑 /etc/group

    2.9K41

    Mathtype导入word

    查看有没有多出一个MathType 选项卡,若有,恭喜你,直接可用;若没有,再进行以下操作: 3.word文件选项卡 - 选项 - 信任中心 - 受信任位置 - 找到 “启动”的文件夹路径,复制到资源管理器回车...保持以上窗口不要关,再新建一个资源管理器窗口,进入刚刚安装MathType的位置,在MathPage 文件夹中找到自己电脑位数对应的“MathPage”文件(可在Word - 开始 - 账户 -关于 查看自己的位数...),复制黏贴到 C:\Users\你的电脑名\AppData\Roaming\Microsoft\Word\Startup\ 文件夹内,再从…\MathType\Office Support\64\ ...MathPage.wll 文件复制到这个文夹 三个常见问题 1、出现两个Mathtype:删除路径C:\Users\用户名\AppData\Roaming\Microsoft\Word\STARTUP\

    16510

    使用systemd,服务装进 Linux 心脏里~

    Linux非常的安全、可靠,而且有一股黑黝黝的妹子味道,这说明她也是柔软的。 服务跑在Linux上,就像男生女装藏在密码箱里一样让人放心,它的稳定安全可以让人安稳的睡个懒觉。...鉴于xjjdog非常讨厌卖弄缩写名词的特点,我它的全称打在这里:single point of failure。 一台Linux是孤单一台Linux,所以跑在上面的服务,就会有单点问题。...但无论怎么搞,我们都希望跑在Linux上的某个进程,能够随着Linux的启动自动启动,随着Linux的关闭自动关闭。...但可惜的是,supervisor并不是Linux的预装软件,而且它是python写的,需要装一大堆依赖包。在网络权限逐渐收紧的企业环境,使用supervisor会给自己徒添烦恼。...curl http://localhost:14000 程序搞成服务 要想让上面的程序成为系统的一部分,需要将其服务化。

    63130

    linux设置成使用密钥登录

    平常使用服务器,因为是在互联网,只要知道端口密码和ip就可以登录,方便的同时也带来了一定的安全隐患,今天就介绍一个密码禁用,使用密钥登录的方法,这样就实现了只有拥有密钥文件的电脑才可以登录服务器。...完成之后本地会生成一个用户密钥,暂时先不用管 先把生成的公钥上传到服务器,这里我使用lrzsz,首先需要安装上 yum install lrzsz -y    安装lrzsz mkdir ~/.ssh...       在root文件夹下创建.ssh文件夹 cd ~/.ssh      进入.ssh文件夹 rz     我们刚才保存的公钥上传到.ssh文件夹 ?...mv id_rsa_2048.pub authorized_keys        //id_rsa_2048.pub 这是我的文件文件名,他重命名为authorized_keys chmod 600...authorized_keys   设置权限 vi /etc/ssh/sshd_config      //下面2段的#注释去掉 RSAAuthentication yes PubkeyAuthentication

    2.2K71

    Linux音频驱动-OSS和ALSA声音系统简介及其比较

    概述 昨天想在Ubuntu上用一下HTK工具包来绘制语音信号的频谱图和提取MFCC的结果,但由于前段时间Ubuntu升级到13.04,系统的声卡驱动是ALSA(Advanced Linux Sound...: /dev/mixer:访问声卡内置的mixer,调整音量大小,选择音源。...ALSA高级Linux声音系统简介 高级Linux声音体系(英语:Advanced Linux Sound Architecture,缩写为ALSA)是Linux内核,为声卡提供的驱动组件,以替代原先的...一部分的目的是支持声卡的自动配置,以及完美的处理系统的多个声音设备,这些目的大多都已达到。另一个声音框架JACK使用ALSA提供低延迟的专业级音频编辑和混音能力。...从2.6版本开始ALSA成为Linux内核默认的标准音频驱动程序集,OSS则被标记为废弃。 ALSA由许多声卡声卡驱动程序组成,同时它也提供一个称为libasound的API库。

    5.4K31
    领券