TL2640-COMS摄像头测试 问题 - OMAP-L138 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站
点击跳转“创龙科技服务通”

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

TL2640-COMS摄像头测试 问题

[复制链接]

2

主题

10

帖子

109

积分

注册会员

Rank: 2

积分
109
跳转到指定楼层
楼主
发表于 2016-1-26 14:44:43 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
各位工程师,
5 P+ ~. ]/ |$ y) {# e    我在用TL138-EVM-A3开发板,摄像头为TL2640,在开发板快速体验中的 TL2640-COMS摄像头测试,不能实现,我用的Linux3.3内核,U-BOOT 环境变量也已经设置好了,在输入' Q4 ?0 r; L2 q& M, r4 e$ O
"vpif_mmap_loopback_sd -c 2 -d 0 -w 1 -m 2" 命令后,出现如下错误提示:# a; H; C5 k$ |' m
root@tl:/home/ip_camera# ./vpif_mmap_loopback_sd -c 2 -d 0 -w 1 -m 2" z4 n+ u3 d8 \+ u
CAMERA capture9 Q* r; v  M' K' \$ z
input_device /dev/video0
" }5 t7 R1 Y: t( ^6 x. cCamera-Camera! W( y/ C. L! P: \& h+ s
fmt->fmt.pix.bytesperline(1600),fmt->fmt.pix.sizeimage(960000)6 W  N" `. a. Y/ G$ ?# F* Z
fmt->fmt.pix.pixelformat(50424752),V4L2_PIX_FMT_YUV422P(50323234),V4L2_PIX_FMT_RGB565(50424752)& i5 ]# D/ m& n$ j4 @& n
fmt->fmt.pix.bytesperline(1600),fmt->fmt.pix.sizeimage(960000)2 t- d( T' \' A# U6 \! z
capture_buff_info[0].length = 4147200
; N" u8 M6 c; @' j/ Y- wcapture_buff_info[0].index = 0
1 K" l- i( K5 y, E4 f3 ycapture_buff_info[0].start = 0xb6bec000
/ E7 b) K) j- i- @: y7 }& k0 ccapture_buff_info[1].length = 4147200
5 N# [& B8 n4 k# R: }* Mcapture_buff_info[1].index = 1
! m3 \! B: R/ t- c/ H) ]" Ncapture_buff_info[1].start = 0xb67f7000
5 @3 g# `; }9 Z8 P) s[   19.078114] vpif_capture vpif_capture: dma_alloc_coherent size 4149248 failed4 Z6 _4 q9 \; K+ n7 ]
Cannot mmap = 2 buffer4 ^& B9 L) _9 G
Error in opening capture device for channel 0

: z, T1 F) ?3 x5 q& _' } # k$ g$ D/ o2 Y, b  Z
我是按照开发板快速体验手册操作的,请帮我看看是哪里出了问题,谢谢!8 k8 v) O: M2 V& i
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

161

帖子

1093

积分

创龙

Rank: 8Rank: 8

积分
1093
12#
发表于 2016-2-16 09:03:56 | 只看该作者
新年快乐!
- A5 H" s, w; j在内核include/linux/videodev2.h这个文件里面有定义,可以include这个文件,或者将这几个宏定义负责到你的代码里。
回复 支持 反对

使用道具 举报

2

主题

10

帖子

109

积分

注册会员

Rank: 2

积分
109
11#
 楼主| 发表于 2016-2-15 10:43:58 | 只看该作者
teddy 发表于 2016-2-14 17:02
' ^1 r0 C7 e0 A1 J: _U-Boot 2012.04.01-00059-g7363edf对应的版本是: v1.6,可以查看创龙提供的uboot-feture-support.xls;  ]2 n+ h1 ~* b6 k0 T% T7 N) o; C2 K
* i8 y9 e+ m" p1 C  V0 |6 J- x: E
可 ...
# M1 \9 K9 \* r0 R
teddy,
* i6 g2 a" N2 x8 W新年快乐!
! m: Z" E$ ^  E/ [4 W0 Z我按照您提供的方法已经将摄像头调试清晰了。谢谢您。
0 `7 V% J7 L: l0 E' C: y
# @6 G, x2 v7 i) V# y现在我用gcc -o vpif_mmap_loopback_sd vpif_mmap_loopback_sd.c 编译,出现了以下错误:9 y& `, d" i  s/ B* x$ `

0 T* y/ k& r: [: x- F4 s6 o7 Y4 [vpif_mmap_loopback_sd.c: In function ‘initCapture’:  E$ y( \$ x* ?" _% w/ |- {  I
vpif_mmap_loopback_sd.c:247:36: error: ‘V4L2_STD_BAYER_320’ undeclared (first use in this function)
# g0 M  g( z7 C( Ivpif_mmap_loopback_sd.c:247:36: note: each undeclared identifier is reported only once for each function it appears in
# e. x( x$ K, O0 T( F9 v6 nvpif_mmap_loopback_sd.c:252:36: error: ‘V4L2_STD_BAYER_640’ undeclared (first use in this function)7 }3 E1 |- q. k; W, d
vpif_mmap_loopback_sd.c:257:36: error: ‘V4L2_STD_BAYER_800’ undeclared (first use in this function)
2 W7 a7 U7 G9 S4 pvpif_mmap_loopback_sd.c:262:36: error: ‘V4L2_STD_BAYER_1024’ undeclared (first use in this function)* e7 F( _) o" B8 I$ A! ^
vpif_mmap_loopback_sd.c:267:36: error: ‘V4L2_STD_BAYER_1280’ undeclared (first use in this function)6 }3 ?5 y' G5 s5 C# S" Z% W
vpif_mmap_loopback_sd.c:272:36: error: ‘V4L2_STD_BAYER_1600’ undeclared (first use in this function)
7 V  w: U- [5 X! svpif_mmap_loopback_sd.c: In function ‘initDisplay’:
0 W. s+ G) A* C9 O! rvpif_mmap_loopback_sd.c:702:48: warning: comparison between pointer and integer + A( n: C3 ?1 e2 ]1 `8 C$ P
. L  ]9 Z: g* d9 F; }
红色字体的变量,我在vpif_mmap_loopback_sd.c中未找到相关定义,在网上也找了一下,也没有找到,请问我在编译的时候是不是要包含一些头文件,如果需要的话,我在哪可以找到这些头文件呢?
. k$ z$ {1 d, I  N6 H请您再帮我看一看,谢谢。; w+ B, n5 |' s: E; l) x3 Z
回复 支持 反对

使用道具 举报

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;
5 K/ G9 n+ k# ]5 o; H  B' x) T- V- y+ E5 v0 s
可以根据环境的光线强度,修改摄像头的亮度参数: . L+ d3 G8 R4 L- ]2 E; t
root@am180x-evm:~# echo "Cloudy" > /sys/module/ov2640/parameters/lightmode
7 d' R- h$ R  B1 Y" T% ?4 Z) iroot@am180x-evm:~# cat /sys/module/ov2640/parameters/lightmode 4 w7 ~. k) Z: f! M
Cloudy 9 z7 ~' T, `& ^; r" }

5 p  ~, ^" V/ p0 _参数说明: ! P! q7 n; j* M- D( M% ^4 S4 `; f
light mode (default:Cloudy): Auto,Sunny,Cloudy,Office,Home
1 u: P- u; O+ ?7 C" g
# F* M5 K0 b/ \/ d如果要自己优化参数,需要修改ov2640的驱动程序:drivers/media/video/ov2640.c
: j. i. C" g5 q- w% b0 x' i# b$ O0 a) v9 T7 q+ c
vpif_mmap_loopback_sd.c可以像你那样编译,如果出错,可以通过错误提示判断具体是什么问题。
回复 支持 反对

使用道具 举报

2

主题

10

帖子

109

积分

注册会员

Rank: 2

积分
109
9#
 楼主| 发表于 2016-2-1 10:53:30 | 只看该作者
teddy 发表于 2016-2-1 10:12# c: e" J9 E/ ^( t9 P) j* ~
第一步,确认你的u-boot版本是不是v1.5或以上版本;
( @* f2 O* J& x8 l: S$ F第二步,可以在u-boot里面执行:nand erase 0 20000; ...
4 y5 W# W: K  f. x- I5 v
您好,3 A, z' V$ y- B+ S1 f" d
我不知道怎么查看uboot版本号,百度了一下也没找到方法,这下面是uboot 启动后打印了参数:U-Boot 2012.04.01-00059-g7363edf! P+ l1 n6 o" K  Y. ~, {" d
请问这个是什么版本的?2 l8 v/ X/ X0 m! u6 R* n. C  S

' W. v* }5 y7 }* m6 G5 N; y另外,为按照您说的把环境全部擦了,然后从新写了一下,现在已经有图像了,但是非常的模糊,我这里也有C6748的核心板,我之前用C6748的调过(修改了ov2640的配置寄存器),很清晰,那我现在想把TL138上面的画面也调清晰一点,请问怎么弄呢?
5 o5 j! |) y" L- z9 V2 |2 I. ]我看了vpif_mmap_loopback_sd.c的源码,感觉里面是按v4l2的框架写的,没有找到调节摄像头参数的函数,请问为怎么才可以自己去配置TL2640的参数呢?6 U6 ^$ M; l- k0 }6 D

2 v+ a5 }+ ~1 u- o) L! F+ w- X0 ~还有就是想问一下这个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 的?
  s8 G" f5 |4 ~# E9 _' P0 n$ P
7 }2 H% Y1 {( d问题有点多,希望大神好人做到底,多教教我,谢谢您!
, R6 m) L# G2 ]; D4 i5 G* | + m& x4 o: r; }! g2 g/ X
回复 支持 反对

使用道具 举报

0

主题

161

帖子

1093

积分

创龙

Rank: 8Rank: 8

积分
1093
8#
发表于 2016-2-1 10:12:10 | 只看该作者
第一步,确认你的u-boot版本是不是v1.5或以上版本;
3 u8 h* O/ B5 }6 X7 _  _第二步,可以在u-boot里面执行:nand erase 0 20000;擦除之前的环境变量;
& z' O3 k, c* g) o# j第三步,重启板子,然后再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
0 F7 p& O) U# x* y% w在内核里面可以查看u-boot真正传递到内核的参数:使用cat /proc/cmdline,看看设置的参数是否有正常传递给 ...

, i7 A% V1 H9 h* j7 }2 S* a0 @谢谢您的回复,我查看了,确实没有把vpif_capture的参数传递进去,以下是cmdline里的参数:$ Q7 J) l! s2 k, }5 _
root@tl:~# cat /proc/cmdline
6 n# H" B& I) o7 mmem=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

$ a3 @+ a2 I6 J; |
0 C  y2 d( M. E# H/ p) V我是按照手册上设置的环境变量,为什么没有成功传递进去呢?
6 z& a) j8 O, B+ g5 B那我现在怎么才能把这个环境变量参数传递进去呢?望大神多指教!
% C5 P% i3 y; f0 C $ b3 G$ p4 v" N$ }% g
以下是我内核的参数,是按照手册里制作的SD卡系统,希望对解决这个问题有所帮助
. @+ Z0 U" H0 G8 W0 A# ]root@tl:~# uname -a8 R+ J- H5 T! a3 M$ I( Y& `
Linux tl 3.3.0+ #1 g74e120f PREEMPT Fri Mar 13 00:15:15 HKT 2015 armv5tejl GNU/Linux
1 w5 z( T  p$ B" W; S2 v

7 s/ G0 }* a8 L+ s- C
% `. o; i/ e) u" s- k" Z. {/ W3 ]
" K* [' Q% p3 V9 J3 U+ ~2 q1 R
回复 支持 反对

使用道具 举报

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
% E- q+ R, }7 V: k) n还是没对的,直接按手册的步骤仔细对一下吧,改后应该是960000,您的还是4147200的 ...

- v4 e) M3 w2 g% _% d我改了的,你看我的printenv 里面,那里设置就是960000,我是按照手册的步骤做的。第一步,先修改U-BOOT里的环境变量,setenv optargs ${optargs} 'vpif_capture_format=RAW vpif_capture.ch0_bufsize=960000' 保存:saveenv。$ p& n/ _  K8 {/ a6 ~
第二步,执行vpif_mmap_loopback_sd -c 2 -d 0 -w 1 -m 2. z% P! B0 l* k6 i) _8 u# [

& T2 T) \& C0 p. s  r" C0 G我这应该没错吧,或者你给我说下正确的步骤,最好把所有要执行的命令也给我发一份过来,谢谢。
回复 支持 反对

使用道具 举报

3

主题

852

帖子

3538

积分

创龙

Rank: 8Rank: 8

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

使用道具 举报

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

本版积分规则

点击跳转“创龙科技服务通”

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

GMT+8, 2026-3-17 03:51 , Processed in 0.044322 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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