zedboard arm下支持nfs以及webcamera启动缺少jpeg库的问题
来源:互联网 发布:java 接口幂等性设计 编辑:程序博客网 时间:2024/05/16 09:00
调试程序的时候,总是插拔sd卡很不方便,想到用tftp或者nfs,两者相比较而言,nfs比tftp更加有优势,将宿主机的一个目录挂载到板子上,直接在宿主机上修改程序,板子上即可生效。故采用nfs的形式,zedboard加电,启动进入内核,打开串口,这里对于串口怎么配置可以查看前面的博客点击打开链接,输入如下的命令查看zedboard上运行的linux内核是否支持nfs:
cat /proc/filesystems如果里面没有发现nfs支持项,则我们需要对内核重新进行编译。使用下面的命令下载Xlinx维护的基于zedboard的Linux内核:
git clone https://github.com/Digilent/linux-digilent下载完成后,进入Linux源码目录,执行下面的命令:
make ARCH=arm CROSS_COMPILE=arm-xilinx-linux-gnueabi- digilent_zed_defconfig先执行官方的默认配置选项。执行如下的命令:
make ARCH=arm CROSS_COMPILE=arm-xilinx-linux-gnueabi- menuconfig出现配置界面后,按照如下的步骤进行配置,这个地方不可多选,否则内核启动时候,会出现文件系统无法正确挂载等等的问题:
File systems ---> [*] Network File Systems ---> <*> NFS client support <*> NFS client support for NFS version 2 <*> NFS client support for NFS version 3 [*] Root file system on NFS <*> NFS server support [*] NFS server support for NFS version 3选好后,保存退出。然后进行内核的编译工作,执行如下命令:
make ARCH=arm CROSS_COMPILE=arm-xilinx-linux-gnueabi-经过一段时间后,编译完成,拔出sd卡,更新下内核镜像文件,然后再将sd卡插入,启动后可以发现,内核已经支持了nfs。
将mjpeg-streamer移植到zedboard上时候,它依赖一个叫libjpeg的库文件,所以编译mjpg-streamer之前需要对此库文件进行编译。具体操作如下:
1、libtools工具
下载地址:http://mirrors.ustc.edu.cn/gnu/libtool/,下载libtools-2.2.10.tar.gz
解压缩后,执行./configure make make install
2、jpeg库的移植
首先下载jpeg库源代码,下载地址: http://www.ijg.org/files/,下载jpegsrc.v6b.tar.gz。
解压缩文件,将/libtool-2.4.2/libltdl/config目录下的config.guess config.sub这两个文件拷贝到jpeg源代码的解压缩目录下。然后配置
./configure CC=arm-xilinx-linux-gnueabi-gcc --host=arm-unknown-linux –prefix=../mjpg-streamer/jpeg-6b --enable-shared --enable-static然后执行make,编译完成后,在此目录下创建以下几个目录:
mkdir -p bin include lib man然后执行make install,就将编译好的文件安装到这几个目录中。然后在mjpg-streamer的目录下新建jpeg-lib文件夹,将这几个文件夹拷贝到jpeg-lib下。
进入mjpg-streamer目录下,修改几个Makefile文件,这里需要注意的是修改plugins/input_uvc目录下的Makefile文件,需要修改以下几处。
首先在此makefile文件中添加头文件与库文件的定义,在文件开始处,如下所示:
################################################################# Purpose: Makefile for "M-JPEG Streamer"# Author.: Tom Stoeveken (TST)# Version: 0.3# License: GPL################################################################CC = arm-xilinx-linux-gnueabi-gccINCLUDE=../../jpeg-lib/includeLIB=../../jpeg-lib/lib然后需要修改的两处为:
CFLAGS += -O1 -DLINUX -D_GNU_SOURCE -Wall -shared -fPIC -I$(INCLUDE)
nput_uvc.so: $(OTHER_HEADERS) input_uvc.c v4l2uvc.lo jpeg_utils.lo dynctrl.lo $(CC) $(CFLAGS) -o $@ input_uvc.c v4l2uvc.lo jpeg_utils.lo dynctrl.lo $(LFLAGS) -L$(LIB)至此,此目录下的修改完成,然后退到上一级目录,修改各个目录下的Makefile文件,主要是修改编译器,如下所示:
CC = arm-xilinx-linux-gnueabi-gcc所有的修改完成后,回到mjpg-streamer源代码目录下,执行make,就可生成可以在zedboard上运行的程序。
为了避免出现启动摄像头传输数据出现缺少jpeg库的问题,参照前面的博客更新zedboard文件系统,我们拷贝jpeg-lib目录下lib库中所有文件到根文件系统中的lib目录下。然后在板子上测试webcamera即可不会出现错误。
- zedboard arm下支持nfs以及webcamera启动缺少jpeg库的问题
- ZYNQ开发板下使用ARM编译C++程序提示缺少库的问题
- centos下安装arm-linux-gdb缺少termcap库的问题
- ARM的视频采集以及jpeg压缩
- ARM的视频采集以及jpeg压缩
- ARM的视频采集以及jpeg压缩
- ARM的视频采集以及jpeg压缩
- ARM9通过nfs启动遇到的问题以及解决
- ZedBoard Linux开发 --- TFTP&NFS启动
- ZedBoard Linux开发 --- TFTP&NFS启动
- Zedboard的启动流程
- Ubuntu10.04+mini2440下ARM-linux开发环境搭建(2)----NFS服务器的配置及通过NFS启动linux
- 编译时常出现缺少库的问题以及解决方案
- 周报---zedboard的NFS网络文件系统
- centos6.5下 GD库不支持jpeg的问题
- Linux支持的JPEG库的安装
- ARM启动 nfs 过程 杂记
- Linux arm tftp 以及nfs 的调试方法使用
- 新版ADT创建项目或导入项目appcompat_v7问题
- 帮你深入理解OAuth2.0协议
- Win7重装后回收站数据怎么恢复?
- 图像滤镜处理算法:灰度、黑白
- 中国软件业真的到了该反思的时候了
- zedboard arm下支持nfs以及webcamera启动缺少jpeg库的问题
- iOS小效果(1)按钮控制图片的旋转的方向
- 因为今天的人们不会养生所造成的
- mysql 存储过程 和存储函数
- 从CCObject看cocos2d-x的内存管理机制
- REST WebService与SOAP WebService的比较
- 利用Hog特征和SVM分类器进行行人检测
- BubbleSort冒泡排序
- 如何将ASP.NET MVC2项目升级到MVC 3 RC