移动物体监控系统-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/目录下,再次运行即可

移动物体监控系统-sprint1声音报警子系统的更多相关文章
- 阶段2-新手上路\项目-移动物体监控系统\Sprint1-声音报警子系统开发\第1节-Sprint Backlog规划
根据之前的sprint1-声音报警子系统是相对比较大的一个需求,需要把它进一步细化,然后指定sprint Backlog product Backlog是整个产品的功能列表! sprint Backl ...
- 阶段2-新手上路\项目-移动物体监控系统\Sprint3-移动监控主系统设计与开发
移动图像监控系统 去找一些相关开源程序进行移植:百度搜索-linux 移动监控 motion是一套免费开源的移动图像监测程序 前面我们已经使用了很多开源软件,他们的使用方法都是大同小异的 1).先在当 ...
- 移动物体监控系统-sprint3移动监控主系统设计与开发
一.移动监控的原理 通过获取摄像头图像,比较前后每一帧的图像数据,从而实现移动物体监控.所有移动监控原理都是这样,只是图像帧的对比的算法不一样. 二.移动物体监控系统的实现 选择开源的移动监控软件mo ...
- 阶段2-新手上路\项目-移动物体监控系统\Sprint2-摄像头子系统开发\第2节-V4L2图像编程接口深度学习
参考资料: http://www.cnblogs.com/emouse/archive/2013/03/04/2943243.htmlhttp://blog.csdn.net/eastmoon5021 ...
- 移动物体监控系统-sprint2摄像头子系统开发
一.摄像头使能驱动 1.1 摄像头软件系统构架 摄像头采集系统按照上图,硬件(摄像头)->摄像头驱动 ->V4L2接口规范 ->图像采集(应用).V4L2将不同类型的摄像头设备按照统 ...
- 第5季-小试牛刀-项目开发\阶段2-新手上路\项目-移动物体监控系统\Sprint0-产品设计与规划
lesson1---产品功能展示 先完成准备阶段,准备阶段要做的事情: a.项目经理选择团队, b.根据项目用户需求以及同类型的实物,制定产品功能列表 c.根据功能的难易程度,制定迭代周期以及在每周期 ...
- 【Linux_Shell 脚本编程学习笔记四、监控系统内存并报警企业案例脚本】
前置知识:awk 参考学习博客:https://www.cnblogs.com/bugingcode/p/8287914.html awk 'BEGIN{ commands } pattern{ co ...
- 基于视频压缩的实时监控系统-sprint1基于epoll架构的采集端程序设计
part1:产品功能 part2:epoll机制 select与epoll区别 1.select与epoll没有太大的区别.除了select有文件描述符限制(1024个),select每次调用都需 ...
- 阶段2-新手上路\项目-移动物体监控系统\Sprint4-嵌入式web服务器开发\第3课-CGI程序开发
实现CGI程序显示一幅图片最核心的功能 把上一节课编写好的led.c程序拷贝过来,并重新命名为image.c 把led的某些部分删除,后如下 那么如何显示一幅图片呢,百度(搜索在html里面去插入图片 ...
随机推荐
- session + cookie 实现登录功能
前端部分代码实现 <div id="mainCp"> <div class="postForm"> <p> <labe ...
- JVM 专题十五:执行引擎
1. 执行引擎概述 1.1 执行引擎 1.2 概述 执行引擎是Java虚拟机的核心组成部分之一. 虚拟机是一个相对于“物理机”的概念,这两种机器都有代码执行能力,其区别是物理机的执行引擎是直接建立在处 ...
- CRM【第二篇】: stark组件
介绍: stark组件,是一个帮助开发者快速实现数据库表的增删改查+的组件.目标: 10s 中完成一张表的增删改查. 前戏: django项目启动时,自定义执行某个py文件. django启动时,且在 ...
- jpa随手笔记
jpa注解1.设置Pojo为实体@Entity //标识这个pojo是一个jpa实体 2.设置表名@Table(name = "users") //指定表名为users 3.设置主 ...
- drf☞jwt自动签发与手动签发
目录 一.自动签发 二.手动签发 一.自动签发 urls from rest_framework_jwt.views import obtain_jwt_token # 使用jwt自带的登录视图 ur ...
- Ethical Hacking - Web Penetration Testing(10)
SQL INJECTION SQLMAP Tool designed to exploit SQL injections. Works with many DB types, MySQL, MSSQL ...
- GPO - Windows Server Update Services
Windows Server Update Services Configuration Wizard: Approve procedure of these updates is very tiri ...
- python pytest接口自动化框架搭建(一)
1.首先安装pytest pip install pytest 2.编写单测用例 在pytest框架中,有如下约束: 所有的单测文件名都需要满足test_*.py格式或*_test.py格式. 在单测 ...
- python 复制以及更改列表操作
题目:设置一个老用户列表和一个新用户列表,检查老用户列表中是否与新注册的用户名字有重复(不区分大小写),老用户列表不能被破坏 usernames = ['admin','Tom','john','ja ...
- .Net Core+Nginx实现项目负载均衡
nginx大家如果没用过那或多或少都应该听过,vue的部署.反向代理.负载均衡nginx都能帮你做到. 今天主要说一下nginx负载均衡我们的项目,如下图所示,请求到达nginx,nginx再帮我们转 ...