自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(112)
  • 资源 (1)
  • 收藏
  • 关注

原创 (第2课第1.1.7节)myuvc(5th)

#include #include #include #include #include #include #include #include #include #include static int myuvc_probe(struct usb_interface *intf,    const struct usb_device_id *id)

2015-09-26 20:34:45 280

原创 (第2课第1.1.7节)myuvc(4th)

#include #include #include #include #include #include #include #include #include #include static int myuvc_probe(struct usb_interface *intf,    const struct usb_device_id *id)

2015-09-26 20:33:12 331

原创 (第2课第1.1.7节)myuvc(3th)

#include #include #include #include #include #include #include #include #include #include static int myuvc_probe(struct usb_interface *intf,    const struct usb_device_id *id)

2015-09-26 20:31:15 261

原创 (第2课第1.1.7节)myuvc(2th)

#include #include #include #include #include #include #include #include #include #include static int myuvc_probe(struct usb_interface *intf,    const struct usb_device_id *id)

2015-09-26 20:29:45 253

原创 (第2课第1.1.7节)myuvc(1th)

#include #include #include #include #include #include #include #include #include #include static int myuvc_probe(struct usb_interface *intf,    const struct usb_device_id *id)

2015-09-26 20:27:50 321

原创 \第2课第1.1.4节文档和图片

一. V4L2框架: video for linux version 2虚拟视频驱动vivi.c分析:1.分配video_device2.设置3.注册:video_register_devicevivi_init    vivi_create_instance        v4l2_device_register   // 不是主要, 只是用于初始化一些东西,比如

2015-09-26 20:21:42 261

原创 (第二课1.1.4节)myvivi(7th)

/* 仿照vivi.c */#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include

2015-09-26 20:15:40 383

原创 (第二课1.1.4节)myvivi(6th)

/* 仿照vivi.c */#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include

2015-09-26 20:11:45 355

原创 (第二课1.1.4节)myvivi(5th)

/* 仿照vivi.c */#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include

2015-09-26 20:08:08 278

原创 (第二课1.1.4节)myvivi(4th)

/* 仿照vivi.c */#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include

2015-09-26 20:04:52 388

原创 (第二课1.1.4节)myvivi(3th)

/* 仿照vivi.c */#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include

2015-09-26 20:01:55 308

原创 (第二课1.1.4节)myvivi(2th)

/* 仿照vivi.c */#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include

2015-09-26 19:59:23 357

原创 (第三期1.1.4节)myvivi(1th)

/* 仿照vivi.c */#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include

2015-09-26 19:56:46 545

原创 12th_usb(4th)

/* * drivers\hid\usbhid\usbmouse.c */#include #include #include #include #include #include static struct input_dev *uk_dev;static char *usb_buf;static dma_addr_t usb_buf_phys;

2015-09-26 19:48:08 317

原创 12th_usb(3th)

/* * drivers\hid\usbhid\usbmouse.c */#include #include #include #include #include #include static struct input_dev *uk_dev;static char *usb_buf;static dma_addr_t usb_buf_phys;

2015-09-26 19:46:35 295

原创 12th_usb(2th)

/* * drivers\hid\usbhid\usbmouse.c */#include #include #include #include #include #include static struct usb_device_id usbmouse_as_key_id_table [] = {{ USB_INTERFACE_INFO(USB_INT

2015-09-26 19:44:47 287

原创 12th_usb(1th)

/* * drivers\hid\usbhid\usbmouse.c */#include #include #include #include #include #include static struct usb_device_id usbmouse_as_key_id_table [] = {{ USB_INTERFACE_INFO(USB_INT

2015-09-26 19:42:34 297

原创 9th_led_bus_drv_dev

#include #include #include #include #include #include #include #include #include #include #include /* 分配/设置/注册一个platform_device */static struct resource led_resource[] = {

2015-09-26 19:40:43 396

原创 源码8th_buttons_input

/* 参考drivers\input\keyboard\gpio_keys.c */#include #include #include #include #include #include #include #include #include #include #include #include #include #include #i

2015-09-26 19:36:07 316

原创 源码7th_buttons_all

#include #include #include #include #include #include #include #include #include #include #include #include static struct class *sixthdrv_class;static struct class_device *

2015-09-26 19:33:08 407

原创 linux驱动结构

kobject     ->kobject *parent     ->kset          ->struct list_head    //指向了所包含的kobject的链表头          ->struct kobject kobj        ->kobj_type          ->void (*release) (struct kobject *k

2015-09-24 21:53:06 382

原创 C++学习笔记八

24、子对象》当一个类的成员时另一个类的对象时,该对象就为子对象。》子对象即是对象的成员》当类中出现了子对象(对象成员),该类的构造函数要包含对子对象的初始化,  通常采用成员初始化列表的方法来初始化子对象;#includeclass A {public:A(int i,int j) { A1 = i;A2 = j;}void Print()   { cou

2015-09-24 21:50:38 389

原创 C++学习笔记七

23、(1).常指针char *const ptr1 = strptrl;>ptrl是一个常量指针,指向固定的地方。>ptrl = strptr2; 错误>*ptrl = "m";    正确>ptr不可以更新>ptr所指向的变量可以更新;const char *ptr2 = strptrl;>ptrl是一个指向常量的指针;>ptrl = strptr2

2015-09-24 21:49:41 282

原创 C++学习笔记六

20、对象数组#includeclass DATE{public:DATE() { month=day=year=0;cout}DATE(int m,int d,int y){month = m;day = d;year = y;cout}    ~DATE(){cout}void Print() {cout

2015-09-24 21:48:53 250

原创 C++学习笔记五

18、(1)对象指针做函数参数a.对象指针和对象引用b.数组c.常类型d.子对象和对对象优点:a.实现传址调用。可在被调用函数中改变调用函数的参数对象的值,实现函数之间的信息传递;b.使用对象指针实参仅将对象的地址值传递给形参,而不是进行副本的拷贝,这样可以提高运  行效率,减少时间开销;#includeclass M{public:M()

2015-09-24 21:48:17 362

原创 C++学习笔记四

15、友元函数1.为什么要引入友元函数?  在对某些成员函数多次调用时,由于参数的类型检查和安全性检查都需要时间开销,从而影响了程序的运行效率,引入友元后可以提高程序的运行效率;2.使用格式:  a.是一种定义在类外部的【类】或【普通函数】,但需要在类体内进行说明(前面加    friend关键字)  b.不是成员函数,但可以访问类中的私有成员。(重要!!!!)3.

2015-09-24 21:47:25 327

原创 C++学习笔记三

11、重载性1.构造函数能重载2.析构函数不能重载3.一般函数可以重载#includeclass M{public:M(int x,int y) { X = x; Y = y;}M(int x)  { X = x;Y = x*x;}int add(int x,int y);int add(int x);int add();int Xout() {

2015-09-24 21:46:36 609

原创 C++学习笔记二

7、类的定义格式(续)  >在类体中不允许对所定义的数据成员进行初始化:   class TDate   {         public:      ....  private:    int year(1998),month(4),day(9);   };  >类中的数据成员的类型可以是任意的:   1.包括整型、浮点型、数组、指针和引用等;   2

2015-09-24 21:45:57 317

原创 C++学习笔记

1、二义性:在实参中注意不要使用带有副作用的运算符,此时可能造成二义性。        使用对参数求值顺序不同的编译器造成的二义性:add(++x,x+y)  //自左至右 5 11  自右至左 5 10 注意:函数参数求值顺序与参数默认值补足顺序不同参数求值顺序:由编译器决定求值方向;参数默认值补足顺序:自左向右2、c++在函数定义时可以指定,一个或者

2015-09-24 21:44:37 334

原创 USB摄像头驱动3

USB描述符:usb设备有描述符在lsusb.c中的main函数中有。一个设备只有一个设备描述符。设备描述符都是通过设备插上就会储存到响应结构中。摄像头有两个VS和VC接口,会两次调用.probe两次,因为有两个接口。打印结构:myuvc_probe: cnt = 0 Device Descriptor:bLength   18.

2015-09-24 21:42:43 405

原创 USB摄像头驱动2

uvc_driver.c   usb_register(&uvc_driver.driver)   uvc_probe->uvc_register_chains   ->uvc_register_terms->uvc_register_video  ->vdev = video_device_alloc()->vdev->v4l2_dev = &dev->vdev;

2015-09-24 21:39:53 856

原创 USB摄像头驱动

1、构造一个usb_driver2、设置probe 2.1、分配video_device:video_device alloc2.2、设置.fops.ioctl_ops(里面需要设置11项)如果要内核提供缓冲区操作函数,还需要构造一个videobuf queue ops2.3、注册 :video_register_device        id_table:表

2015-09-24 21:39:07 654

原创 USB鼠标驱动框架结构

usb总线驱动程序的框架:                    usb_bus_type                  |               |   usb_new_device      usb_register           |                           |         usb_interface

2015-09-24 21:29:35 395

原创 jz2440下的input输入子系统

********************************************************************static const struct seq_operations input_devices_seq_ops static const struct file_operations input_devices_fileops static cons

2015-09-24 16:18:22 651

原创 jz2440的中断处理流程

linux下的中断处理,都是在asm_do_IRQ函数中: desc->handle_irq 上面有irq_desc[irq] = desc 在__irq_set_handler中设置了desc->handler_irq  irq_desc[irq] {handle_irq = handle_edge_irq;                     chip = s3

2015-09-24 16:10:40 892

原创 jz2440的字符设备驱动

VFS根据设备类型、设备号来找到fops实现方法:在一个数组里面,以major为索引,找到fops后填充到数组中去。APP:    open("/dev/xxx")     read,write        属性 : c ,111————————————————————————              C 库———————————————————————— 

2015-09-24 16:07:18 612

原创 linux中断原理专题

Linux中断(interrupt)子系统之一:中断系统基本原理http://blog.csdn.net/droidphone/article/details/7445825Linux中断(interrupt)子系统之二:arch相关的硬件封装层

2015-09-23 21:48:45 295

原创 linux-3.4.2内核移植到jz2440

1.内核启动流程,据此配置内核(机器ID)1.1 修改Makefile1.2 选择默认配置1.3 make uImage步骤一:在UBOOT里:set machid 16a //smdk2440   mach-smdk2440.c或者se  machid 7CF //MINI2440   mach-mini2440.c步骤二:arch/arm

2015-09-17 13:46:38 2386

原创 知识精华部分

*************************************************************************************************vivi_dev *dev //这个设备定义了vivi_dev摄像头驱动的结构体程序的思路:(1)最重要的是vivi_dev这个抽象出来的设备,即*dev。它其实定义了一个vivi虚拟摄像头设备,其

2015-09-10 17:07:21 398

原创 (视频)xawtv应用程序启动代码分析-----韦东山笔记

3. make4. sudo modprobe vivi     sudo rmmod vivi   sudo insmod ./vivi.ko5. ls /dev/video*6. xawtv -c /dev/videoX//3. ioctl(4, VIDIOC_G_FMT4. for()        ioctl(4, VIDIOC_ENUM_F

2015-09-10 16:38:48 657

李宏毅ppt.zip

台大老师李宏毅的机器学习上课ppt, 非常好的资料,还有练习

2019-05-23

空空如也

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

TA关注的人

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