关键词不能为空

当前您在: 主页 > 英语 >

Camera在linux2.6.35内核下的移植解读

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-02-17 11:14
tags:

-

2021年2月17日发(作者:chord)


Camera


驱动在


Linux


内核的移植



一、




植环境:



【移植环境】



1




主机:


Ubuntu 10.10


发行版



2




目标机 :


FS_S5PC100


平台



3




交叉编译工具:


arm-none-linux- gnueabi-4.5.1



4




摄像头模块:


OV9650



5



Linux


文件系 统:


rootfs. cramfs.


6

、内核:


linux-2.6.35-farsigt


二、




核配置



1.


修改


vi drivers/i2c/busses/Kconfig


(参考实验二十六



I2C


驱动编写及测试)



修改



config I2C_S3C2410



tristate



depends on ARCH_S3C2410 || ARCH_S3C64XX



help





Say Y here to include support for I2C controller in the





Samsung S3C2410 based System-on-Chip devices.



为:



config I2C_S3C2410



tristate



depends on ARCH_S3C2410 || ARCH_S3C64XX || ARCH_S5PC100



help





Say Y here to include support for I2C controller in the





Samsung S3C2410 based System-on-Chip devices.


2.


内核配置并重新编译内核



$$ make menuconfig


Device Drivers



--->



<*> I2C support



--->




<*>




I2C device interface





I2C Hardware Bus support



--->






<*> S3C2410 I2C Driver


3.


修改


vi arch/arm/mach-s5pc100/mach-smdkc100.c



查看原理图可以知道我们的摄像头是接在


I2C-1

< p>
上所以修改


i2c_devs1


添加


ov9650


的内容,


主要是


ov9650


的地址,这个在芯片手册上可以查到是


0x30


修改:



static struct i2c_board_info i2c_devs1[] __initdata = {


};



为:



static struct i2c_board_info i2c_devs1[] __initdata = {



{




I2C_BOARD_INFO(



},


};



添加


s5pc100


摄像头控制器平 台设备相关内容,这些内容我们可以通过查看


S5PC100


的 芯


片手册查到



static struct resource s3c_camif_resource[] = {



[0] = {




.start = 0xEE200000,




.end




= 0xEE200000 + SZ_1M - 1,




.flags = IORESOURCE_MEM,



},



[1] = {




.start = IRQ_FIMC0,




.end




= IRQ_FIMC0,




.flags = IORESOURCE_IRQ,



}



};



static u64 s3c_device_camif_dmamask = 0xffffffffUL;



struct platform_device s3c_device_camif = {



.name





=



.id





= 0,



.num_resources




= ARRAY_SIZE(s3c_camif_resource),



.resource



= s3c_camif_resource,



.dev















= {




.dma_mask = &s3c_device_camif_dmamask,




.coherent_dma_mask = 0xffffffffUL



}


};



EXPORT_SYMBOL(s3c_device_camif);



注册摄像头控制平台设备:




smdkc100_devices


中添加


s3c_device_camif



static struct platform_device *smdkc100_devices[] __initdata = {



&s3c_device_camif,



//


添加内容



};



4.


添加驱动(


video




Make menuconfig


Device Drivers



--->






<*> Multimedia support



--->





<*>




Video For Linux



[*]






Enable Video For Linux API 1 (DEPRECATED) (NEW)


[*]




Video capture adapters (NEW)



--->


[*]




V4L USB devices (NEW)



--->



<*>




USB Video Class (UVC)



[*]






UVC input events device support (NEW)



<*>




USB ZC0301[P] webcam support (DEPRECA


TED)



三、




动编写




四、




络视频服务器移植



对于内核


linux-2.6.35


,不能再使用


servfox


,如果要使用的需要修改大量的代码,在此选用


新的方法来移植。需要两个文件


jpeg,mjpg- stream.


移植如下:




mkdir



/source/rootfs/mjpg



1.



jpeg


库的移植



mkdir /home/linux/jpeg



jpeg


源码包通过下面这个网址下载



/files/


解压源码包



tar



xvf





配置源码



cd



jpeg-8b


./configure --prefix=/home/linux/jpeg --host=arm-none-linux-gnueabi





(./configure



配置源代码树




安装目录:



--prefix=


PREFIX


< /p>


体系无关文件的顶级安装目录


PREFIX



,也就


Apache


的安装目录。


[/usr/local/apache2]



系统类型:



--host=


HOST



指定


Apache HTTP


服务器将 要运行的目标系统类型


HOST





[


BUILD


]



)


编译



make


安装



make install


拷贝库到文件系统中



cp /home/linux/jpeg/lib/.8



/source/rootfs/lib



2.



mjpg- stream


的移植



mjpg- stream


源码包通过下面这个网址下载



/projects/mjpg-streamer/



解压源码



tar



xvf




修改源码



cd



mjpg-streamer-r63

修改顶层


makefile



pl ugins


目录中的各级


makefile

将所有




注意这里需要修改的内 容




CC=gcc


修改为






修改


plugins/input_uvc/Makfile


修改



CFLAGS += -O2 -DLINUX -D_GNU_SOURCE -Wall -shared -fPIC




CFLAGS


+=


-O2


-DLINUX


-D_GNU_SOURCE


-Wall


-shared



I/homw/l inux/jpeg/include



修改



$$(CC) $$(CFLAGS) -ljpeg



-o $$@ input_uvc.c jpeg_





fPIC

-


-


-


-


-


-


-


-



本文更新与2021-02-17 11:14,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/661736.html

Camera在linux2.6.35内核下的移植解读的相关文章

  • 爱心与尊严的高中作文题库

    1.关于爱心和尊严的作文八百字 我们不必怀疑富翁的捐助,毕竟普施爱心,善莫大焉,它是一 种美;我们也不必指责苛求受捐者的冷漠的拒绝,因为人总是有尊 严的,这也是一种美。

    小学作文
  • 爱心与尊严高中作文题库

    1.关于爱心和尊严的作文八百字 我们不必怀疑富翁的捐助,毕竟普施爱心,善莫大焉,它是一 种美;我们也不必指责苛求受捐者的冷漠的拒绝,因为人总是有尊 严的,这也是一种美。

    小学作文
  • 爱心与尊重的作文题库

    1.作文关爱与尊重议论文 如果说没有爱就没有教育的话,那么离开了尊重同样也谈不上教育。 因为每一位孩子都渴望得到他人的尊重,尤其是教师的尊重。可是在现实生活中,不时会有

    小学作文
  • 爱心责任100字作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文
  • 爱心责任心的作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文
  • 爱心责任作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文