TL2640-COMS摄像头测试 问题 - OMAP-L138 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 12110|回复: 11
打印 上一主题 下一主题

TL2640-COMS摄像头测试 问题

[复制链接]

2

主题

10

帖子

109

积分

注册会员

Rank: 2

积分
109
跳转到指定楼层
楼主
发表于 2016-1-26 14:44:43 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
各位工程师,
( R$ o! g, M0 y' f) V    我在用TL138-EVM-A3开发板,摄像头为TL2640,在开发板快速体验中的 TL2640-COMS摄像头测试,不能实现,我用的Linux3.3内核,U-BOOT 环境变量也已经设置好了,在输入' F* r; b. A: }. P, o
"vpif_mmap_loopback_sd -c 2 -d 0 -w 1 -m 2" 命令后,出现如下错误提示:/ r& q- s& E8 H  O! ?! I
root@tl:/home/ip_camera# ./vpif_mmap_loopback_sd -c 2 -d 0 -w 1 -m 23 r7 E9 X5 s8 X) N- I) z
CAMERA capture7 B8 V: Y* j, J5 n% V2 f
input_device /dev/video0
3 x- m1 c3 F0 b& y7 `* _Camera-Camera
7 \6 F4 n+ }  ~: Xfmt->fmt.pix.bytesperline(1600),fmt->fmt.pix.sizeimage(960000)+ i9 }, I- `0 `( o; }0 U6 A
fmt->fmt.pix.pixelformat(50424752),V4L2_PIX_FMT_YUV422P(50323234),V4L2_PIX_FMT_RGB565(50424752)
* P+ l. w& ]2 U- f/ Jfmt->fmt.pix.bytesperline(1600),fmt->fmt.pix.sizeimage(960000)
# e9 S& \% G4 O5 Ccapture_buff_info[0].length = 41472005 j  R2 o2 Q8 s! E
capture_buff_info[0].index = 0
: n4 ~+ T1 B3 o% i% y1 Q8 ^capture_buff_info[0].start = 0xb6bec000; `7 D% W7 Y. U) h! Z
capture_buff_info[1].length = 4147200
% V9 N( Q3 l; ^: Gcapture_buff_info[1].index = 1
% b, S5 [4 R$ o  k0 o( Ecapture_buff_info[1].start = 0xb67f7000
; a! M  U* v% a8 s9 u7 @[   19.078114] vpif_capture vpif_capture: dma_alloc_coherent size 4149248 failed
. ]/ f" m) {& g- T% c2 C8 c  w1 y) iCannot mmap = 2 buffer8 x& X% D4 y. o; X9 q+ D
Error in opening capture device for channel 0
2 y3 |, O( x: D1 e8 Q1 b7 e

4 ?+ U' i+ x  \! z# J/ Q! ?我是按照开发板快速体验手册操作的,请帮我看看是哪里出了问题,谢谢!# w. ^- ]! f# D
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

161

帖子

1093

积分

创龙

Rank: 8Rank: 8

积分
1093
12#
发表于 2016-2-16 09:03:56 | 只看该作者
新年快乐!
) k+ R2 i: h5 f+ q+ O9 U在内核include/linux/videodev2.h这个文件里面有定义,可以include这个文件,或者将这几个宏定义负责到你的代码里。
回复 支持 反对

使用道具 举报

2

主题

10

帖子

109

积分

注册会员

Rank: 2

积分
109
11#
 楼主| 发表于 2016-2-15 10:43:58 | 只看该作者
teddy 发表于 2016-2-14 17:02
6 |8 i- K5 N) x9 h3 _" c3 |U-Boot 2012.04.01-00059-g7363edf对应的版本是: v1.6,可以查看创龙提供的uboot-feture-support.xls;" J. }6 O* X7 V+ ]) a) A, p

3 O/ A5 `, _0 M. R可 ...
. u0 r  A- K$ j, i
teddy,
) z% q4 _! Z% ?! E  E3 {% t) T4 Z新年快乐!
0 K; f, ~( g* E我按照您提供的方法已经将摄像头调试清晰了。谢谢您。% i/ d4 I3 O! Q: s" W7 ~: F0 w+ _
" L5 M: ^, b; ^  W" G: Y
现在我用gcc -o vpif_mmap_loopback_sd vpif_mmap_loopback_sd.c 编译,出现了以下错误:: D$ j  q' U9 d" `5 r/ Q" k! n
3 v0 u1 `  k: ~
vpif_mmap_loopback_sd.c: In function ‘initCapture’:
3 A' @6 p' a6 }1 I( J' o4 N( ?vpif_mmap_loopback_sd.c:247:36: error: ‘V4L2_STD_BAYER_320’ undeclared (first use in this function)
5 i! O- s* n# t9 G, o2 Tvpif_mmap_loopback_sd.c:247:36: note: each undeclared identifier is reported only once for each function it appears in
- L7 R- t' M6 mvpif_mmap_loopback_sd.c:252:36: error: ‘V4L2_STD_BAYER_640’ undeclared (first use in this function)7 |0 G& y( G* n. f, _3 E7 P
vpif_mmap_loopback_sd.c:257:36: error: ‘V4L2_STD_BAYER_800’ undeclared (first use in this function)
/ G3 z' f* {4 [1 [+ D- nvpif_mmap_loopback_sd.c:262:36: error: ‘V4L2_STD_BAYER_1024’ undeclared (first use in this function)8 D) ]0 P) Q4 S5 z9 Z- g
vpif_mmap_loopback_sd.c:267:36: error: ‘V4L2_STD_BAYER_1280’ undeclared (first use in this function)* }$ g0 y- e7 Y+ P$ X" y
vpif_mmap_loopback_sd.c:272:36: error: ‘V4L2_STD_BAYER_1600’ undeclared (first use in this function)  {. Y1 e% h! v$ u* V5 F( B! Q& J7 [: B
vpif_mmap_loopback_sd.c: In function ‘initDisplay’:" N% T- T5 T3 F- r' C+ [+ A
vpif_mmap_loopback_sd.c:702:48: warning: comparison between pointer and integer
# T! N" @* S& U+ w  y2 W7 r5 b8 D; P$ A/ x; b' W
红色字体的变量,我在vpif_mmap_loopback_sd.c中未找到相关定义,在网上也找了一下,也没有找到,请问我在编译的时候是不是要包含一些头文件,如果需要的话,我在哪可以找到这些头文件呢?
* V9 y. s& ]. C; C' M请您再帮我看一看,谢谢。7 e& i4 \' ^: y$ z( A7 n& q
回复 支持 反对

使用道具 举报

0

主题

161

帖子

1093

积分

创龙

Rank: 8Rank: 8

积分
1093
10#
发表于 2016-2-14 17:02:25 | 只看该作者
U-Boot 2012.04.01-00059-g7363edf对应的版本是: v1.6,可以查看创龙提供的uboot-feture-support.xls;
; M" V( w5 g7 K! w- }, l( d" o- p
! |# r# p6 G' `: o8 O5 ?可以根据环境的光线强度,修改摄像头的亮度参数: * `" Z) Q2 g/ z( I
root@am180x-evm:~# echo "Cloudy" > /sys/module/ov2640/parameters/lightmode
4 f* r, C3 s! o" Y  k  k2 J, @  M" `root@am180x-evm:~# cat /sys/module/ov2640/parameters/lightmode
4 O) U* y1 `3 X; p  m. ACloudy
# a( ^2 \$ \& n; Y
; q* f! f6 R2 K" A/ m' r3 q( z7 |参数说明:
: q1 F( F. y% J7 J( \, hlight mode (default:Cloudy): Auto,Sunny,Cloudy,Office,Home
2 ~6 g/ S  ~4 w. E( q0 `' i. f# Z) ^; I! e, h. P' w
如果要自己优化参数,需要修改ov2640的驱动程序:drivers/media/video/ov2640.c
5 e2 S' p" n, V
# s7 `8 R  l$ u# V" wvpif_mmap_loopback_sd.c可以像你那样编译,如果出错,可以通过错误提示判断具体是什么问题。
回复 支持 反对

使用道具 举报

2

主题

10

帖子

109

积分

注册会员

Rank: 2

积分
109
9#
 楼主| 发表于 2016-2-1 10:53:30 | 只看该作者
teddy 发表于 2016-2-1 10:12! G1 G; }: b7 `: o
第一步,确认你的u-boot版本是不是v1.5或以上版本;0 B. o8 q) \* R  Z
第二步,可以在u-boot里面执行:nand erase 0 20000; ...

0 p' n+ X! R3 p: @7 Z" ?3 j3 f) t- Q5 [您好,
1 f4 L" a& d2 I: t9 V8 E我不知道怎么查看uboot版本号,百度了一下也没找到方法,这下面是uboot 启动后打印了参数:U-Boot 2012.04.01-00059-g7363edf
; \( n. J9 C2 h7 B1 a6 A  M请问这个是什么版本的?9 I3 L! n& O- w4 n8 s
3 G1 \8 Y2 A1 l, d, g3 m9 N
另外,为按照您说的把环境全部擦了,然后从新写了一下,现在已经有图像了,但是非常的模糊,我这里也有C6748的核心板,我之前用C6748的调过(修改了ov2640的配置寄存器),很清晰,那我现在想把TL138上面的画面也调清晰一点,请问怎么弄呢?
- q4 C$ n% p6 d/ W我看了vpif_mmap_loopback_sd.c的源码,感觉里面是按v4l2的框架写的,没有找到调节摄像头参数的函数,请问为怎么才可以自己去配置TL2640的参数呢?
# i  J) h/ \+ U1 @ ( j  m) Z& X0 X5 s
还有就是想问一下这个vpif_mmap_loopback_sd是用什么编译的? 之前摄像头不通的时候,我改过vpif_mmap_loopback_sd.c,想用 ioctl(fd,VIDIOC_ENUM_FMT,&fmttest) 打印一下摄像头支持的视频格式,但是我用gcc -o vpif_mmap_loopback_sd vpif_mmap_loopback_sd.c(我现在只会这一个编译方法),编译一直出错,能不能写一个编译的指令给我,让我学习一下怎么编译这个vpif_mmap_loopback_sd 的?
, V9 N. }/ W( G: A2 ]) d
' l) t0 q5 j; ^9 M8 G( N8 `$ f问题有点多,希望大神好人做到底,多教教我,谢谢您!9 [' `4 b2 n* P9 {, Y$ y
& `1 g0 v% @" c$ J- b6 |
回复 支持 反对

使用道具 举报

0

主题

161

帖子

1093

积分

创龙

Rank: 8Rank: 8

积分
1093
8#
发表于 2016-2-1 10:12:10 | 只看该作者
第一步,确认你的u-boot版本是不是v1.5或以上版本;
: [& l0 H" |  ~  N第二步,可以在u-boot里面执行:nand erase 0 20000;擦除之前的环境变量;
5 X3 ?( ]: K$ }" m第三步,重启板子,然后再setenv optargs ${optargs} 'vpif_capture_format=RAW vpif_capture.ch0_bufsize=960000' 保存:saveenv。
回复 支持 反对

使用道具 举报

2

主题

10

帖子

109

积分

注册会员

Rank: 2

积分
109
7#
 楼主| 发表于 2016-2-1 08:46:36 | 只看该作者
teddy 发表于 2016-1-31 22:16
$ a$ w  N/ N& R在内核里面可以查看u-boot真正传递到内核的参数:使用cat /proc/cmdline,看看设置的参数是否有正常传递给 ...
! Z% d+ ?, z. @9 N% K
谢谢您的回复,我查看了,确实没有把vpif_capture的参数传递进去,以下是cmdline里的参数:
* }! n, S* ]( K$ m" Z. c3 X5 jroot@tl:~# cat /proc/cmdline
" z$ r' M- s# I( E( Tmem=32M@0xc0000000 mem=64M@0xc4000000 mem=32M@0xc0000000 mem=64M@0xc4000000 console=ttyS2,115200n8 root=/dev/mmcblk0p2 rw ip=off eth=06:02:40:16:fa:b0 rootwait root=/dev/mmcblk0p2 rw rootwait

1 b7 H3 a8 u) r: `: q0 Y2 @
, h4 C5 U# |' h- W- i  o4 F* j- u* K我是按照手册上设置的环境变量,为什么没有成功传递进去呢?
, F* Y3 I/ W2 @3 }8 z7 j6 K8 {那我现在怎么才能把这个环境变量参数传递进去呢?望大神多指教!- M. Y% ~" R  d4 j3 Z& a( `; \

$ ?" p- {: I# N# g$ h以下是我内核的参数,是按照手册里制作的SD卡系统,希望对解决这个问题有所帮助
$ D. ?6 W( G0 Kroot@tl:~# uname -a1 N) X" p' T& M5 H
Linux tl 3.3.0+ #1 g74e120f PREEMPT Fri Mar 13 00:15:15 HKT 2015 armv5tejl GNU/Linux
$ V) L2 a+ ]% [1 I

* ^1 {$ w) Z; {
) t% Q3 f1 M* `; f+ ?+ \2 G" F( H/ M ! t; Z" n& f3 @
回复 支持 反对

使用道具 举报

0

主题

161

帖子

1093

积分

创龙

Rank: 8Rank: 8

积分
1093
6#
发表于 2016-1-31 22:16:32 | 只看该作者
在内核里面可以查看u-boot真正传递到内核的参数:使用cat /proc/cmdline,看看设置的参数是否有正常传递给内核。
回复 支持 反对

使用道具 举报

2

主题

10

帖子

109

积分

注册会员

Rank: 2

积分
109
5#
 楼主| 发表于 2016-1-30 11:40:19 | 只看该作者
human 发表于 2016-1-30 11:32* K- Y" u& Q1 }  y
还是没对的,直接按手册的步骤仔细对一下吧,改后应该是960000,您的还是4147200的 ...

; O. M' ?1 h; m/ q! o% u; t5 ^我改了的,你看我的printenv 里面,那里设置就是960000,我是按照手册的步骤做的。第一步,先修改U-BOOT里的环境变量,setenv optargs ${optargs} 'vpif_capture_format=RAW vpif_capture.ch0_bufsize=960000' 保存:saveenv。* u% H9 F" x( I1 J4 s* G
第二步,执行vpif_mmap_loopback_sd -c 2 -d 0 -w 1 -m 2; ?4 L$ a4 x0 F2 q% Q- S
( F8 \& c: x5 y, v
我这应该没错吧,或者你给我说下正确的步骤,最好把所有要执行的命令也给我发一份过来,谢谢。
回复 支持 反对

使用道具 举报

3

主题

852

帖子

3538

积分

创龙

Rank: 8Rank: 8

积分
3538
地板
发表于 2016-1-30 11:32:03 | 只看该作者
还是没对的,直接按手册的步骤仔细对一下吧,改后应该是960000,您的还是4147200的
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|嵌入式开发者社区 ( 粤ICP备15055271号

GMT+8, 2025-12-13 16:37 , Processed in 0.045619 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

快速回复 返回顶部 返回列表