摩托罗拉SE4500 三星 S3C6410 Wince6.0平台软解码调试记录以及驱动相关问题解释

虽然S3C6410出来很多年了,甚至于已经停产了,出货的几乎都有依赖于库存,SE4500也出来很多年了,但是网上依旧不会有调试资料帮助你,一切源于自私。希望本文能帮到你,不必感谢。本文来自C.S.D.N.(转载请注明来源)。


一、SE4500工作在3.3V,刚好三星的S3C6410也工作在3.3V,所以不需要电平转换即可,这一点挺好,只是三星的S3C6410的高电压就决定了不可能休眠功耗做的很低;


二、SE4500不供电时直接把I2C总线电压拉低到1.5V左右,原因是SE4500不上电时,会拉低I2C总线,解决方法有两种:1、要么选择一直给SE4500上电,这样白白浪费掉一部分电力; 2、要么选择使用类似TXB0102电平转换芯片隔离I2C,我们平台选择在驱动中直接给SE4500上电,不断电,系统休眠时依旧让其上电,通过配置GPIO引脚的sleep相关寄存器实现;


三、SE4500的SDL动态链接库无法加载是什么原因,原因是在platform.bib文件中,标记SDL_Drv.dll和SDL_IAL.dll必须为NK SHK,后面必须带有K,否则device.exe无法加载;


四、据说S3C6410官方提供的I2C驱动读写可能会出现问题,这个问题摩托罗拉公司已经帮助解决,请参考摩托罗拉提供的SDL软解库安装目录,针对SAMSUNG平台的I2C部分PDD层的实现代码,修改系统的相关实现;


五、请将CAM_PowerUp和CAM_PowerDown加入到cam_se4500.def文件中,以至此相关的操作;


六、可能会遇到打开一次程序关闭后,再次打开,只能出光不能解码的问题,请检查CAM_Open和CAM_Close的实现,有一个API在CAM_Init时被调用,在CAM_Close里面调用给关闭了,再次打开扫描头时调用CAM_Open的时候没有调用,所以会出现只出光不解码的问题,这是摩托罗拉的实现小bug,请修复该bug。


       后记:调试成功后,我们发现解码速度挺快的,甚至赶上摩托罗拉PL-系列硬解码板的解码速度。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值