
Linux应用
文章平均质量分 77
wang-bob
嵌入式系统开发和研究
展开
-
嵌入式Linux下ALSA音频架构ALSA-lib移植与编译心得
ALSA是一个完全开放源代码的音频驱动程序集,除了像OSS那样提供了一组内核驱动程序模块之外,ALSA还专门为简化应用程序的编写提供了相应的函数库,与OSS提供的基于ioctl的原始编程接口相比,ALSA函数库使用起来要更加方便一些。利用该函数库,开发人员可以方便快捷的开发出自己的应用程序,细节则留给函数库内部处理。当然 ALSA也提供了类似于OSS的系统接口,不过ALSA的开发者建议应用程序开发者使用音频函数库而不是驱动程序的API原创 2014-10-25 16:36:57 · 5203 阅读 · 0 评论 -
嵌入式Linux下MP4视频录制库MP4V2移植和简介
MP4V2的前身是MPEG4IP开源项目中的一个功能库,但是现在MPEG4IP已经不在更新了。但是MP4V2还在更新,并且独立出来了。MP4V2主要是作为MP4文件的录制一个开源库原创 2014-10-31 21:03:57 · 5955 阅读 · 0 评论 -
基于SIP和RTP协议的开源VOIP之QuteCom简介
近年来,随着网络带宽的增加和各种多媒体终端设备成本的下降,Voice over IP 和Video over IP 获得广泛的应用,其关键技术——信令技术目前有两种,ITU-T 提出的H.323是在分组交换网上多媒体通信的技术规范,已获得业界认可,但构成复杂,实现困难;IETF提出的会话初始化协议SIP(Session Initiation Protocol)也是一种支持多媒体会话的信令控制协议,用于创建、修改以及终止一个或多个参与者参加的会话进程,与H.323 相比,SIP更简单灵活、易于实现,已逐渐成为原创 2014-10-30 20:12:24 · 5108 阅读 · 0 评论 -
媒体播放器之:TCPMP播放器简介
TCPMP-The Core Pocket Media Player是著名的PDA媒体播放器。掌上设备中最棒的媒体播放软件,完全可以用它替代设备系统自带的任何一款播放器,支持众多媒体格式。并且可以通过插件的形式扩展功能,如同步字幕、歌词显示,更多的媒体格式支持等。原创 2014-09-06 15:46:07 · 3040 阅读 · 0 评论 -
DLNA-家庭娱乐网络
DLNA的全称是DIGITAL LIVING NETWORK ALLIANCE, 其宗旨是Enjoy your music, photos and videos, anywhere anytime, DLNA(Digital Living Network Alliance) 由索尼、英特尔、微软等发起成立、旨在解决个人PC,消费电器,移动设备在内的无线网络和有线网络的互联互通,使得数字媒体和内容服务的无限制的共享和增长成为可能原创 2014-04-12 15:09:03 · 3283 阅读 · 3 评论 -
Music Player Daemon移植到嵌入式系统[一]
Music Player Daemon是一款广受欢迎的音乐服务端软件,提供了丰富的用于音乐播放的控制接口,支持MP3、Ogg Vorbis、FLAC、AAC、Mod和wave等音频格式,以及播放列表管理。采用C/S架构开发的MPD,用户可以使用各种前端来控制MPD的播放行为,也可以使用终端甚至网页来控制,因此能够满足各类用户的需求。原创 2013-10-06 20:49:57 · 3611 阅读 · 0 评论 -
基于Linux开源VOIP系统LinPhone[二]
在LinPhone这个系统中,第一个我们要介绍的第三方库组件:oRTP --a Real-time Transport Protocol (RTP,RFC3550) library,oRTP是基于LGPL下的开源的实时传输协议,对于RTP协议主要是用于音频和视频的网络实时传输。有两种方式:UDP和TCP。原创 2013-01-26 17:13:25 · 4284 阅读 · 1 评论 -
DLNA-基于uShare的DMS移植和编译
现在,Wi-Fi联盟已经开始同DLNA联盟(数字生活网络联盟)合作,将Wi-Fi Direct技术融合到DLNA技术里。一旦该技术稳定成型,应用于无线设备上,如智能手机、平板电脑里,它们就可以变身为多媒体服务器,来分享所收集的多媒体资料。这样在无线设备之间流媒体传递就不再需要无线路由器的连接了。而且,即使在不同的Wi-Fi网络上,你同样可以向你朋友的无线设备上直接共享音乐和视频等多媒体信息原创 2014-04-13 14:01:32 · 6186 阅读 · 6 评论 -
基于mjpg-streamer-r63的源码分析之:基础知识详细解释[二]
在mjpg-streamer的程序中,经常会看到getopt_long_only这个函数,这是一个抓取或者说是解析命令行参数的一个linux下的API函数。原创 2012-07-28 09:53:14 · 4523 阅读 · 0 评论 -
基于mjpg-streamer-r63的源码分析之:基础知识详细解释[一]
在mjpg-streamer的开源的网络视频服务器项目中,在代码中会经常用到线程,在linux下的线程thread,下面来详细的分析和学习一下linux系统下的线程,如果是在ARM嵌入式系统中的应用程序要用到线程thread的话,需要在文件系统将libpthread-0.9.30.1.so,当然这个版本是需要看具体的arm-linux的编译器版本中所包含的版本号原创 2012-07-28 09:07:24 · 5748 阅读 · 0 评论 -
开源GUI-Microwindows之程序入口分析
这里只分析基于WIN32 Message方式部分,对于Nano不是这里的分析重点,相信熟悉Linux内核的,应该都知道在Linux下,不管是设备,驱动,还是进程,都是采用链表的方式将各个宿主数据结构链接起来,而在Microwindows中也采用内似的方式,我们先来复习下Linux的双向链表吧,在Linux内核中,有大量的数据结构需要用到双循环链表,例如进程、文件、模块、页面等。若采用双循环链表的传统实现方式,需要为这些数据结构维护各自的链表,并且为每个链表都要设计插入、删除等操作函数。因为用来维持链表的ne原创 2014-10-05 20:03:12 · 2601 阅读 · 0 评论 -
嵌入式Linux下开源路由器OpenWRT编译与下载
OpenWRT是一个高度模块化、高度自动化的嵌入式Linux系统,拥有强大的网络组件和扩展性,常常被用于工控设备、电话、小型机器人、智能家居、路由器以及VOIP设备中。 同时,它还提供了100多个已编译好的软件,而且数量还在不断增加,而 OpenWrt SDK 更简化了开发软件的工序原创 2014-10-26 15:52:24 · 3819 阅读 · 0 评论 -
基于嵌入式Linux下GCC编译器__sync_sub_and_fetch_4错误的解决心得
原子操作就是不可再分的操作,在多线程程序中原子操作是一个非常重要的概念,它常常用来实现一些同步机制。在Linux系统中的GCC或者嵌入式Linux的交叉编译GCC中从4.1.2提供了__sync_*系列的built-in函数,用于提供加减和逻辑运算的原子操作原创 2015-02-21 12:32:18 · 12169 阅读 · 3 评论 -
基于Linux下的GCC编译器的内部预宏定义与__attribute__属性
经常在一些开源的程序中看到一些宏定义,却看不到这些宏定义是在哪些地方定义的,其实有些宏定义是交叉编译工具GCC预定义好的,比如:__GNUC__,__ELF__等等,怎么看到这些宏定义呢原创 2015-02-20 21:18:31 · 12098 阅读 · 0 评论 -
基于RTL819X实现的Router/AP的源码分析[一]
详细的关于BOA的介绍,请参考我的博文:嵌入式Linux下BOA网页服务器的移植的详细介绍,BOA WebServer是一款单任务的HTTP服务器,与其他网页服务器不同之处,是当有连接请求到来是,它既不是为每个连接都单独创建进程,也不是采用复制自身进程处理多链接,而是通过建立HTTP请求列表来处理多路HTTP连接请求,同时它只为CGI程序创建新的简称,在最大程度上节省了系统资源,这对于资源受限的嵌入式系统来说非常重要,同时它还自动生成目录、自动解压文件等功能,因此BOA具有很高的HTTP请求处理速度和效率,原创 2015-01-11 16:10:58 · 6611 阅读 · 4 评论 -
WiFi-Audio需要实现的功能简介
通过WIFI方式将播放器(手机、平板电脑、PC)音乐,高保真无线长距传输至音响系统具有蓝牙无线音响的全部功能,同时传输距离更远、具备穿墙能力、音质损耗更低、功耗更小原创 2015-01-14 17:08:43 · 5244 阅读 · 0 评论 -
基于RTL819X实现的Router/AP的SDK配置和编译
在上一篇博文基于RTL819X实现的Router/AP的SDK简介中有简单的介绍了RTL819X开发包,从Sourceforge网站上下载下来相关的Source,并且解压到虚拟机上(Ubuntu10.04 LTS)原创 2015-01-10 15:44:44 · 5434 阅读 · 5 评论 -
嵌入式Linux下BOA网页服务器的移植
BOA WebServer是一款单任务的HTTP服务器,与其他网页服务器不同之处,是当有连接请求到来是,它既不是为每个连接都单独创建进程,也不是采用复制自身进程处理多链接,而是通过建立HTTP请求列表来处理多路HTTP连接请求。原创 2014-09-28 21:50:27 · 13596 阅读 · 0 评论 -
基于RTL819X实现的Router/AP的SDK简介
闲来无事,在一个Sourceforge网站上无意之间看到了RTL819X的Router/AP的SDK,下载下来看了看,原来这个Router/AP是基于开源的BOA Web服务器之上开发的linux下的Router.原创 2015-01-09 17:14:50 · 4194 阅读 · 2 评论 -
编译Ralink SDK时碰到的奇怪错误(undefined reference to `main')的解决办法
编译到RT288x_SDK/source/user/iptables-1.4.10出错:libtool: link: /opt/buildroot-gcc342/bin/mipsel-linux-uclibc-gcc libiptc/.libs/libip4tc.so extensions/libext4.a ./.libs/libxtables.so -lm/opt/buildroot转载 2013-11-24 16:03:20 · 8423 阅读 · 1 评论 -
嵌入式Linux下开源路由器OpenWRT简介
OpenWrt支持各种处理器架构,无论是对ARM,X86,PowerPC或者MIPS都有很好的支持。其多达3000多种软件包,囊括从工具链(toolchain),到内核(linux kernel),到软件包(packages),再到根文件系统(rootfs)整个体系,使得用户只需简单的一个make命令即可方便快速地定制一个具有特定功能的嵌入式系统来制作固件。其模块化设计也可以方便的移植各类功能到OpenWrt下,加快开发速度原创 2013-01-26 10:58:45 · 12457 阅读 · 0 评论 -
基于ARM嵌入式Linux网络编程实例解析
这段时间,因为项目的需要,了解了一下USBtoNet的驱动,同时采用IOCTL来设置MAC的地址,检测网卡的连接状态等等,因此,就从网络上了解了一下关于网络编程方面的知识.原创 2013-01-19 17:15:15 · 8713 阅读 · 0 评论 -
基于Linux开源VOIP系统LinPhone[一]
LinPhone是一个网络电话或者IP语音电话(VOIP),是一款遵循GPL的开源的网络视频电话系统,其主要如下:使用linphone,我们可以在互联网上随意的通信,通过语音、视频、即时文本消息。linphone使用SIP协议,是一个标准的开源网络电话系统,你能将linphone与任何基于SIP的VoIP运营商连接起来,包括我们自己开发的免费的基于SIP的Audio/Video服务器。LinPhone是一款自由软件(或者开源软件),你可以随意的下载和在LinPhone的基础上二次开发。LinPhon原创 2013-01-26 11:56:47 · 20386 阅读 · 0 评论 -
基于Linux下的开源wavplay播放器
wave文件作为多媒体中使用的声波文件格式之一,它是以RIFF格式为标准的。RIFF是英文Resource Interchange File Format的缩写,每个WAVE文件的头四个字节便是“RIFF”,WAVE文件是由若干个Chunk组成的。原创 2013-02-05 13:46:41 · 4944 阅读 · 0 评论 -
基于oSIP开源库的SIP代理服务器PartySIP[一]
Partysip 是基于osip实现的的sip服务器。实现了注册服务、重定向、定位、事务状态/无状态机。和eXosip框架思路一样,只是模块实现上面由于功能有所不同而区别。原创 2014-09-14 14:47:36 · 7907 阅读 · 0 评论 -
全数字(IP)楼宇对讲系统简介
数字IP楼宇对讲属于楼宇可视对讲系统发展的终极阶段,数字IP楼宇对讲系统全面解决了语音、视频、数据在互联网上的传输问题,使智能小区系统在真正意义上与Internet溶为一体,实现数据、语音、视频三线合一.原创 2014-08-03 14:23:30 · 9061 阅读 · 1 评论 -
ISP图像处理芯片-FH8510简介
FH8510是一款针对CIS(CMOS Image Sensor)的图像信号处理芯片,它内置强大图像处理引擎,CMOS图像传感器接口,TV编码器,D/A转换器,提供NTSC/PAL的输出,同时也提供ITU.BT656 10Bit的输出,主要应用于中低端标清模拟CCTV摄像机、车载后视摄像机及楼宇对讲摄像机。原创 2014-07-05 11:33:18 · 26915 阅读 · 1 评论 -
基于RDP协议的开源rdesktop简介
rdesktop 是一个在 Unix/Linux 下访问 Windows 远程桌面的客户端程序。当前,rdesktop 所支持的 Windows 系列版本包括 NT、2000、XP 和 2003。通过使用 rdesktop 所实现的远程桌面协议(RDP),你可以在 Unix/Linux 系统中呈现 Windows 桌面,并进行相应的操作。目前最新的版本rdesktop是rdesktop 1.8.2,这个是最新的版本。原创 2014-06-14 15:56:47 · 9266 阅读 · 0 评论 -
基于RDP协议的瘦客户机简介
瘦客户机(thin client)是使用专业嵌入式处理器、小型本地闪存、精简版操作系统的基于PC工业标准设计的小型行业专用商用PC。 配置包含专业的低功耗、高运算功能的嵌入式处理器。不可移除地用于存储操作系统的本地闪存、以及本地系统内存、网络适配器、显卡和其它外设的标配输入/输出选件。瘦客户机没有可移除的部件,可以提供比普通PC更加安全可靠的使用环境,以及更低的功耗,更高的安全性。原创 2014-06-14 15:37:02 · 6059 阅读 · 0 评论 -
开源浏览器:Dillo Web Browser简介
***************************************************************************************************************************作者:EasyWave原创 2014-03-09 13:17:40 · 6559 阅读 · 0 评论 -
RTP负载类型及时间戳介绍
在网络上看到一篇很好的文章,就转载过来了,以便自己以后能够用得上. 在oRTP库中,提供了设置RTP负载类型的函数,请注意一定要记得根据实际的应用进行设置,我们先来看看RTP协议包头的格式:前12个字节在每一个RTP packet中都存在,而一系列的CSRC标记只有存在Mixer时才有 version (V): 2 bits 标明RTP版本号。协议初始版转载 2013-01-19 17:43:50 · 2659 阅读 · 0 评论 -
BusyBox reboot 流程分析
用户在console下输入reboot命令,busybox会调用到halt_main int halt_main(int argc ATTRIBUTE_UNUSED, char **argv){...../* Perform action. */ if (ENABLE_INIT && !(flags & 4)) { if (ENABLE_FEATURE_INITR转载 2013-01-23 21:07:51 · 2278 阅读 · 0 评论 -
基于mjpg-streamer网络视频服务器移植
MJPG简介: MJPG是MJPEG的缩写,但是MJPEG还可以表示文件格式扩展名. MJPEG 全名为 "Motion Joint Photographic Experts Group",是一种视频编码格式, Motion JPEG技术常用与闭合电路的电视摄像机的模拟视频信号“翻译”成视频流,并存储在硬盘上。典型的应用如数字视频记录器等。MJPEG不像MPEG,不使用帧间转载 2012-05-06 15:17:32 · 8044 阅读 · 2 评论 -
基于oSIP开源库PartySIP服务器之uClibc库的移植和配置[二]
uClibc 是一个面向嵌入式Linux系统的小型的C标准库。最初uClibc是为了支持uClinux而开发,这是一个不需要内存管理单元的Linux版本,因此适合于微控制器系统。uClibc比一般用于Linux发行版的C库GNU C Library (glibc)要小得多,glibc目标是要支持最大范围的硬件和内核平台的所有C标准,而uClibc专注于嵌入式Linux.很多功能可以根据空间需求进行取舍。原创 2014-09-20 23:36:21 · 3335 阅读 · 0 评论 -
DirectFB简介以及移植[一]
DirectFB是一个轻量级的提供硬件图形加速,输入设备处理和抽象的图形库,它集成了支持半透明的视窗系统以及在LinuxFramebuffer驱动之上的多层显示。它是一个用软件封装当前硬件无法支持的图形算法来完成硬件加速的层。DirectFB是为嵌入式系统而设计。它是以最小的资源开销来实现最高的硬件加速性能。原创 2014-09-13 15:48:15 · 9439 阅读 · 7 评论 -
基于Linux开源VOIP系统LinPhone[三]
在LinPhone这个系统中,第二个我们要介绍的第三方库组件:speex,Speex是一套主要针对语音的开源免费,无专利保护的音频压缩格式。Speex工程着力于通过提供一个可以替代高性能语音编解码来降低语音应用输入门槛 。另外,相对于其它编解码器,Speex也很适合网络应用,在网络应用上有着自己独特的优势原创 2013-02-05 14:18:43 · 6591 阅读 · 0 评论 -
基于android2.3.5系统:Android动态库链接
跟普通的linux基本一样,不过android是采用了自己的glibc,也就是在bionic这个文件中,在这个文件夹中它有libc、libdl、libm、libstdc++、libthread_db以及linker原创 2013-03-24 15:07:27 · 3265 阅读 · 1 评论 -
基于Linux开源VOIP系统LinPhone[四]
在《 基于Linux开源VOIP系统LinPhone[三] 》中,简单的介绍了SPEEX的编译和所需的库文件,如果需要编译linphone的话,最好先只需编译不带UI和不带视频传输的,这样在后期调试的时候,会比较方便,如果想要自己修改linphone的代码..原创 2013-03-23 18:18:07 · 3944 阅读 · 0 评论 -
基于Linux开源VOIP系统LinPhone[五]
在《 基于Linux开源VOIP系统LinPhone[四] 》中,简单的介绍了readline、osip、eXosip以及ncurses库的编译,如果需要编译linphone的话,当然在编译speex的时候,可能还需要一个第三方库libogg,不过也可以不用它,那么怎么做呢,我可以打开源码,来修改一下。原创 2013-03-31 18:32:41 · 5692 阅读 · 0 评论 -
基于Linux开源VOIP系统LinPhone[六]
在《 基于Linux开源VOIP系统LinPhone[五] 》中,详细的介绍了speex库如果不需要libogg库的详细地修改方法,现在说说,linphone如何编译,前面已经说了。如果只编译不带ui和只有audio版本的linphone,只需要speex、readline、osip、eXosip以及ncurses库即可。原创 2013-03-31 19:07:57 · 4325 阅读 · 2 评论