zoukankan      html  css  js  c++  java
  • 【原创】高通平台camera调试小技巧

          调试camera的时候,有些时候LCD或许还不能正常工作,或则UI尚未完成,而我们却想看到camera拍摄到的图像,这时就可以借助Trace32的强大功能。当然,前提是你可以启动camera。^_^
          首先,我们要确保sensor已经正常工作了,可以把断点设置在OEMCamera_CameraLayerCB()这个函数,它是一个总体的回调函数,包括收到帧事件,所以如果此函数断点反复的被执行到,那么说明sensor有数据(帧)传上来,如图:

          
          在断点被执行到后,打开"Stack ”,查看函数的调用关系,可以看到camera_process_qdsp_msg()里面的一个参数为buf = 0x108b3af8,这个就是存放预览图片buffer的地址,得到这个buffer以后就可以在TRACE32里输入如下命令: data.image 0x108b3af8 128. 160. /rgb565le,就可以看到buffer中的预览图像:



          在使用这条命令时,有几点需要说明的。1.我们在camera_process_qdsp_msg()里面获得的buffer的地址可能前一次得到的与后一次得到的不同,我们直接用TRACE32查看这2个地址会发现,其中一个的内容是固定的,而另外一个是一直在跳变的,即一个是保存断点瞬间的预览图像,而另外一个是实时变化的图像。所以如果我们在输入命令的参数里面设置为变化的地址,那么我们在PC上就可以看到sensor移动时候的实时效果了。
    2. 还有一点就是输入命令时候指定的image的大小一定要跟我们设置的预览大小一致,也就是跟LCD上显示的大小一致,比如前面调试的项目用的LCD是160*128,因此参数也必须是128. 160. ,否则就看不到完整的图像。
          
  • 相关阅读:
    CentOS7安装Oracle 11gR2 安装
    CentOS7 FTP服务搭建(虚拟用户访问FTP服务)
    .NET中RabbitMQ的使用
    ElasticSearch(站内搜索)
    SignalR 2.1 简单入门项目
    Oracl基础知识(一)
    CentOS6—HAProxy安装与配置
    Redis C#缓存的使用
    CentOS6— Redis安装(转和延续)
    Linux(CentOS)常用操作指令(二)
  • 原文地址:https://www.cnblogs.com/hengfeng/p/1540830.html
Copyright © 2011-2022 走看看