讲师博文
基于linux3.0.15内核的中星微zc301摄像头驱动及网络视频服务器移 来源 : 未知     2018-08-15

一、 移植环境:

【移植环境】

1、 主机:Ubuntu 10.10发行版

2、 目标机:FS4412平台

3、 交叉编译工具:arm-none-linux-gnueabi-4.5.1

4、 摄像头模块:ZC301

5、Linux文件系统:rootfs. cramfs.

6、内核:linux-3.0.15-fs4412_V3

二、 内核配置

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 (DEPRECATED)

make zImage

三、 网络视频服务器移植

由于项目需要,现在需要移植网络视频服务器,对于内核linux-3.0.15-fs4412_V3,不能再使用servfox,如果要使用的需要修改大量的代码,在此选用新的方法来移植。需要两个文件jpeg,mjpg-stream.移植如下:

mkdir /source/rootfs/mjpg

1. jpeg库的移植

mkdir /home/linux/jpeg

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

http://www.ijg.org/files/jpegsrc.v8b.tar.gz

解压源码包

tar xvf jpegsrc.v8b.tar.gz

配置源码

cd jpeg-8b

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

(./configure 配置源代码树

安装目录:

--prefix=PREFIX体系无关文件的顶级安装目录。

--host=HOST指定交叉工具链

)

编译

make

安装

make install

拷贝库到文件系统中

cp –d /home/linux/jpeg/lib/* /source/rootfs/lib

2. mjpg-stream的移植

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

http://sourceforge.net/projects/mjpg-streamer/

解压源码

tar xvf mjpg-streamer-r63.tar.gz

修改源码

cd mjpg-streamer-r63

修改顶层makefile及plugins目录中的各级makefile将所有 (注意这里需要修改的内容)

CC=gcc

修改为

修改plugins/input_uvc/Makfile

修改

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

CFLAGS += -O2 -DLINUX -D_GNU_SOURCE -Wall -shared –fPIC –I/homw/linux/jpeg/include

修改

$(CC) $(CFLAGS) -ljpeg -o $@ input_uvc.c v4l2uvc.lo jpeg_utils.lo dynctrl.lo

$(CC) $(CFLAGS) –ljpeg -L/home/linux/jpeg/lib -o $@ input_uvc.c v4l2uvc.lo jpeg_utils.lo dynctrl.lo

编译

Make

拷贝文件到目标板:

cp *.so /source/rootfs/mjpg

cp mjpg_streamer /source/rootfs/bin

cp /opt/arm-2009q3/arm-none-linux-gnueabi/libc/lib/* /source/rootfs/lib/

在开发板上执行

mjpg_streamer -i "/mjpg/input_uvc.so -d /dev/video0" -o "/mjpg/output_http.so -w /www"

实验现象:

在浏览器上输入:开发板IP:8080/?action=stream

扫码申领本地嵌入式教学实录全套视频及配套源码

上一篇:带你了解make menuconfig

下一篇:变量的存储类型(storage class)

400-611-6270

Copyright © 2004-2024 华清远见教育科技集团 版权所有
京ICP备16055225号-5京公海网安备11010802025203号