基于视频采集卡驱动的错误修改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出现
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出现
相关文章推荐
- [置顶] 基于视频采集卡驱动的错误修改CX26828
- 基于Linux的v4l2视频架构驱动的应用 对视频采集和工作过程有帮助
- 基于嵌入式Linux的视频采集系统---UVC驱动模型介绍
- 基于TMS320DM642视频采集驱动开发
- 基于Linux视频驱动接口V4L2视频采集编程
- 基于DM642 RAW采集格式的视频驱动开发及应用
- 基于嵌入式Linux的视频采集系统---UVC驱动模型介绍
- 基于Linux视频驱动接口V4L2视频采集编程
- 基于嵌入式Linux的视频采集系统---UVC驱动模型介绍
- 基于Linux视频驱动接口V4L2视频采集编程
- 基于Linux视频驱动接口V4L2视频采集编程
- 基于Linux视频驱动接口V4L2视频采集编程
- 基于Linux视频驱动接口V4L2视频采集编程
- 基于Linux视频驱动接口V4L2视频采集编程
- 基于嵌入式Linux的视频采集系统---UVC驱动模型介绍
- 基于qt的多线程视频采集与传输
- 基于嵌入式Linux的视频采集系统17-----源程序----decoder.h
- 基于mini2440的USB视频采集
- 玩转摄像头之 基于SDRAM缓冲 USB2.0视频采集系统 MT9T001、MT9P031 演示 展示
- 基于嵌入式Linux的视频图像采集与传输