自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 资源 (2)
  • 收藏
  • 关注

原创 Linux如何清空Socket缓冲区

最近碰到一个问题,对于阻塞模式的socket通讯,如果要实现设备的命令控制,那么进入命令流前,缓冲区不能存有上次通讯没有取回的信息,否则一旦命令发出,然后读取缓冲区,很显然会读到上一次的剩余数据。做法当然很简单,就是先清除接收区的缓冲数据,可是如何清除?网上有很多这样的问题,但都没什么规范的解决办法,有的甚至为了达到清空的目的,建议先close一下socket,这个太大手笔了,为了解决一个小问

2011-11-26 21:07:01 1095

原创 Socket主机与客户机通信难点

最近在研究视频传输,通过服务器将采集到的视频通过socket传输到远程终端,但每当建立好连接,服务器已经采集好数据,但将其通过send发送到终端,终端通过recv接受数据,但每次接受到的数据都不完整,大量数据丢失,很多书上只是接受了socket通信的方法 但没有提到大量数据传输时,数据丢失的解决办法和问题,恰巧我也遇到了,只是研究了一翻,发现原来socket发送数据时会讲数据进行分包出来,再TCP

2011-11-26 20:23:03 1534

原创 利用v4l2获取一帧数据到文件

到今天为止,终于利用摄像头搞出来一张图片,并成功显示,废话少说,接下来就把我再学习v4l2过程中的一些弯路和经验 和大家分享吧。首先,要学习V4L2编程的整体框架:(可结合v4l2-api)网上有很多,我直接粘贴过来的:视频采集基本步骤流程如下: 打开视频设备,设置视频设备属性及采集方式、视频数据处理,关闭视频设备,如下图所示:一、打开视频设备打开视频设备非常简单,在V4L2中

2011-11-22 17:25:16 6577 2

原创 mjpg-stream移植

一、环境主机环境 :ubuntu 10.10        目标机 :FS2410(S3C2410)        主机工具链 :gcc-4.4.5        交叉工具链 :arm-none-linux-gnueabi-gcc-4.3.2        摄像头 :ZC301二、移植过程1、配置内核是内核支持芯片为ZC301的摄像头        Ma

2011-11-16 22:00:59 1825

原创 OpenCV 2.0移植过程中zlib,jpeg,png库的交叉编译

宿主系统:Ubuntu 10.10 交叉编译器arm-linux-gcc-4.4.1 目标板:ARM11  Linux系统,kernel:2.6.36第一步,安装交叉编译工具arm-linux-gcc-4.3.2xgy@Ubuntu:~/toolchain$mkdir armxgy@Ubuntu:~/toolchain$cd arm xgy@Ubuntu:~/toolcha

2011-11-16 21:35:02 1121

原创 如何利用Video4Linux获取摄像头数据

Video4Linux是Linux下用于获取视频和音频数据的API接口,在这篇文章中,着重阐述如何利用Video4Linux获取摄像头数据,以实现连续影像的播放。1. 摄像头的安装 在 Linux下常用的摄像头驱动是spca5xx, 这是一个通用驱动,读者可以在以下网站下到这个驱动 http://mxhaard.free.fr/download.html。这个网站还给出了这款驱动支持的

2011-11-16 17:13:20 2206

原创 V4L2应用程序框架

V4L2较V4L有较大的改动,并已成为2.6的标准接口,函盖video\dvb\FM...,多数驱动都在向V4l2迁移。更好地了解V4L2先从应 用入手,然后再深入到内核中结合物理设备/接口的规范实现相应的驱动。本文先就V4L2在视频捕捉或camera方面的应用框架。V4L2采用流水线的方式,操作更简单直观,基本遵循打开视频设备、设置格式、处理数据、关闭设备,更多的具体操作通过ioctl函

2011-11-16 17:07:33 740

原创 Linux的视频编程(v4l2编程)

一.什么是video4linuxVideo4linux2(简称V4L2),是linux中关于视频设备的内核驱动。在Linux中,视频设备是设备文件,可以像访问普通文件一样对其进行读写,摄像头在/dev/video0下。二、一般操作流程(视频设备):1. 打开设备文件。 int fd=open(”/dev/video0″,O_RDWR);2. 取得设备的capability,看看设备

2011-11-16 17:02:33 1028

原创 视频与图像RGB/YUV格式详解

根据三基色原理,任意一种色光F都可以用不同分量的R、G、B三色相加混合而成。F = r [ R ] + g [ G ] + b [ B ]  其中,r、g、b分别为三基色参与混合的系数。当三基色分量都为0(最弱)时混合为黑色光;而当三基色分量都为k(最强)时混合为白色光。调整r、g、b三个系数的值,可以混合出介于黑色光和白色光之间的各种各样的色光。  那么YUV又从何而来呢?在现代彩色

2011-11-16 16:42:06 1531

原创 USB命令(请求)和USB描述符分析及usb鼠标枚举数据流分析

一、USB命令  在USB规范里,对命令一词提供的单词为“Request”,但这里为了更好的理解主机与设备之间的主从关系,将它定义成“命令”。  所有的USB设备都要求对主机发给自己的控制命令作出响应,USB规范定义了11个标准命令,它们分别是:Clear_Feature、Get_Configuration、Get_Descriptor、Get_Interface、Get_Status、S

2011-11-10 21:50:23 2665

原创 OK6410开发板下rmmod: chdir(/lib/modules): No such file or directory 解决方法

1.创建/lib/modules/2.6.36空目录。2.使用如下源码生成rmmod命令,就可以没有任何提示的卸载ko模块了#include #include #include #include #include #include int main(int argc, char *argv[]){const char *modname = argv[1];

2011-11-02 20:02:26 1054

原创 Ubuntu10.10下安装配置tftp服务器

1、安装软件      $ sudo apt-get install tftp tftpd       $ sudo apt-get install openbsd-inetd 2、创建工作目录      $ cd /      $ sudo mkdir tftpboot      $ sudo chmod 777 tftpboot3、修改配置文件       $

2011-11-02 18:45:16 409

原创 Ubuntu设置为root用户自动登录

ubuntu安全限制的太多,用起来太烦了。我们做系统开发的,经常要使用root权限。1、为root账户设置一个密码输入如下命令:#sudo passwd root根据提示设置密码2、编辑/etc/gdm/custom.conf文件[daemon] AutomaticLoginEnable=true 这个修改为true AutomaticLogin=root

2011-11-01 15:49:43 466

转载 LED字符设备驱动

一、实验环境 开发机环境          操作系统:ubuntu 10.10          交叉编译环境:arm-linux-gcc 4.4.1,安装位置 /usr/local/arm/4.4.1/          6410板子内核源码路径:/work/linux-2.6.36.2-v1.05/      目标板环境:OK6410-A     lin

2011-11-01 13:40:28 714

linux驱动开发详解第二版的开发平台LDD6410用户手册

linux驱动开发详解第二版的开发平台LDD6410用户手册

2011-10-15

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除