说明:这篇文章是本人在做基于web客户端的远程监控系统课题期间,在移植servfox应用服务程序费了很大周折,所以写下的。

只是介绍了基于arm的servfox移植【因为其他部分的移植没有遇到过错误】

前言:

如何移植基于linux的USB摄像头驱动,及搭建web服务器。请参考这篇文章: 点击打开链接

正文:

1.下载servfox软件,在你虚拟机下解压

2.将makefile.arm 文件名改为 makefile

3.修改 spcav4l.c 文件

/* Only jpeg webcam allowed */
(1))

if(vd->cameratype != JPEG) {

exit_fatal ("Not a JPEG webcam sorry Abort !");

2)/* if (vd->formatIn != vd->videopict.palette 
      vd->bppIn != vd->videopict.depth)
    exit_fatal ("could't set video palette Abort !");
if (erreur < 0)
    exit_fatal ("could't set video palette Abort !");*/

这两段注销掉,否则会出现wrong spca5xx device
Not a JPEG webcam sorry Abort !

这样的错误

4.make 然后 将生成的servfox 复制到开发板目录

执行 ./servfox -d  /dev/video0  -g  -s 320*240  -w 7070

【如果复制到了usr/bin目录,则去掉前面servfox的  ./

说明:

此命令如果不加 -g 会出现

wrong spca5xx device
Waiting .... for connection. CTrl_c to stop !!!! 
cvsync err
: Invalid argument
cmcapture: Invalid argument

这样的错误。

-g表示use read method for grab instead mmap

5.本人出现的问题

耗费本人几天的问题并不是此应用程序servfox的问题

当我执行 ./servfox -d  /dev/video0  -g  -s 320*240  -w 7070

移植提示 illegal instruction 的错误,及非法指令。

由于缺乏相关的经验,开始一直以为是此程序的问题,编译时没有加上链接库,尝试过静态编译,然后还是提示此错误。最后在朋友的提醒下,是我的交叉编译器的问题,我之前是在s3c6410的板子上开发的,所以用的交叉编译器是4.3.1for6410的,现在是基于s3c2410的平台开发的,更换了一个4.3.32for 2410的。错误解决了。

总结:其实出现上述错误,还是对交叉编译器的认知不够,当时只知道交叉编译器是用来在一个平台上开发是例外一个平台上运行的程序,如在电脑端开发基于ARM的程序,却没有理解arm的体系结构并不一样,他们的指令集有交叉【我开始有怀疑是交叉编译器的问题,用for6410的交叉编译器编译一个简单的hello程序,是可以再2410板子上正常运行的】,但是还是有很大不同的【具体有什么,暂时还不清楚】

转载于:https://www.cnblogs.com/stoneFang/archive/2013/05/06/6715340.html

基于linux-2.6.32.2的servfox移植相关推荐

  1. 基于Linux的集群系统(一)

    基于Linux的集群系统(一) 集群系统概述 本文是<基于LINUX的集群系统>系列文章的第一篇.作者就集群系统这一概念进行了概述,介绍了集群系统的发展以及国内外主要的集群系统解决方案. ...

  2. 向基于Linux的Oracle RAC 10g集群添加新节点

    在多数业务中,Oracle真正应用集群 (RAC) 配置的主要业务要求是整个系统中数据库层的可伸缩性 - 这样,当用户数增加时,可将额外实例添加到该集群来分发该负载.     在Oracle RAC ...

  3. 基于linux和php的稳定的分布式数据采集架构

    数据采集对于一些网站至关重要,在开发这种采集程序时会遇到如下一些问题: 一.单进程采集慢,采集任务的间隔时间无法控制. 二.数据下载部分和分析部分不分离导致可移植性不强,调试困难. 三.采集程序受机器 ...

  4. linux内核学习之三:linux中的32位与64位

    linux内核学习之三:linux中的"32位"与"64位" 在通用PC领域,不论是windows还是linux界,我们都会经常听到"32位" ...

  5. linux虚拟化毕业设计,毕业设计(论文)-基于Linux的云校园桌面虚拟化系统的设计与实现(68页)-原创力文档...

    毕业设计(论文) 题 目: 基于Linux的云校园桌面 虚拟化系统的设计与实现 学 生: 指导老师: 柯 院 别: 软件学院 专 业: 计算机科学与技术 班 级: 1301 学 号: 2015年5月 ...

  6. 监护仪系统都是Linux吗,基于Linux和MiniGUI的心电监护仪设计

    0 引言 随着人们生活节奏加快,人口逐渐老龄化,心脏疾病成为危害人类健康和生命的主要疾病之一.心电监护系统为心脏病人诊断和治疗提供了一个有效的手段,对心脏疾病的防治和诊断具有重大的意义,本介绍一种基于 ...

  7. 基于Linux的Socket编程之TCP全双工Server-Client聊天程序

    转载:http://blog.csdn.net/apollon_krj/article/details/53437764#0-tsina-1-58570-397232819ff9a47a7b7e80a ...

  8. linux设备资源分配,基于Linux 简化 AMP 配置使其更方便更动态地分配资源

    描述 嵌入式系统一般分为两大类:需要硬实时性能的:和不需要硬实时性能的.过去,我们不得不做出艰难抉择: 选择实时操作系统的性能还是我们钟爱的 Linux 系统的丰富特性,然后努力弥补不足之处? 如今, ...

  9. 在linux下进行嵌入式系统设计,一种应用于测控系统的基于Linux的嵌入式系统的设计...

    描述 1.前言 随着网络控制技术的快速发展,工业以太网得到逐步完善,在工业控制领域获得越来越广泛的应用.工业以太网使用了TCP/IP协议,便于联网,并具有高速控制网络的优点.随着32位嵌入式CPU价格 ...

最新文章

  1. 8.11 更改用户ID和组ID
  2. 命令行刷新Magento索引管理
  3. apache camel_令人印象深刻的第一个Apache Camel版本
  4. Python调用百度接口(情感倾向分析)和讯飞接口(语音识别、关键词提取)处理音频文件...
  5. java事务代码_关于java中实现JDBC事务控制代码示例
  6. 关于NLP相关技术全部在这里:预训练模型、信息抽取、文本生成、知识图谱、对话系统...
  7. c语言中一些公用的方法
  8. stokes方程matlab,Navier-Stokes matlab 238万源代码下载- www.pudn.com
  9. 微信小程序开发之视频video组件报错:渲染层网络层错误
  10. 利用螺纹钢期货对钢材采购成本做对冲_2020_10_24
  11. 关于Java的点点滴滴(1)——Static关键字
  12. VBS word/excel 转 PDF
  13. MSP430F6638单片机复习笔记
  14. Android图片缓存框架 - Fresco的GenericDraweeHierarchy (五)
  15. 获取淘宝商品分类详情API,抓取淘宝全品类目API接口分享(代码展示、参数说明)
  16. 数学建模国赛经验分享
  17. 软件测试工作面试的74个常见问题
  18. android开发支付界面,Android仿微信、支付宝钱包宫格界面Demo
  19. golang 报错is not in GOROOT
  20. 制作音乐相册的软件哪个好?简单易用好上手,动感切换效果超吸睛

热门文章

  1. 星模php格,extend/base/TencentSms.php · 纵之格/ShopXO - Gitee.com
  2. c语言 增删查 案例,C语言实现单链表的增删查改
  3. leetcode209. 长度最小的子数组 借这个题规范一下双指针写法
  4. Lua语言中pairs和ipairs的区别
  5. 安装solc模块4.25版本
  6. 毛概 第二章新民主主义革命理论
  7. 264,avs中Skip宏块与Direct预测模式 ,对称模式的区别
  8. 14种方法助你参与开源项目
  9. AVS解码器在DSP平台上的优化
  10. TS 188字节流结构图