学习目标:在linux终端安装xawtv,并测试vivi.ko驱动程序。

一、安装xawtv

1)ubuntu能上网情况下,使用命令:# sudo apt-get install xawtv

2)如果不能上网,需要先下载源码:xawtv-3.95.tar.gz: http://www.kraxel.org/releases/xawtv/
步骤:
在这个网站创建新的sources.list 地址:http://repogen.simplylinux.ch/
a. 选择国家
b. 选择相邻的ubuntu版本
c. 选择"Ubuntu Branches"
d. 生成sources.list
e. 把得到内容替换到/etc/apt/sources.list
f.  # sudo apt-get update
    # sudo apt-get install xawtv
二、USB摄像头测试
1.让ubuntu处于前台,插上USB摄像头,执行命令:# ls /dev/video* 可以看到生成了/dev/video0设备节点;
2.执行命令:# xawtv 可以看到视频画面
三、测试虚拟摄像头vivi
1. 确实ubuntu的内核版本,执行命令:# uname -a 
2. 下载2.6.31-14版本的内核,网址:www.kernel.org,解压后把drivers/media/video目录取出传到ubuntu的/work/project目录下
3.  修改目录下的Makefile
1)首先查看内核目录 # ls /usr/src:
则Makefile修改为:
KERN_DIR = /usr/src/linux-headers-2.6.31-14-generic
all:
          make -C $(KERN_DIR) M=`pwd` modules
clean:
          make -C $(KERN_DIR) M=`pwd` modules clean
          rm -rf modules.order
obj-m   += vivi.o

4. 编译:make
5. 加载驱动:# insmod vivi.ko
---------------------------------------------------------------------------------------------
出现问题:
使用命令,打印内核输出信息:# dmesg
提示缺少函数
使用Source Insight查看他们所在的源文件,然后将他们加入Makefile编译为模块:
obj-m   += vivi.o
obj-m   += videobuf-core.o
obj-m   += videobuf-vmalloc.o
重新编译并加载:
insmod videobuf-core.ko
   insmod videobuf-vmalloc.ko
   insmod v4l2-common.ko
   insmod vivi.ko
---------------------------------------------------------------------------------------------
6. 在设备目录下可以看到新的设备节点video1:# ls /dev/video (这里video1为vivi虚拟出来的视频设备节点)
7. 使用xawtv命令,测试:xawtv -c /dev/video1
(注意video1的设备节点可能会变化)

转载于:https://www.cnblogs.com/lxl-lennie/p/10275421.html

2.2 vivi虚拟视频驱动测试相关推荐

  1. 虚拟视频驱动vivi.c分析(linux-3.4.2版本)

    参考韦东山老师视频: 虚拟视频驱动vivi.c分析(linux-3.4.2版本): vivi_init      vivi_create_instance(i); { struct vivi_dev ...

  2. 从vivi虚拟摄像头驱动开始分析v4l2

    Linux v4l2架构学习总链接 内核代码是基于linux4.9分析 vivi 代码在线查看 vivi.c - drivers/media/video/vivi.c - Linux source c ...

  3. Linux摄像头驱动第一篇之虚拟摄像头驱动vivi.c

    本文学习自韦东山老师的摄像头驱动模块 目录 一 摄像头驱动程序学习切入点以及V4L2模型概览 二 简析虚拟视频驱动 VIVI.C 2.1 初始化.设置.注册过程 2.2 简析vivi.c的open,r ...

  4. 虚拟视频驱动程序vivi.c源码分析

    虚拟视频驱动程序vivi.c源码分析 以下先把上一篇文章中的最后一段,放在这里利于程序源码的分析: vivi.c 虚拟视频驱动程序----- 此代码模拟一个真正的视频设备V4L2 API (位于dri ...

  5. 通过虚拟驱动vivi分析摄像头驱动

    Linux摄像头驱动学习之:(二)通过虚拟驱动vivi分析摄像头驱动 一.通过指令 "strace -o xawtv.log xawtv" 得到以下调用信息: // 1~7都是在v ...

  6. 虚拟串口驱动 开发_服务虚拟化如何与测试驱动的开发相关

    虚拟串口驱动 开发 敏捷的软件开发方法依赖于服务虚拟化,以赋予每个IT团队自治权. 这种方法消除了障碍,使自治团队可以继续开发活动,而不必等待任何人. 这样,团队就可以开始迭代/冲刺,从而开始集成测试 ...

  7. 二十四、V4L2框架主要结构体分析和虚拟摄像头驱动编写

    一.V4L2框架主要结构体分析 V4L2(video for linux version 2),是内核中视频设备的驱动框架,为上层访问视频设备提供统一接口. V4L2整体框架如下图: 图中主要包括两层 ...

  8. 深入学习Linux摄像头(三)虚拟摄像头驱动分析

    深入学习Linux摄像头系列 深入学习Linux摄像头(一)v4l2应用编程 深入学习Linux摄像头(二)v4l2驱动框架 深入学习Linux摄像头(三)虚拟摄像头驱动分析 深入学习Linux摄像头 ...

  9. V4L2视频驱动框架---v4l2_device管理模块简述

    ​ v4l2框架由4个主要的部分(数据结构)组成: v4l2_devices(包括v4l2_subdev) :v4l2_device管理所有的设备 media_device : meida_devic ...

最新文章

  1. linux下什么文件不能修改,Linux和Unix下root也不能修改文件与目录的命令
  2. JsonWriter使用
  3. python基础知识资料包-Python基础知识总结——史上最全系列
  4. 集成银联支付-代付功能
  5. 最全盘点:27类激光技术前沿应用
  6. Python实现isPrime函数----新手
  7. 有关一道身份证的python编程题
  8. 百度飞桨EasyDL X 韦士肯:看轴承质检如何装上“AI之眼”
  9. Navigation Bar的背景图片设置
  10. H5+CSS+JavaScript入门学习
  11. 看完这篇文章APP关键词覆盖增加70000|互联网行业公会
  12. 每日一题:299. 猜数字游戏
  13. git小游戏通关攻略(基础、高级、远程)
  14. 18. 图像分类、分割
  15. equest,response,session,cookie,application
  16. 新川国际会客厅举行首次产业分享会
  17. D.E. Shaw:“股涨债跌”的幕后操手竟是各国央行?
  18. 人机融合智能中的计算-算计问题
  19. 等价输入干扰补偿的思想
  20. Vue使用echarts(完整版,解决各种报错)

热门文章

  1. mybatis学习笔记二(接口注解)
  2. MySQL count sum 条件查询
  3. ActiveMQ入门教程(二) - ActiveMQ的安装
  4. RAID与软RAID命令应用
  5. 语言运行速度的一次测试
  6. inner join on, left join on, right join on要详细点的介绍?内连接,左外连接,右外连接。...
  7. Eclipse ADT 21 Preview 10 发布
  8. AWS太过强势?VMware为自保疑与微软达成合作
  9. iPhone 7 256GB版停售原因分析
  10. 查看MYSQL数据库中所有用户及拥有权限