您的位置:首页 > 其它

基于视频采集卡驱动的错误修改CX26828

2013-10-10 11:54 246 查看
基于视频采集卡驱动的错误修改CX26828

1、 设置root密码

command:sudo passwd root

2、查看系统状态

输入命令:lsmod

root@ubuntu:/home/yu# lsmod

iroot@yu-desktop:/home/yu# lsmod

Module Size Used by

cx26828 75734 0

videodev 86588 1 cx26828

videobuf_dma_sg 18786 1 cx26828

videobuf_core 25409 2 cx26828,videobuf_dma_sg

btcx_risc 13400 1 cx26828

nls_iso8859_1 12617 0

3、卸载cx26828

如有上述信息可以看到有cx26828,执行命令 rmmod cx26828

如运行这个命令不能卸载就关闭机器把采集卡拔掉先安装好驱动再插上

4、 安装驱动

进入驱动安装目录运行:make install

成功后运行 make load

注意这儿会出错:

使用make install时会成功:



但执行make load的时候出错误:



然后执行make也出错:



修改方法:

1、由于缺少btcx-risc.h头文件(该头文件为内核里面的找出来)

将下面代码复制到btcx-risc.h文件中

structbtcx_riscmem {

unsignedint size;

__le32 *cpu;

__le32 *jmp;

dma_addr_t dma;

};

structbtcx_skiplist {

int start;

int end;

};

int btcx_riscmem_alloc(struct pci_dev *pci,

struct btcx_riscmem *risc,

unsigned int size);

void btcx_riscmem_free(struct pci_dev *pci, structbtcx_riscmem *risc);

int btcx_screen_clips(int swidth, int sheight, structv4l2_rect *win,struct v4l2_clip *clips, unsigned int n);

int btcx_align(struct v4l2_rect *win, struct v4l2_clip*clips,unsigned int n, int mask);

voidbtcx_sort_clips(struct v4l2_clip *clips, unsigned int nclips);

void btcx_calc_skips(int line, int width, int*maxy,struct btcx_skiplist *skips, unsigned int *nskips,const struct v4l2_clip*clips, unsigned int nclips);



2、再执行make,cx26828-core.c程序出现错误



修改:

<1>去掉程序中711行的 _devinit

<2>驱动程序中793行的 _devinit

<3>注销掉878行 //.remove = __devexit_p(cx26828_finidev)

3、修改完后再make

成功编译出模块cx26828.ko文件

4、执行make install

5、执行make

6、查看是否插入到内核中lsmod



7、使用ls /dev/video+table出现

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: