【技术支持】如何添加OV9650 camera驱动到FL2440 wince系统中
http://www.gooogleman.com/forum.php?mod=viewthread&tid=18979&fromuid=3
作者:gooogleman 文章所有权:gooogleman嵌入式联盟www.gooogleman.com 日期:2011-02-21
其实所有2440 都一样,甚至三星的6410 wince6.0 系统也大同小异,下面来写一下过程吧。
准备:gooogleman 提供的wince camera驱动(原创作者:宇帆MM,这个驱动基本满足了开发板爱好者要求,gooogleman曾经对这个OV9650/OV3640/OV2640 等驱动和应用进行大改进,因为这个产权是否属于公司还是个问题,所以暂时不公开。)和对应的OV9650/OV3640 测试程序(带源码)。
以下行为视为你我很简单:
第一步:SMDK2440A\Src\Drivers 下把camera驱动复制到这个路径下,这里假定命名为camera。
第二步:在SMDK2440A\Src\Drivers路径下的dirs 文件加上camera,让camera驱动能够在编译系统的时候自动被编译,camera里面DEF以及sources 文件已经写好,所以不用理会这个,预知原理请跟帖讨论。
打开\SMDK2440A\Src\Drivers dirs文件
可以看见原来有:
DIRS=ceddk \
keybd \
PowerButton \
pccard \
serial \
usb \
nleddrvr \
Battdrvr \
Backlight \
cs8900 \
Display \
IIC \
SDHC \
touch \
wavedev \
AtapiRomi
为了让camera能够编译,
那么在最后加上camera选项——红色部分camera \
DIRS=ceddk \
keybd \
PowerButton \
pccard \
serial \
usb \
nleddrvr \
Battdrvr \
Backlight \
cs8900 \
Display \
IIC \
SDHC \
touch \
wavedev \
AtapiRomi \
camera \
第三步:修改注册表。右键编辑SMDK2440A\Files 下的platform.reg 文件,在文件的适当地方(可以放在最后面)加入如下注册表信息:
;------------- Camera Driver ------------------------------------------------------------------------------------
IF BSP_NOCAMERA !
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\Camera]
"Prefix"="CIS"
"Dll"="camera.dll"
"Index"=dword:1
"Order"=dword:1
"IClass"="{A32942B7-920C-486b-B0E6-92A702A99B35}"
ENDIF BSP_NOCAMERA!
如上注册表的作用是在系统启动的时候去加载camera驱动camera.dll文件,欲知详情请更贴讨论。
第四步:修改打包文件platform.bib:打开SMDK2440A\Files 下的platform.bib 文件,在module 段的最后面,或者中间任意地方加上如下打包描述:
;-------- Camera Driver -----------------------------------------------------------------------
IF BSP_NOCAMERA !
camera.dll $(_FLATRELEASEDIR)\camera.dll NK SH
ENDIF BSP_NOCAMERA !
第五步:如上文件保存好,参考飞凌OK2440/FL2440/TE2440-II wince 开发文档,建立wince 系统工程,选择如上BSP ,然后选择sysgen,完毕后编译出Nk后烧写到2440 开发板,然后用附件里面的OV9650 EVC测试代码的exe文件 查看摄像头效果即可。如果不能运行,请安装飞凌2440 开发板的SDK后 ,用这个SDK重新编译一次OV9650 EVC代码,生成的exe 通过同步软件传递到2440 开发板,双击运行,那么就可以看到图像了。哈哈哈,很简单吧。完工!