一、声卡驱动开发

1.1 声卡驱动架构

  ——OSS开放式音频系统,声卡驱动中传统的OSS构架在02年被收购后即不开源,并且OSS的混音效果不好,因为产生了ALSA

  ——AlSA Linux系统高级音频架构

  

  ——ALSA-OSS封装(为了使优秀的OSS 应用程序能继续使用)

1.2 声卡驱动集成

  step1:安装Linux-smart210.tar.gz内核;

  step2:在Linux-smart210目录中执行"make menuconfig",进行内核配置;

     a.Device Drivers->Sound card support->Advanced linux Sound Architercture->ALSA for Soc audio support;

     b.选择SamSung s5p Audio Drivers 和soc I2C Audio support for wm8960 on MINI210;    

  [notes]:Aduvanced linux sound Architercture中选中

     <*>OSS Mixer API

     <*>OSS pcm (digitol audio)API

     <*>OSS pcm (digitol audio)API --include plugin system

      //支持ALSA-OSS封装的驱动选项

 1.3 下载内核

   step1:编译内核->拷贝并下载内置->nfs挂载;

   step2: 检查声卡驱动文件是否完整 /dev/dsp、/dev/mixer->缺少ALSA库文件 ;

       在rootfs/lib/modules/3.0.8-FriendlyARM/kernel/sound目录中;

        snd-soc-mini210-wm8960.ko    snd-soc-wm8960.k0;

   step3:将库文件复制到根文件系统 /lib/目录下;

   step4:使用insmod命名加载驱动,再次查看/dec目录多了dsp等设备;

二、madplay嵌入式播放器移植

  在百度中搜索嵌入式播放器下载必要的包:libid3tag-0.15.1b.tar.gz、libmad-0.15.1b.tar.gz、madplay-0.15.2b.tar.gz、zlib-1.2.3.tar.gz

   http://blog.chinaunix.net/uid-20539088-id-115750.html 

  step1:对lib库文件压缩包进行解压;

  step2:配置生成makefile文件./configure --host=arm-linux --prefix=${PWD}/_install;

      a. --host=arm-linux:表明编译的软件是arm平台,直接生成arm-linux工具链,无需再makefile中修改;

      b.${PWD}/_install:指定当前目录/_install下存放文件;

   step3:make make install编译并且在_intsall目录中查看是否生成.so .a(动态、静态库文件);

      [notes]:编译libmad是出错:error:unrecognized command line option "-fforce  -men"

          在makefile中找到 -fforce -addr并且删除        

  step4:拷贝库文件到根文件系统中/rootfs/lib/下;

  step5:编译madplay,将在_install/bin/目录下编译生成madplay应用程序拷贝到根文件系统的/rootfs/sbin/;

  step6:nfs挂载根文件系统,运行“#madplay name.mps”

      [notes]:运行madplay时出错:not found

          将生成的.a .so库文件复制到/rootfs/lib/目录下,再次运行即可

  

移动物体监控系统-sprint1声音报警子系统的更多相关文章

  1. 阶段2-新手上路\项目-移动物体监控系统\Sprint1-声音报警子系统开发\第1节-Sprint Backlog规划

    根据之前的sprint1-声音报警子系统是相对比较大的一个需求,需要把它进一步细化,然后指定sprint Backlog product Backlog是整个产品的功能列表! sprint Backl ...

  2. 阶段2-新手上路\项目-移动物体监控系统\Sprint3-移动监控主系统设计与开发

    移动图像监控系统 去找一些相关开源程序进行移植:百度搜索-linux 移动监控 motion是一套免费开源的移动图像监测程序 前面我们已经使用了很多开源软件,他们的使用方法都是大同小异的 1).先在当 ...

  3. 移动物体监控系统-sprint3移动监控主系统设计与开发

    一.移动监控的原理 通过获取摄像头图像,比较前后每一帧的图像数据,从而实现移动物体监控.所有移动监控原理都是这样,只是图像帧的对比的算法不一样. 二.移动物体监控系统的实现 选择开源的移动监控软件mo ...

  4. 阶段2-新手上路\项目-移动物体监控系统\Sprint2-摄像头子系统开发\第2节-V4L2图像编程接口深度学习

    参考资料: http://www.cnblogs.com/emouse/archive/2013/03/04/2943243.htmlhttp://blog.csdn.net/eastmoon5021 ...

  5. 移动物体监控系统-sprint2摄像头子系统开发

    一.摄像头使能驱动 1.1 摄像头软件系统构架 摄像头采集系统按照上图,硬件(摄像头)->摄像头驱动 ->V4L2接口规范 ->图像采集(应用).V4L2将不同类型的摄像头设备按照统 ...

  6. 第5季-小试牛刀-项目开发\阶段2-新手上路\项目-移动物体监控系统\Sprint0-产品设计与规划

    lesson1---产品功能展示 先完成准备阶段,准备阶段要做的事情: a.项目经理选择团队, b.根据项目用户需求以及同类型的实物,制定产品功能列表 c.根据功能的难易程度,制定迭代周期以及在每周期 ...

  7. 【Linux_Shell 脚本编程学习笔记四、监控系统内存并报警企业案例脚本】

    前置知识:awk 参考学习博客:https://www.cnblogs.com/bugingcode/p/8287914.html awk 'BEGIN{ commands } pattern{ co ...

  8. 基于视频压缩的实时监控系统-sprint1基于epoll架构的采集端程序设计

    part1:产品功能 part2:epoll机制   select与epoll区别 1.select与epoll没有太大的区别.除了select有文件描述符限制(1024个),select每次调用都需 ...

  9. 阶段2-新手上路\项目-移动物体监控系统\Sprint4-嵌入式web服务器开发\第3课-CGI程序开发

    实现CGI程序显示一幅图片最核心的功能 把上一节课编写好的led.c程序拷贝过来,并重新命名为image.c 把led的某些部分删除,后如下 那么如何显示一幅图片呢,百度(搜索在html里面去插入图片 ...

随机推荐

  1. Flask-Limit使用详细说明

    Flask-Limit详细说明 在flask项目中我们需要对全部或者一部分接口进行限制,又不想造轮子,那怎么办呢? 所以这就是flask-limit出现的原因,不过对于相对复杂的需求,还是自己造轮子吧 ...

  2. scala 数据结构(四):列表 List

    1 列表 List-创建List 基本介绍 Scala中的List 和Java List 不一样,在Java中List是一个接口,真正存放数据是ArrayList,而Scala的List可以直接存放数 ...

  3. JVM 专题一:虚拟机(一)

    1. 虚拟机 1.1 什么是虚拟机? 虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的.运行在一个完全隔离环境中的完整计算机系统. 所谓虚拟机,就是一台虚拟的计算机.它是 ...

  4. python3 读取chrome浏览器cookies

    原文链接:https://www.cnblogs.com/gayhub/p/pythongetcookiefromchrome.html 好几年前我在做一些自动化的脚本时,脑子里也闪过这样的想法:能不 ...

  5. 数据可视化之powerBI技巧(二十一)简单三个步骤,轻松管理你的Power BI度量值

    最近碰到几个星友的问题,都是问我之前分享的源文件是如何把度量值分门别类放到不同的文件夹中的,就像这样, 其实在之前的文章中也曾提及过做法,这里再详细说一下制作步骤: 01 | 新建一个空表 点击菜单栏 ...

  6. scrapy 源码解析 (三):启动流程源码分析(三) ExecutionEngine执行引擎

    ExecutionEngine执行引擎 上一篇分析了CrawlerProcess和Crawler对象的建立过程,在最终调用CrawlerProcess.start()之前,会首先建立Execution ...

  7. kubernetes系列(十六) - Helm安装和入门

    1. helm简介 1.1 为什么需要helm 1.2 helm中几个概念 1.3 helm用途 2. helm安装 3. helm的基本使用 3.1 安装chart仓库里面的chart 3.2 创建 ...

  8. Cyber Security - Palo Alto Firewall V-Wires

    Leveraging V-Wires Bridge two physical connections and apply security Policies without influencing a ...

  9. 016.Nginx HTTPS

    一 HTTPS概述 1.1 HTTPS介绍 超文本传输安全协议HTTPS(Hypertext Transfer Protocol Secure)是超文本传输协议和SSL/TLS的组合,用以提供加密通讯 ...

  10. .Net、ASP.Net、C#、VisualStudio之间的关系是什么

    .Net一般指的是.NetFramework,提供了基础的.Net类,这些类可以被任何一种.Net编程语言调 用,.NetFramework还提供了 CLR.JIT.GC等基础功能. ASP.Net是 ...