`
isiqi
  • 浏览: 16489722 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

原创翻译 怎样让WinCE6.0 ARM套件下的USB摄像头工作

阅读更多

本文转载自微软嵌入式中文社区http://www.msembed.com

我看到过一些关于Windows Embedded CE的DirectShow摄像头的支持方面的问题咨询。所以在这篇文章里我将展示如何让ARM平台下的Windows Embedded CE6.0的USB摄像头正常运行。在这个例子中我将使用我们的REGULUS平台。

前期准备:
• CE 6.0的在Visual Studio 2005 上的Platform Builder

• CE 6.0的USB摄像头驱动

• 带有 WinCE 6.0 R3 BSP的REGULUS ARM开发套件. (http://www.e-consystems.com/regulus.asp)
• 3.2 MP USB摄像头(http://www.e-consystems.com/3mp_cameraboard_usb.asp)


安装:
如何安装Visual Studio和Platform Builder for CE6.0超出了本文的范围。在网上可以找到关于如何安装WinCE 6.0 Platform Builder的文章。

安装USB摄像头驱动后,驱动的源代码应该会自动被放在WINCE600\PUBLIC\ThirdParty目录中。

带着USB摄像头驱动编译OS:
新建或打开一个开发套件中已有的OSDesign。在我这里,我已经为我们的REGUPLUS板生成好了一个REGULUS-1_DEMO OSDesign。

由于此驱动基于DirectShow,我们需要将DirectShow过滤器加入到OS的镜像里来让我们的驱动和应用程序正常工作。

下图是DirectShow Sysgen组件:


从catalog对话框中选择如下组件来将已安装好的USB摄像头驱动加入到OS镜像中:




在将所有上述的SYSGEN组件加入完毕后,从VS2005的菜单中选择下面的命令来编译OSDesign:

Build–>Advanced Build Commands–>Clean Sysgen

当编译完成后,在release目录里检查ce.bib和reginit.ini来确认usbcam.dll设置项是否存在。

应用程序的编译:
现在我们已经将USB摄像头的驱动加好了。接下来让我们用应用程序来测试这个驱动。我们可以在WinCE的共享资源(例如PRIVATE目录)中找到一些DirectShow摄像头的示例应用程序。摄像头应用程序的源代码可以在以下目录中找到:

WINCE600\PRIVATE\TEST\MULTIMEDIA\DIRECTX\DSHOW\CAMERA\CAMERAAPP

为编译生成应用程序的可执行文件,进行以下几步工作:
• 从workspace的Build菜单中选择"Open release Directory in Build Window"
• 将路径改变到WINCE600\PRIVATE\TEST\MULTIMEDIA\DIRECTX\DSHOW\COMMON\LIBS
• 输入命令 ‘build -c’.
• 当这些路径中的编译过程结束后,将路径改变至WINCE600\PRIVATE\TEST\MULTIMEDIA\DIRECTX\DSHOW\CAMERA
• 输入命令 ‘build -c’.
• 编译将在这些路径中进行, 不过最后会有"kato.lib"不可用的错误。• 现在转移路径到WINCE600\PRIVATE\TEST\MULTIMEDIA\DIRECTX\DSHOW\CAMERA\CAMERAAPP\
• 输入命令 ‘build -c’
• 应用程序二进制文件"CameraDshowApp.exe"将生成于OSDesign的Release目录下。

下载并执行:
在编译完带有usbcam.dll和CameraDshowApp.exe的OS镜像后我们就可以把此镜像下载到开发板里了。当下载结束并启动之后,将USB摄像头连结到REGULUS开发板的USB Host port上。

当程序连结好设备之后,我们就可以运行我们之前编译好的程序(CameraDshowApp.exe)了。这将会显示可供选择的用于生成过滤图的过滤器列表。如果摄像头驱动被正确地加载,设备名"CAM1:"将会显示在这个组合对话框中。

选择需要的过滤器并点击OK,这将会以摄像头支持的、接近于注册表设置项"PreferredWidth"中数值的尺寸大小来运行摄像头的预览功能。你可以检查$(_WINCEROOT)\PUBLIC\ThirdParty\Catalog\USBCam\Driver\usbcam.reg这个注册表文件来确定"PreferredWidth"注册表项。



同时请根据Webcam支持的输出格式来设置如下的注册表项。我的摄像头支持YUV无压缩输出,所以我的相应的注册表项设置为:

[HKEY_LOCAL_MACHINE\Drivers\USB\ClientDrivers\Video_Class]"UncompressedSupport"=dword:1"MJPEGSupport"=dword:0

分享到:
评论

相关推荐

    2440 wince6.0bsp包

    标题 "2440 wince6.0bsp包" 指的是针对Samsung SMDK2440开发板的Windows Embedded CE 6.0(简称WinCE 6.0)板级支持包(BSP,Board Support Package)。BSP是操作系统与硬件之间的重要桥梁,它包含了驱动程序、配置...

    S3C2416 Wince 6.0 Bsp

    标题 "S3C2416 Wince 6.0 Bsp" 指的是一个专为S3C2416处理器优化的Windows CE 6.0 Board Support Package(BSP)。BSP是嵌入式系统开发中的一个重要组件,它为特定硬件平台提供了操作系统与硬件之间的接口,使得操作...

    SMDK2450.rar_2450_BSP_SMDK2450 bsp_smdk2450_wince6.0 SMDK2450

    标题中的"SMDK2450.rar_2450_BSP_SMDK2450 bsp_smdk2450_wince6.0 SMDK2450"指的是Samsung SMDK2450开发板的Bootable Software Package (BSP) 文件,该BSP是为Windows Embedded CE 6.0 (WinCE6.0) 操作系统设计的。...

    Wince 6.0 S3C2440A

    在本文中,我们将深入探讨与"Wince 6.0 S3C2440A"相关的知识点,这是一款基于Windows Embedded Compact 6.0(以前称为Windows CE 6.0)的操作系统,专为Samsung S3C2440A处理器设计的板级支持包(BSP)。BSP是操作...

    imx27的wince6.0的BSP

    标题中的“imx27的wince6.0的BSP”指的是针对Freescale(现为NXP)i.MX27处理器的Windows CE 6.0 Board Support Package(BSP)。BSP是硬件厂商为了使操作系统能够适应特定硬件平台而提供的软件组件集合,它包括驱动...

    嵌入式系统/ARM技术中的TI发行免费版的Wince 6.0电路板支持套件

    日前,德州仪器 (TI) 宣布推出面向 OMAP-L1x 浮点 DSP+ARM9处理器、Sitara AM1x ARM9 微处理器单元 (MPU) 以及相关评估板 (EVM) 的 Microsoft Windows Embedded CE 6.0 R3 电路板支持套件 (BSP)。...

    TI发行版的Wince 6.0电路板支持套件

    日前,德州仪器 (TI) 宣布推出面向 OMAP-L1x 浮点 DSP+ARM9处理器、Sitara AM1x ARM9 微处理器单元 (MPU) 以及相关评估板 (EVM) 的 Microsoft Windows Embedded CE 6.0 R3 电路板支持套件 (BSP)。...

    TQ2416 BSP包

    总结,TQ2416 BSP包是针对TQ2416开发板在WinCE6.0操作系统下的核心软件支持,它整合了硬件驱动、配置文件和库函数,使得开发者能快速、高效地在TQ2416平台上进行应用程序开发和系统集成。同时,SMDK2416文件可能是与...

    mini2440手册

    在硬件兼容性上,手册提到了USB WiFi Kits,这些套件支持TP-LINK和QCOM品牌的多种USB无线网卡型号,方便用户在Linux系统下使用。同时,手册还指出,升级后的交叉编译器arm-linux-gcc-4.4.1能有效解决编译Qtopia-...

    OMAP3530评估套件DevKit8000

    综上所述,DevKit8000评估套件不仅提供了强大的硬件基础,还配备了全面的软件支持,使得开发人员能够在短时间内完成产品原型的设计和开发工作,从而加快产品推向市场的速度。无论是对于初学者还是经验丰富的工程师来...

    i.MX51_EVK_Windows_Embedded_CE_6.0_User's_Guide

    ### i.MX51 EVK Windows Embedded CE 6.0 用户指南知识点解析 #### 一、概述 **i.MX51 EVK Windows Embedded CE 6.0 用户指南**是针对基于Freescale i.MX51系列处理器的开发板(i.MX51 EVK)上运行Windows ...

    DevKit8000 中文版用户手册

    - DevKit8000评估套件预装了Linux 2.6.28和WinCE 6.0操作系统,以及一系列常用的工具和开发环境。 - 包括但不限于:shell命令、文本编辑器、网络工具等。 **4.2 BSP特性** - 提供了完善的BSP(Board Support ...

    物联网实训室建设推荐方案.doc

    感知RF2-A8物联网综合实训平台是方案中的重要组成部分,它是专为教学设计的嵌入式物联网系统,支持WinCE6.0、LINUX、ANDROID三大平台,能覆盖ARM9、ARM11、TI Cortex-A8等主流处理器架构的教学。该平台配备了多种...

    SMDK2450 FMD Rel 0.04

    【SMDK2450 FMD Rel 0.04】是一款基于Samsung S3C2450处理器的Windows CE 6.0板级支持包(BSP,Board Support Package),专为SMDK2450开发板设计的固件开发套件。这个版本的FMD(Field Monitoring Device,现场监控...

Global site tag (gtag.js) - Google Analytics