1.问题描述

在r16 tina平台,基于ov5640获取摄像头数据时,vfe_v4l2.ko模块挂掉。

2.配置信息

2.1上层应用设置的像素格式为V4L2_PIX_FMT_YUYV,分辨率为480P。

2.2 lichee/linux-3.4/drivers/media/video/sunxi-vfe/platform_cfg.h

2.3 sys_config.fex

[twi2]
twi_used = 1
twi_scl = port:PE12<3><default><default><default>
twi_sda = port:PE13<3><default><default><default>
[csi0]
vip_used = 1
vip_mode = 0
vip_dev_qty = 1
vip_define_sensor_list = 0
vip_csi_pck = port:PE00<2><default><default><default>
vip_csi_mck = port:PE01<2><default><default><default>
vip_csi_hsync = port:PE02<2><default><default><default>
vip_csi_vsync = port:PE03<2><default><default><default>
vip_csi_d0 = port:PE04<2><default><default><default>
vip_csi_d1 = port:PE05<2><default><default><default>
vip_csi_d2 = port:PE06<2><default><default><default>
vip_csi_d3 = port:PE07<2><default><default><default>
vip_csi_d4 = port:PE08<2><default><default><default>
vip_csi_d5 = port:PE09<2><default><default><default>
vip_csi_d6 = port:PE10<2><default><default><default>
vip_csi_d7 = port:PE11<2><default><default><default>
;vip_csi_sck = port:PE12<2><default><default><default>
;vip_csi_sda = port:PE13<2><default><default><default>
vip_dev0_mname = "ov5640"
vip_dev0_pos = "rear"
vip_dev0_lane = 0
vip_dev0_twi_id = 2
vip_dev0_twi_addr = 0x78
vip_dev0_isp_used = 0
vip_dev0_fmt = 0
vip_dev0_stby_mode = 0
vip_dev0_vflip = 0
vip_dev0_hflip = 0
vip_dev0_iovdd = "axp22_dldo3"
vip_dev0_iovdd_vol = 2800000
vip_dev0_avdd = "axp22_dldo2"
vip_dev0_avdd_vol = 2800000
vip_dev0_dvdd = "axp22_eldo2"
vip_dev0_dvdd_vol = 1800000
vip_dev0_afvdd = ""
vip_dev0_afvdd_vol = 2800000
vip_dev0_power_en =
vip_dev0_reset = port:PE14<1><default><default><0>
vip_dev0_pwdn = port:PE15<1><default><default><1>
vip_dev0_flash_en =
vip_dev0_flash_mode =
vip_dev0_af_pwdn =
  1. kernel 堆栈分析

vfe_v4l2.ko模块链接基址为:0xbf018000

根据内核堆栈的PC(0xbf0208a0)地址可以定位到模块内的偏移为:0x88a0

8894:   ebfffffe    bl  0 <printk>
8898: e30b3f9c movw r3, #49052 ; 0xbf9c
889c: e7943003 ldr r3, [r4, r3]
88a0: e59331c4 ldr r3, [r3, #452] ; 0x1c4---这一行
88a4: e5893044 str r3, [r9, #68] ; 0x44
88a8: e5953000 ldr r3, [r5]
88ac: e3530000 cmp r3, #0[ 314.483154]
[   44.243185] [VFE_DEBUG]00000000
[ 44.243193] [VFE_DEBUG]buffer_queue
[ 44.243198] [VFE_DEBUG]buffer_queue
[ 44.243204] [VFE_DEBUG]buffer_queue
[ 44.243210] [VFE_DEBUG]0111111
[ 44.243218] [VFE_DEBUG]buf ptr=cf107680
[ 44.243224] [VFE_DEBUG]frankhhhhhhhhhhhhhh
[ 44.243231] [VFE_DEBUG]frankiiiiiiiiiiiiiiii addr_org=0x60000093
[ 44.243242] [VFE_DEBUG]frankjjjjjjjjjjjjjjjjjj, dev->isp_3a_result_pt=0fd46000
[ 44.243263] Unable to handle kernel NULL pointer dereference at virtual address 000001c4

关键代码如下:

将vfe_v4l2.ko反汇编,主要汇编代码:

ov5640 video capture时,vfe_v4l2.ko模块挂掉问题分析的更多相关文章

  1. Video to SDI Tx Bridge模块video_data(SD-SDI)处理过程

    Video to SDI Tx Bridge模块video_data(SD-SDI)处理过程 1.Top Level Block Diagram of Video to SDI TX Bridge V ...

  2. Ubuntu ko模块的编译

    http://blog.csdn.net/tugouxp/article/details/69053633 Linux .ko模块的生成方式 http://blog.csdn.net/fouweng/ ...

  3. Linux3.5—视屏模块学习与分析

    插入USB摄像头后,我看到了识别出的一些信息,在内核源码中搜到了相关信息: 搜索之后,在uvc_driver.c 帮助文档:linux-3.5/Documentation/video4linux/v4 ...

  4. Zepto事件模块源码分析

    Zepto事件模块源码分析 一.保存事件数据的handlers 我们知道js原生api中要移除事件,需要传入绑定时的回调函数.而Zepto则可以不传入回调函数,直接移除对应类型的所有事件.原因就在于Z ...

  5. nginx健康检查模块源码分析

    nginx健康检查模块 本文所说的nginx健康检查模块是指nginx_upstream_check_module模块.nginx_upstream_check_module模块是Taobao定制的用 ...

  6. Spark Scheduler模块源码分析之TaskScheduler和SchedulerBackend

    本文是Scheduler模块源码分析的第二篇,第一篇Spark Scheduler模块源码分析之DAGScheduler主要分析了DAGScheduler.本文接下来结合Spark-1.6.0的源码继 ...

  7. Spark Scheduler模块源码分析之DAGScheduler

    本文主要结合Spark-1.6.0的源码,对Spark中任务调度模块的执行过程进行分析.Spark Application在遇到Action操作时才会真正的提交任务并进行计算.这时Spark会根据Ac ...

  8. Android Camera开发:周期性循环自动聚焦auto focus挂掉原因分析(preview is not enabled)

    参考:Android Camera开发:扫描二维码,周期性循环自动聚焦auto focus挂掉原因分析(preview is not enabled) 最近做Android人脸识别时,camera在自 ...

  9. ElasticSearch 启动时加载 Analyzer 源码分析

    ElasticSearch 启动时加载 Analyzer 源码分析 本文介绍 ElasticSearch启动时如何创建.加载Analyzer,主要的参考资料是Lucene中关于Analyzer官方文档 ...

随机推荐

  1. EventStore .NET API Client在使用线程池线程同步写入Event导致EventStore连接中断的问题研究

    最近,在使用EventStore的.NET Client API采用大量线程池线程同步写入Event时(用于模拟ASP.NET服务端大并发写入Event的情况),发现EventStore的连接会随机中 ...

  2. jquery省市选择案例

    1.代码实例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UT ...

  3. ssh免密登录方法不生效?Authentication refused: bad ownership or modes for directory

    机器A通过ssh登录机器B,方法有两种: 1.密码方式 2.密钥方式: 两种方式同时开启的时候,优先使用密钥方式. 密钥登录方式的配置方法是,首先在登录机器B上创建文件authorized_keys( ...

  4. Linux环境MySQL集群配置

    一.介绍 ======== 这篇文档旨在介绍如何安装配置基于2台服务器的MySQL集群.并且实现任意一台服务器出现问题或宕机时MySQL依然能够继续运行. 注意! 虽 然这是基于2台服务器的MySQL ...

  5. MapReduce API 基本概念

    在正式分析新旧 API 之前, 先要介绍几个基本概念. 这些概念贯穿于所有 API 之中,因此, 有必要单独讲解. 1.序列化 序列化是指将结构化对象转为字节流以便于通过网络进行传输或写入持久存储的过 ...

  6. [ES6] 03. The let keyword -- 1

    var message = "Hi"; { var message = "Bye"; } console.log(message); //Bye The mes ...

  7. python获取系统时间代码解析

    import time     print time.time()    输出的结果是:    1279578704.6725271 但是这样是一连串的数字不是我们想要的结果,我们可以利用time模块 ...

  8. ASP.NET找不到类型或命名空间名称怎么办

    如图所示,运行之后提示找不到类型或空间名称,右击有波浪线的代码,选择解析,using XXX   随后自动补上了程序集引用

  9. Graph Automata Player

    题目action=problem&type=show&id=12839&courseid=269">here 第一道高速幂.同一时候也是第一道高斯消元. 输入的 ...

  10. gsoap

    C++中如何使用gsoap开发WebService 1. 什么是gSOAPgSOAP是一个夸平台的,用于开发Web Service服务端和客户端的工具,在Windows.Linux.MAC OS和UN ...