android4.0 camera hal 如何实现调用到底层driver的

顾小林 2012-11-29 09:55:00
如题!!!!!!!!!!!!!!!!!!!!!!!!!!!!!在线等
...全文
677 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
jdflying 2013-09-26
  • 打赏
  • 举报
回复
引用 9 楼 jdflying 的回复:
软件把值传给驱动,驱动把值转化为对应的二进制值(这里的值已经是硬件懂得的二进制)然后传递到硬件(一般是存放到硬件取值的存储区)。硬件根据它内部设定的对这些值相应的响应,做出反应。
补充:建议学习下单片机,你就会懂。以下是一个USB 的IC的开发简介,大概介绍了一下硬件设计,驱动开发。希望对你有参考作用。 FTDI发布用于安卓平台优化的USB主控IC 先进的单片USB主控桥接器并支持各种标准接口,广泛应用于物联网,车载,最新网银U盾,Pos机,医疗保健等连接智能手机或平板USB转串口最佳方案。 英商飞特蒂亚公司(FTDI)继续推进安卓开源配件的创新,推出FT311D。这款新的USB全速(12 Mbit/s)主控IC是专门针对安卓平台, 比如平台电脑或者智能手机,通过使用USB技术提供与终端产品系统的内部连接。 一年多以前谷歌推出安卓开源配件。这一规范采用工业标准USB总线技术加上一个枚举步骤。因此,USB连接使安卓平台的作用成为一个USB从控端/设备。这消除了寻求电源,储存类驱动程序,并支持负责控制USB总线的主机堆栈的需求。最终,USB主机的功能现在被降级到连接到安卓平台的终端产品。 FT311D是标准的3.3伏供电,在48兆赫充分工作时吸收电流仅为25毫安,待机模式下耗电为128µA,能够将USB端口桥接到六个不同的用户可选择的接口类型,即GPIO,UART,I2C,SPI从控端和主控端。它可以用于连接支持安卓开源配件模式的任何平台(通常是3.1版本以上的安卓操作系统,虽然某些平台可能支持2.3.4 版本的安卓开源配件模式)。 当IC的外围接口配置为UART模式,此接口作为具有流控制的基本异步串行UART端口 。FT311D的UART可以支持速率为300比特/秒到6兆比特/秒的数据流,而其I2C主控端借口可以连接到支持125K比特/秒的I2C从控端接口。接口也可以配置为提供4路脉冲宽度调制(PWM)输出信号。这些输出可用于产生用于控制电机, 制动器,传感器,DC/DC转换器或AC/DC电源的PWM信号以及玩具,照明应用,家用电器和工业设备等。 FT311D的开发模块现已上市,电路板尺寸(UMFT311EV) 68.58 mm x 55.38 mm x 14.00 mm,预期用作一个能够简单评估这款芯片的硬件平台,允许工程师广泛开发安卓开源配件兼容应用。通过一系列跳接设定来选择所想要的接口模式。这款模块是66.60 mm x 55.38 mm x 22 mm 的GPIO(UMFT311GP) 板,上面有按钮键盘能够作为用户输入,还有一套8 LED的发射极可用于部署显示有效输出。 “有了这款新的主控IC, 我们增强了安卓相关的产品系列,用于工程师探索开源配件模式所能提供的各种新的可能,”FTDI公司的CEO和创始人Fred Dart说, “通过这款芯片, 加上我们的开发工具, 软件和应用支持,我们的目标是轻松地把USB 主控端集成到 客户的终端产品中, 就如同我们的R系列和X- Chip系列的设备。”FT311D提供32脚QFN和LQFP封装选择。这些芯片的工作温度范围是-40 °C 至+85 °C。
jdflying 2013-09-26
  • 打赏
  • 举报
回复
软件把值传给驱动,驱动把值转化为对应的二进制值(这里的值已经是硬件懂得的二进制)然后传递到硬件(一般是存放到硬件取值的存储区)。硬件根据它内部设定的对这些值相应的响应,做出反应。
King Seal 2013-03-28
  • 打赏
  • 举报
回复
我也在看这一部分,求大神指点啊
恩比德大帝 2013-01-26
  • 打赏
  • 举报
回复
这个要看不同平台,不同平台在HAL层实现是不一样的,比如高通是HAL调用驱动借口camerainterface2.c(记不清了)往下调到驱动了
顾小林 2012-12-03
  • 打赏
  • 举报
回复
还是自己顶!!!!!!!!!!!!!!!!!!
顾小林 2012-11-30
  • 打赏
  • 举报
回复
自己顶!!!!!!!!!!!!!!!!!!!!!!
顾小林 2012-11-29
  • 打赏
  • 举报
回复
引用 1 楼 GuoQun02 的回复:
Camera.java--->Camera.java(framework)--->android_hardware_camera.cpp(jni)---->Camera.cpp--->ICameraService ---(通过binder机制)---->CameraService.cpp-->V4LCameraAdapter.cpp--->Camera驱动 ……
我想知道的是 从CameraService.cpp-->V4LCameraAdapter.cpp--->Camera驱动 很多文章都是分析到CameraHardwareInterface 或者 分析到hw_get_module 就表示获取硬件了 我想知道往下是怎么走的 求指点
顾小林 2012-11-29
  • 打赏
  • 举报
回复
自己顶一个!!!!!!!!!!
GuoQun02 2012-11-29
  • 打赏
  • 举报
回复
Camera.java--->Camera.java(framework)--->android_hardware_camera.cpp(jni)---->Camera.cpp--->ICameraService ---(通过binder机制)---->CameraService.cpp-->V4LCameraAdapter.cpp--->Camera驱动
GuoQun02 2012-11-29
  • 打赏
  • 举报
回复
引用 2 楼 shen332401890 的回复:
引用 1 楼 GuoQun02 的回复:Camera.java--->Camera.java(framework)--->android_hardware_camera.cpp(jni)---->Camera.cpp--->ICameraService ---(通过binder机制)---->CameraService.cpp-->V4LCameraAdapter.cpp……
我也在学习中,还没走到那么底层。。。。

80,354

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧