A. 设置ubuntu让它从串口0输出printk信息
a. 设置vmware添加serial port, 使用文件作为串口(在vmware中设置,文件是保存在windows中)
b. 启动ubuntu,修改/etc/default/grub(可以参考Ubuntu Serial Console Login.htm)
GRUB_CMDLINE_LINUX_DEFAULT=""
GRUB_CMDLINE_LINUX="console=tty0 console=ttyS0,115200n8"  //tty0是指可以输出到屏幕,ttyS0指可以输出到串口,输入都可以从tty接受

sudo update-grub
sudo reboot

c. ubuntu禁止root用户登录
先修改root密码: sudo passwd root
然后执行"su root"就可以用root登录了

d. echo "8 4 1 7" > /proc/sys/kernel/printk

再次重启后,只要执行这2个命令就可以:
su root
echo "8 4 1 7" > /proc/sys/kernel/printk

B. 写代码:

(代码中有个cnt=2在执行,因为UVC设备有两个接口VC和VS,probe会被调用两次,在第二次在执行注册分配操作)
1.构造一个usb_driver
2.设置
  probe:
    2.1. 分配video_device:video_device_alloc
    2.2. 设置
      .fops
      .ioctl_ops (里面需要设置11项)
      如果要用内核提供的缓冲区操作函数,还需要构造一个videobuf_queue_ops
    2.3. 注册: video_register_device
  id_table: 表示支持哪些USB设备
3.注册: usb_register

(在mmap函数中根据虚拟地址找到一个page结构体,通过vm_insert_page可以把page映射到mmap提供的地址区,这样应用程序就可以操作这块区域)

USB摄像头型号:
a. 视频里用的是: 环宇飞扬 6190 ,它输出的是原始YUV数据,不支持输出MJPEG压缩数据
大概35元
b. 你也可以使用其它符合UVC规范的摄像头: 就是接到WINDOWS电脑上后不用装驱动的摄像头
如果你要从零写驱动,就需要你会变通。
c. 我们也会生产一款摄像头, 有2个接口:USB、CMOS(ITU-R BT. 601/656)
支持输出YUV(原始数据)、MJPEG格式数据, 正在生产调试中, 2013年8月20号左右会在100ask.taobao.com发布
大概100元
生产出来后, 我会针对它补录一个视频,现场修改代码

注意:即使不支持MJPEG格式的摄像头,也可以做完项目视频的所有实验,
只是进行远程视频传输时,需要用软件进行图像压缩,导致视频播放有些卡

最新文章

  1. 用1、2、2、3、4、5这六个数字,用java写一个main函数,打印出所有不同的排列,如:512234、412345等,要求:"4"不能在第三位,"3"与"5"不能相连。
  2. 开发板支持wifi
  3. C++ STL 的实现:
  4. -bash: /bin/rm: Argument list too long的解决办法
  5. 使用C语言描述静态链表和动态链表
  6. malloc/free vs new/delete
  7. 【GDI+】 线段 文字 定位的问题
  8. 算法心得1:由$nlogn$复杂度的LIS算法引起的思考
  9. two Sum ---- LeetCode 001
  10. [前端 2]常用的JQuery和Dom页面取值与赋值
  11. What the hell is Rotate?
  12. mysql 异常处理实例
  13. Entity Framework with MySQL 学习笔记一(验证标签)
  14. HttpClient4登陆有验证码的网站
  15. vue项目在移动端(手机)调试
  16. C. Neko does Maths(数论 二进制枚举因数)
  17. 1-监控界面sql保存
  18. CentOS7中安装redis5.0
  19. SSD 相关基础知识
  20. [python]关于列表增加元素的几种操作

热门文章

  1. javafx checkbox
  2. HDU 4007 Dave(离散化)
  3. zabbix3.4.7搭建及邮件告警
  4. 03009_SQL注入问题
  5. 【技能】Ext.Viewport 实现左三右一排列方式。
  6. [React Native] Animate the Scale of a React Native Button using Animated.spring
  7. checkbox-padding 调整checkbox字体跟图标距离
  8. 11.Bean2Document-BEAN转document
  9. Day5上午解题报告
  10. BZOJ1396: 识别子串(后缀自动机,线段树)