报警子系统

一. OSS/ALSA 声卡的驱动与配置

  声卡驱动中传统的OSS构架在02年被收购后即不开源,并且OSS的混音效果不好->因此ALSA构架孕育而生。

ALSA(高级音频构架,目前应用广泛),但是为了向前兼容传统的OSS应用,故将ALSA驱动按照OSS接口形式进行封装,由ALSA库的支持,可以达到很好的驱动效果。

使用步骤:

  a. 配置内核 " make menuconfig ARCH=arm " ,选择OSS、ALSA(usb设备驱动->声卡)、OHCI(非PC系统的usb主控制器驱动)驱动项;

  b. 编译内核->拷贝并下载内核-> nfs挂载;

  c. 检查声卡驱动文件是否完整 /dev/dsp、/dev/mixer->缺少ALSA库文件 ->将库文件复制到根文件系统 /lib/目录下。

    具体的ALSA驱动项、编译过程、以及ALSA库文件容易找到,按照此流程即可实现。

二.Madplay 嵌入式播放器的移植

  百度搜索嵌入式播放器首条就是基于modplay播放器移植。下载必要的压缩包libid、libmad、zlib、madplay进行解压,采用源码安装软件的方式。按照以下步骤进行即可。

  a. 对三个 lib 库文件压缩包进行解压;

  b. 运行脚本配置文件命令 ./configure --host=arm-linux --prefix=${PWD}/_install,指定命令运行平台arm-lnux-及文件存放目录/_install/,生成Makefile文件。

  c.make编译->移动/_install/下生成的 .so 动态、.a静态库文件至 根文件系统/rootfs/lib/ 下;

  d. 最后解压madplay应用程序至/rootfs/,在根文件系统下下运行即可;

/*******************/lib/目录主要用于存放系统的链接库文件*********************/如静态库.a(/usr/lib),动态库.so

在使用过程中若缺少链接库文件,则直接将缺少的.so或.a文件移动至/lib/下即可。

  nfs挂载跟根文件系统后,运行 " #madplay name.mp3 "即可。

1-1. OSS/ALSA 声卡的驱动与配置和 Madplay 嵌入式播放器的移植的更多相关文章

  1. 36、ALSA声卡驱动和应用

    (注意:内核上电的时候会把一些没运行的控制器模块的时钟都关掉,所有在写驱动的时候需要在使用的使用使用clk_get和clk_enable使能时钟) (说明:与ALSA声卡对应的是OSS架构,第二期视频 ...

  2. ALSA声卡16_编写ALSA声卡应用程序_学习笔记

    1.体验 (1)ALSA声卡使用体验:使用arecord录音,使用aplay播放,在Alsa-utils里面) 准备: cd linux-3.4.2 patch -p1 < ../linux-3 ...

  3. Linux&nbsp;ALSA声卡驱动之一:ALS…

    声明:本博内容均由http://blog.csdn.net/droidphone原创,转载请注明出处,谢谢! 一.  概述 ALSA是Advanced Linux Sound Architecture ...

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

    转自http://blog.csdn.net/droidphone/article/details/7165482 1.  ASoC的由来 ASoC--ALSA System on Chip ,是建立 ...

  5. ALSA声卡笔记3--ASoC驱动重要结构体关系图

    1.ASoC中重要的数据结构之间的关联方式 (1)Kernel-2.6.35-ASoC中各个结构的静态关系 ASoC把声卡实现为一个Platform Device,然后利用Platform_devic ...

  6. ALSA声卡笔记1---ALSA驱动框架

    1.声卡驱动程序sound.c (1)入口函数里通过register_chrdev()函数注册file_operations 结构体 (2)file_operations 结构体,里面只有open函数 ...

  7. ALSA声卡驱动中的DAPM详解之七:dapm事件机制(dapm event)

    前面的六篇文章,我们已经讨论了dapm关于动态电源管理的有关知识,包括widget的创建和初始化,widget之间的连接以及widget的上下电顺序等等.本章我们准备讨论dapm框架中的另一个机制:事 ...

  8. ALSA声卡驱动中的DAPM详解之六:精髓所在,牵一发而动全身

    设计dapm的主要目的之一,就是希望声卡上的各种部件的电源按需分配,需要的就上电,不需要的就下电,使得整个音频系统总是处于最小的耗电状态,最主要的就是,这一切对用户空间的应用程序是透明的,也就是说,用 ...

  9. ALSA声卡驱动中的DAPM详解之五:建立widget之间的连接关系

    前面我们主要着重于codec.platform.machine驱动程序中如何使用和建立dapm所需要的widget,route,这些是音频驱动开发人员必须要了解的内容,经过前几章的介绍,我们应该知道如 ...

随机推荐

  1. HDFS DataNode详解

    1. datanode介绍 1.1 datanode datanode是负责当前节点上的数据的管理,具体目录内容是在初始阶段自动创建的,保存的文件夹位置由配置选项{dfs.data.dir}决定 1. ...

  2. 浅谈Spring框架

    一.Spring简介 Spring 是一个开源框架,是为了解决企业应用程序开发复杂性而创建的.框架的主要优势之一就是其分层架构, 分层架构允许您选择使用哪一个组件,同时为 J2EE 应用程序开发提供集 ...

  3. Iterm2 快捷操作

    窗口操作 新建窗口:Command + N 关闭所有窗口:Shift + Command + W 窗口之间切换 前一个窗口: Command + [ 后一个窗口:Command + ] 进入窗口1,2 ...

  4. Druid 0.17 入门(3)—— 数据接入指南

    在快速开始中,我们演示了接入本地示例数据方式,但Druid其实支持非常丰富的数据接入方式.比如批处理数据的接入和实时流数据的接入.本文我们将介绍这几种数据接入方式. 文件数据接入:从文件中加载批处理数 ...

  5. 浅析Redis分布式锁---从自己实现到Redisson的实现

    当我们在单机情况下,遇到并发问题,可以使用juc包下的lock锁,或者synchronized关键字来加锁.但是这俩都是JVM级别的锁,如果跨了JVM这两个锁就不能控制并发问题了,也就是说在分布式集群 ...

  6. Python 之解释器

    Python 是一种解释型语言.所谓解释型语言是相对于编译型语言的. 解释型语言运行代码时会使用解释器从代码顶部一行一行解释并运行代码,直到结束. 而编译型语言是将所有代码编译成计算机可以直接识别的机 ...

  7. 2018 巅峰极客CTF misc writeup

    flows 拿到一个pcap包,用wireshark打开,发现是USB协议,尝试在kali下使用tshark提取,提取失败,发现异常.回到wireshark分析数据.在其中一个数据包中发现了tip 把 ...

  8. 13.unittest扩展

  9. volatile 手摸手带你解析

    前言 volatile 是 Java 里的一个重要的指令,它是由 Java 虚拟机里提供的一个轻量级的同步机制.一个共享变量声明为 volatile 后,特别是在多线程操作时,正确使用 volatil ...

  10. Java容器的常见问题

    记录Java容器中的常见概念和原理 参考: https://github.com/wangzhiwubigdata/God-Of-BigData#三Java并发容器 https://blog.csdn ...