@wuzhujian 我这边好像没有出现这种问题,然后yuview好像是这个例子自带有问题,正在改
Honey130602 发布的帖子
-
T113 TINA2.1中yuview显示不出来图片
最近下了个TINA2.1,打上patch后,在t113上编译好,然后想用yuview显示图片,结果一片黑,求高手指点。
图片是存放在U盘里头的,是package中yuview自带的。
-
回复: 问问各位大佬,屏幕做旋转时有点小BUG怎么解决!!
@q2022 不能用一张图片,uboot里头,用旋转前的,然后kernel加载旋转后的,不然切fb必然引起这个问题。我已经实现了,就是这样改的
-
T113视频采集后如何调整视频图层的透明度
求高手指点,T113视频采集后如何调整视频图层的透明度,使用aut_hwd_layer_set_alpha貌似只对UI图层有效,视频图层无效
-
回复: Tina sdk(t113) 更改uart_debug口后,debug信息打印不全
@jr_online 我刚按照这篇帖子通了,就是sys_config.fex里头,必须保持串口号为0,不能改成实际的3,还有board.dts的uart3_pins_a里头的作用也必须是uart0,你照着这个弄,应该也可以出来了
https://bbs.aw-ol.com/topic/1673/全志芯片tina-linux-修改-uart-引脚-uart端口 -
回复: 有大佬在T113跑视频采集的应用成功的么
@qq519472926 我是采集的视频,最近没上论坛,没看到你的消息,不好意思,你搜videoCapture的例子,就是下面几个步骤:
流水线标准流程 -
回复: T113 电阻屏 触摸有中断但是没有坐标信息
@eddardzhu 我也遇到这个问题了,你看下你触摸屏驱动中,中断服务中通过I2C读取触摸屏信息的时候,是不是采用的I2C packet 传输模式,然后是读取的32字节,如果是这个,就是内部有个bug触发的,需要改下I2C的中断服务处理,将读取长度<32不读取fifo内容那里改成<=32就对了
-
回复: starting kernel之后没有log输出
@jinxiangwzh kernel的串口和uboot的不一致,所以进到kernel后系统是起来了,但是串口没对,就不输出了
-
回复: t113的image292MB,为什么烧写不进512MB的sd卡
原来是sys_partition.fex中,把rootfs.fex的分区大小定义为了1G,所以哪怕编译出来的rootfs.fex才不到200MB,用烧写工具烧写的时候,还是会出现ext4的1G的分区。改这个文件就对啦,现在改成了320M,需要使用到的扇区数是655360, 320M = 512*655360
修改后,烧写进SD卡的文件系统用dg看,可以发现已经从1G到320MB了
还要注意改了后,要重新擦除下SD卡,再烧写,不然分区信息不会变,之前我还以为自己修改后的没生效 -
回复: t113的image292MB,为什么烧写不进512MB的sd卡
@yuzukitsuru 生成出来的linux镜像文件t113_linux_evb1_auto_uart0.img,是292MB
-
t113的image292MB,为什么烧写不进512MB的sd卡
t113的image292MB,烧写进512MB的sd卡竟然失败,是什么原因呢?报错如下,好像超容量了,但是不应该呀。
-
T113跑csitest,出现不能分配连续空间问题,求大神指点
T113跑csitest,外接CVBS摄像头,空间由应用程序分配,调用到内核程序时,一直报不能分配连续空间,
[ 153.341696] ++++++++++[arm_iommu_map_sg][1742]+++++++++++
[ 153.350890] ++++++++++[vb2_dc_get_userptr][475]size:518400+++++++++++++
[ 153.358403] ++++++++++[vb2_dc_get_userptr][533]n_pages:0x7f,offset:0x0,size:0x7e900+++++++++++++
[ 153.368327] +++++++++[vb2_dc_get_contiguous_size][56]expected:0x45ec0000++++++++++
[ 153.376863] +++++++++[vb2_dc_get_contiguous_size][60]dmaAddr:0x45ec0000,expected:0x45ec0000,len:458752++++++++++
[ 153.388318] +++++++++[vb2_dc_get_contiguous_size][60]dmaAddr:0x45e34000,expected:0x45f30000,len:8192++++++++++
[ 153.399572] +++++++++[vb2_dc_get_contiguous_size][63]dma addr:0x45e34000++++++++++
[ 153.408118] [vb2_dc_get_userptr][557]contiguous mapping is too small 458752/518400
VIDIOC_QBUF failed
Got signal 11, exiting ...
disp_disable:disp_set_addr fail to set layer info
disp_disable:disp_set_addr fail to set layer info
有大神遇到过类似问题吗?求指点 -
T113跑摄像头采集出现Bad rss-counter,然后死机
T113跑CSI摄像头采集,出现如下错误:
[ 26.767976] BUG: Bad rss-counter state mm:47ec7b26 type:MM_FILEPAGES val:216
[ 26.775928] BUG: Bad rss-counter state mm:47ec7b26 type:MM_ANONPAGES val:14
[ 26.783761] BUG: non-zero pgtables_bytes on freeing mm: 6144
然后开发板死了,求大神指点,这个是什么错误呢 -
有大佬在T113跑视频采集的应用成功的么
有哪位大佬在T113上调摄像头或者视频采集的应用没,我这边调的时候,发现调用全志package里头的sunxi_ion_alloc_palloc函数,然后后面开启摄像头采集数据后,会报错,并导致开发板挂掉?或者在应用层直接mmap从内核分配的地址,然后跑应用也会出问题,都是莫名挂掉,有时候会报BUG: Bad rss-counter state mm:之类的错误
-
回复: T113跑TINA串口不能输入了
@yuzukitsuru 现在发现还有个一个比较诡异的问题,我想把串口从0改到1,
修改了
----------sys_config.fex------------
[uart_para]
uart_debug_port = 1
uart_debug_tx = port:PG06<2><1><default><default>
uart_debug_rx = port:PG07<2><1><default><default>
---------board.dts-------------
&uart0 {
pinctrl-names = "default", "sleep";
pinctrl-0 = <&uart0_pins_a>;
pinctrl-1 = <&uart0_pins_b>;
status = "disabled";
};&uart1 {
pinctrl-names = "default", "sleep";
pinctrl-0 = <&uart1_pins_a>;
pinctrl-1 = <&uart1_pins_b>;
status = "okay";
};-------------env.cfg-----------------
#kernel command arguments
earlyprintk=sunxi-uart,0x02500400
initcall_debug=0
console=ttyS1,115200
--------------sun8iw20p1.dts------------------
uart1: uart@2500400 {
compatible = "allwinner,sun8i-uart";
device_type = "uart1";
reg = <0x0 0x02500400 0x0 0x400>;
interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
sunxi,uart-fifosize = <256>;
clocks = <&ccu CLK_BUS_UART1>;
clock-names = "uart1";
resets = <&ccu RST_BUS_UART1>;
uart1_port = <1>;
uart1_type = <4>;
status = "okay";
};
---------------uboot下头的defconfig-----------------
CONFIG_CONS_INDEX=2
这样的表现是uboot有串口打印,但是kernel就没有了
然后我只要把uboot下头的defconfig还原到CONFIG_CONS_INDEX=1
uboot没有打印了,但是kernel就有打印了,
想了很久都没想通 -
回复: T113跑TINA串口不能输入了
@yuzukitsuru 还想问下,你知道怎么在TINA中修改uboot的menuconfig不,我之前直接改.config或者uboot下make menuconfig好像都不生效
-
回复: 麻雀D1s启动时卡在这个地方了,应该怎么处理?求指教
我之前遇到过你类似的,uboot串口使用的uart0,然后kernel使用的uart5,然后烧写的是uart0的镜像,起到kernel的时候,就切串口了,但是你此时串口输出还停留在uart0,就导致串口没有输出了,你可以核对下你uboot和kernel是否配置的同一串口
-
回复: 麻雀D1s启动时卡在这个地方了,应该怎么处理?求指教
你是不是kernel的串口和uboot的不一致,实际内核是不是已经起来了,只是串口无输出,还是内核也没起来
-
回复: D1s同时启用TVD和DVP接口摄像头,图像显示黑白
@tigger
vind->clk[VIN_TOP_CLK_SRC].clock 这个,根据设备树,被设成了336M,然后就出问题了 -
回复: D1s同时启用TVD和DVP接口摄像头,图像显示黑白
确定原因了,VIN里头有对时钟进行配置,影响到了其他导致。。。好尴尬,以为vin这个模块应该是比较独立的。
-
D1s同时启用TVD和DVP接口摄像头,图像显示黑白
之前在F133/D1s上调通了TVD摄像头,颜色正常,旋转什么都好了,因为一路摄像头不够,就又外加DVP-CSI摄像头,这个过程中,需要启用sunxi-vin和media controller,还有一个VIDEO_MUX不确定是否要不要,目前是加上了,但是设备树无此节点,所以等于没有用上,这样跑起来后,发现不管是新加的DVP-CSI摄像头还是原来的TVD摄像头显示出来的图像彩色都变黑白,感觉只有Y,没有UV了,大家有遇到过不?
-
有没有哪位大神在D1S上跑过ov5640或者其他sensor的,走DVP-CSI
最近想外接摄像头,不用内部TVD,想尝试下ov5640或者N5,因为D1S上没有mipi,所以只能走DVP,哪位大神有做出来的么?
-
回复: 哪吒板上用display显示yuv格式数据直接蓝屏
嗯,终于出来了,强制将驱动包括tvd和v4l2层的改为支持mplane,但是只用一个plane,在应用程序中分配地址,并传递userptr给DE,显示参考yuview的,显示效果不错,很流畅,CPU占用率不到3%
-
回复: 哪吒板上用display显示yuv格式数据直接蓝屏
我现在有点怀疑,是不是我的摄像头不是mplane导致的,内核代码中,貌似如果不是mplane,很多都直接返回了,所以是否这样导致地址异常。。。
-
回复: 哪吒板上用display显示yuv格式数据直接蓝屏
@anruliu 感谢,已经尝试了,用yuview没问题,可以显示之前摄像头捕获的一帧数据存成的yuv文件,然后后面用cat /sys/class/disp/disp/attr/sys显示的信息如下,但是不晓得怎么看这个有没有异常:
下面是执行应用程序前的:
root@TinaLinux:/# cat /sys/class/disp/disp/attr/sys
screen 0:
de_rate 300000000 hz, ref_fps:60
mgr0: 800x480 fmt[rgb] cs[0x204] range[full] eotf[0x4] bits[8bits] err[0] force_sync[0] unblank direct_show[false] iommu[1]
dmabuf: cache[0] cache max[0] umap skip[0] overflow[0]
lcd output backlight( 50) fps:60.2 800x 480
err:0 skip:221 irq:44264 vsync:0 vsync_skip:0
BUF enable ch[1] lyr[0] z[16] prem[N] a[pixel 255] fmt[ 0] fb[ 800, 480; 800, 480; 800, 480] crop[ 0, 0, 800, 480] frame[ 0, 0, 800, 480] addr[ffe00000, 0, 0] flags[0x 0] trd[0,0] depth[ 0]下面是执行应用程序捕获摄像头数据后的:
root@TinaLinux:/mnt/exUDISK# cat /sys/class/disp/disp/attr/sys
screen 0:
de_rate 300000000 hz, ref_fps:60
mgr0: 800x480 fmt[rgb] cs[0x204] range[full] eotf[0x4] bits[8bits] err[0] force_sync[0] unblank direct_show[false] iommu[1]
dmabuf: cache[0] cache max[0] umap skip[0] overflow[0]
lcd output backlight( 50) fps:60.2 800x 480
err:317 skip:347 irq:48078 vsync:0 vsync_skip:0
BUF enable ch[0] lyr[0] z[1] prem[N] a[globl 255] fmt[ 76] fb[ 800, 480; 400, 240; 0, 0] crop[ 0, 0, 800, 480] frame[ 0, 0, 800, 480] addr[42600000,4265dc00, 0] flags[0x 0] trd[0,0] depth[ 0] BUF enable ch[1] lyr[0] z[16] prem[N] a[pixel 255] fmt[ 0] fb[ 800, 480; 800, 480; 800, 480] crop[ 0, 0, 800, 480] frame[ 0, 0, 800, 480] addr[ffe00000, 0, 0] flags[0x 0] trd[0,0] depth[ 0] -
回复: 哪吒板上用display显示yuv格式数据直接蓝屏
@tigger 目标是把CVBS摄像头采集的数据通过DE显示
1、内核配置部分:TVD
然后display的配置也勾选上了
目的想通过DE显示摄像头采集的数据。
2、应用程序部分-
打开摄像头
dev_video = "/dev/video4";
video_fd = open(dev_video, O_RDWR /* required */ | O_NONBLOCK, 0); -
初始化display
if((dispfd = open("/dev/disp",O_RDWR)) == -1)
{
printf("open display device fail!\n");
return -1;
}
下面是常规流程:
-
查询摄像头能力并设置格式,摄像头是用的800*480的
ioctl(video_fd, VIDIOC_S_FMT, &video_format) -
向驱动申请缓冲区,申请了4个buffer
ioctl(video_fd, VIDIOC_REQBUFS, &video_requestbuffers) -
内核地址映射到应用层地址
先ioctl(video_fd, VIDIOC_QUERYBUF, &video_buffer),然后再mmap -
将缓冲区放入到采集队列
ioctl(video_fd, VIDIOC_QBUF, &video_buffer) -
启动摄像头采集
ioctl(video_fd, VIDIOC_STREAMON, &opt_type) -
while循环反复出队列入队列
-
最后是disp_set_addr函数
最后直接整个屏幕全蓝,啥都没有,之前已经做过尝试,把yuv的数据存成文件,图像是对的,手动转rgb,通过fb0显示,图像也是对的,但是只要通过display显示就不对了。
-