移动物体监控系统-sprint1声音报警子系统

一、声卡驱动开发

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/目录下,再次运行即可

  

 

 

 

 

 

posted @ 2020-08-03 10:37  打打打个大西瓜  阅读(258)  评论(0)    收藏  举报