本文主要是介绍正点原子阿尔法IMX6ULL开发板移植mjpg_streamer,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
正点原子阿尔法IMX6ULL开发板移植mjpg_streamer
文章目录
- 正点原子阿尔法IMX6ULL开发板移植mjpg_streamer
- 1.nfs共享目录
- 2.移植 MJPG 库
- 3 移植 mjpg-streamer 服务器
1.nfs共享目录
首先已经搭建号nfs环境。在开发板下
先创建目录get
mkdir get
开发板终端执行下列命令
mount -t nfs -o nolock,nfsvers=3 192.168.10.100:/home/alientek/linux/nfs get/
ip地址自行设置,虚拟机的ip
然后查看get目录
如何搭建nfs环境见其他文章
2.移植 MJPG 库
使用 mjpg-streamer 要用到 MJPG 库, 所以我们要先把 MJPG 库移植到开发板上。
MJPG 库下载地址:
http://www.ijg.org/files/
将下载好的 jpegsrc.v8b.tar.gz 压缩包放到ubuntu中 自定义mjpg 文件夹下, 然后解压:
tar -vxf jpegsrc.v8b.tar.gz
然后在目录下创建文件夹用来存放编译生成文件,执行以下命令配置编译选项:
./configure --host=arm-poky-linux-gnueabi --prefix=/home/alientek/tools/mjpg/install/
参数说明:
–prefix=/home/alientek/tools/mjpg/install/: 为上步创建的文件夹路径, 根据实际填写。
–host=arm-linux-gnueabihf: 为交叉编译工具的名字。
执行 make 编译, 完成后如下图:
make
make install
进入install 文件夹查看, 有如图所示文件即为成功:
将install 的/lib/下的库文件拷贝到开发板的/lib/目录下:
3 移植 mjpg-streamer 服务器
mjpg-streamer 是一个命令行应用程序, 可通过网络将 JPEG 文件从网络摄像头流传输到各种类型的查看器, 例如浏览器, mplayer 等其他能够接收 MJPG 流的软件。
下载网站:
MJPG-streamer / Code / [r182] (sourceforge.net)
https://sourceforge.net/p/mjpg-streamer/code/HEAD/tree/
输入
svn checkout https://svn.code.sf.net/p/mjpg-streamer/code/ mjpg-streamer-code
下载, 目录下多出以下文件:
进入 mjpg-streamer/mjpg-streamer-code/mjpg-streamer/文件夹:
执行
source /opt/fsl-imx-x11/4.1.15-2.1.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi
使能交叉编译工具
make clean
输入以下命令修改交叉编译工具:
find -name "Makefile" -exec sed -i "s/CC = gcc/CC = arm-linux-gnueabihf-gcc/g" {} \;
正点原子阿尔法开发板是基于I.MX6UL芯片的ARM Linux开发板,它提供了两种交叉编译工具链:
- 一种是Poky编译器,是Yocto项目编译出的,常用于编译Uboot和Linux出厂源码,以及快速编译Qt应用程序到开发板上运行。
另一种是通用的交叉编译器,用于ARM Linux驱动和应用开发。
这两种交叉编译工具链的名字分别为: - arm-poky-linux-gnueabi-
- arm-linux-gnueabihf-
grep "arm-linux-gnueabihf-gcc" * -nR
继续修改编译选项, 搜索“CFLAGS” :
根据搜索出来的信息, 进入 plugins 文件夹, 修改 plugins/input_uvc/Makefile, 第 15 行添加
CFLAGS += -I /home/alientek/tools/mjpg/install/include/
更据1中安装的MJPG 库目录来,自行修改,下同
第 25 行改为:
LFLAGS += -L /home/alientek/tools/mjpg/install/lib/-ljpeg
回到 mjpg-streamer 目录下, 执行
make
编译, 成功后如下图
在目录下会生成.so 库文件和 mjpg_streamer,
将.so 文件拷贝到开发板的/lib/目录下, mjpg_streamer 文件夹拷贝到开发板的/bin/目录下, www 拷贝
到/opt/目录下:
先将文件拷贝到nfs目录下
cp *.so start.sh mjpg_streamer /home/alientek/linux/nfs/mjpg
cp www /home/alientek/linux/nfs/mjpg -rf
cp mjpg_streamer /home/alientek/linux/nfs/mjpg
让后在板子终端下拷贝到相应位置
cp *.so /lib/
cp www /opt/ -rf
cp mjpg_streamer /bin/
到此移植结束,移植后自行测试
此处我使用正点原子的ov2640测试出了点问题,努力解决中
这篇关于正点原子阿尔法IMX6ULL开发板移植mjpg_streamer的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!