当前位置:首页 > 单片机 > 单片机
[导读]系统采用的是最普通的USB摄像头,主芯片为中星微ZC0301P。这种摄象头的一个特点是可以实现硬件JPEG编码。其驱动程序的编写重点包括下面的内容:提供基本的I/O 操作接口函数open、read、write、close的实现、对中断的

系统采用的是最普通的USB摄像头,主芯片为中星微ZC0301P。这种摄象头的一个特点是可以实现硬件JPEG编码。其驱动程序的编写重点包括下面的内容:提供基本的I/O 操作接口函数open、read、write、close的实现、对中断的处理实现、内存映射功能以及对I/O 通道的控制接口函数ioctl的实现等,并把它们定义在struct file_operations中。这样当应用程序对设备文件进行诸如open、close、read、write等系统调用操作时,Linux内核将通过file_operations结构访问驱动程序提供的函数。

  当然,现在网上已经有了这种摄象头的通用驱动,可以从相关网站下载usb-2.4.31.patch.gz,然后将这个补丁打到内核对应的位置即可。但是对有些内核版本的linux系统,在打补丁时,会产生 Config.in.rej和Makefile.rej。这时只需要将这两个文件中修改失败的部分手动添加到对应的Config.in和Makefile 中去就可以了。

 对于已经做过基本移植的linux在配置内核的时有以下几个方面是值得注意的:

  1) 因为要用到内核中的Video4Linux编程接口函数,所以在配置内核时首先必须选中Video for Linux并且最好是直接编译进内核而不用编译成模块的形式再加载;

2) 要选中USB Support、OHCI、UHCI。并在USB Support下的USB Multimedia devices 中选中对应的摄象头,对本系统来说,选择USB SPCA5XX Sunplus Vimicro Sonix Cameras,并把它配置成Module。

  3) 配置完内核后做make dep, make zImage, make module。则在对应的spca5xx目录下会生成spc5xx..o,可以把spc5xx..o通过NFS mount到目标板上或者加到主文件系统ramdisk中的某个目录下。然后在目标板上做 insmod spca5xx.o就会找到摄象头。

BusyBox v1.00 (2004.10.18-05:07+0000) multi-call binary

Usage: insmod [OPTION]... MODULE [symbol=value]...

Loads the specified kernel modules into the kernel.

Options:
-f Force module to load into the wrong kernel version.
-k Make module autoclean-able.
-v verbose output
-q quiet output
-L Lock to prevent simultaneous loads of a module
-m Output load map to stdout
-o NAME Set internal module name to NAME
-x do not export externs

[root@(none) usr]# insmod spca5xx.o

Using spca5xx.o
insmod: cannot insert `spca5xx.o': Invalid module format (-1): Exec format error

原因:在烧写之前spca5xx中的Makefile文件中的 “CC=gcc”没有改成“CC=arm-linux-gcc”,故在目标板上不能运行,应该先改后再make,生成spca5xx.o文件才能烧进板子中。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

  引言   汽车的普及为人们的生活带来了方便,同时也给人们提出了一大难题——汽车防盗。本设计是为了解决以往汽车防盗产品的缺点和不足而开发的集成传感、报警和远程图

关键字: 数据采集 操作系统 s3c2410 汽车防盗系统

  引言   巡航控制系统(CCS)是20世纪60年代发展起来的,又称为恒速行驶系统。巡航控制系统工作时,ECU根据各种传感器输送来的信号判断汽车的运行状况,通过执行元件自动调节节气门的

关键字: ARM 三星 Linux ecu s3c2410 电子控制系统

  在过去一百年里(l906-2005),全球地表平均温度升高了0.74摄氏度,未来20年,每十年全球温度将会升高0.2摄氏度。气候变暖已成为不容忽视的、直接影响全球生产和生活问题。  

关键字: can总线 s3c2410

  在此设计的基于 GPRS 的远程安防监控系统,是采用的是摄像机传送视频信号经压缩编码后,通过内部总线传送到内置的 Web 服务器。用户在监控端可以直接通过浏览器观看 Web服务器上的摄像机视

关键字: GPRS s3c2410 安防监控

网上介绍LINUX下的一般驱动程序开发示例浩如烟海,或是因为简单,关于DMA驱动的介绍却寥寥无几;近期zhaoyang因工作需要,花了几日时间开发了某设备在S3C2410处理器Linux下DMA通信的驱动程序,有感于刚接...

关键字: Linux s3c2410 dma驱动

1引言目前 , 在嵌入式系统里基于ARM核的嵌入式处理器已经成为市场主流。随着ARM技术的广泛应用 , 建立面向ARM构架的嵌入式操作系统也就成为当前研究的热点。S3C2410是SAMSUNG公司基于ARM920T处理器...

关键字: s3c2410 移植 标准linux

一、S3C2410支持4种供电模式(1)NORMAL MODE耗电最大、可以通过关闭具体控制器的时钟来节电(2)SLOW MODE在此模式下可以没有内部PLL,耗电情况依赖于外部时钟的频率(3)IDLE MODEFCLK...

关键字: s3c2410 电源管理

snailszzy的s3c2410_gpio_setpin()与s3c2410_gpio_cfgpin()函数定义s3c2410_gpio_setpin()在gpio.c中作用:设置相应GPIO口的值,如pin=S3C2...

关键字: s3c2410 函数定义

通过数据手册的INTERRUPT SOURCES即可看出所有中断源,其中Descriptions列有讲述,带多个中断源的用括弧表述出来了。以下中断源寄存器通过各自MAST连接到INTPND(只能一个位置一)SRCPND(...

关键字: s3c2410 中断源数量

反反复复弄了一个多星期,参考了不少资料,终于让UCOS在自己的板子上跑起来了。期间遇到了不少问题,还好坚持下来,挺 了过去.....复习一下,记录下来,以当后用: 1.在ADS中建产工程,进入工程界面后,先建立两个组,一...

关键字: s3c2410 ucos 移植
关闭