今天我跟踪了一下debug信息
显示如下:
root:~> bcap_open called
bcap_open:
bcap open setting PPI done
setting PPI to 720x576
specified video device opened sucessfullly
VIDIOCGCAP ioctl called
setting 'type of interface' to 0x00000101
setting 'name' to Blackfin CMOS Camera
setting 'channels' to 1
setting 'audios' to 0
setting 'maxwidth' to 720
setting 'maxheight' to 576
setting 'minwidth' to 80
setting 'minheight' to 60
VIDIOCGPICT called
VIDIOCSPICT called
VIDIOCSWIN called
setting PPI to 352x288
...using 352x288 window
VIDIOCGWIN called VIDIOCGMBUF called (16906721)
capture 202752 byte, 352x288 (WxH) frame
bcap_mmap: vm mapped to [0x00001000-0x00032800] VIDIOCMCAPTURE(0) called (16906733)
capture 202752 byte, 352x288 (WxH) frame
grabbing frame 0 [0x00001000]
bcap_ppi2dma: reading 202752 bytes (352x288) into [0x00001000]
bcap_ppi2dma: done read in 202752 bytes for [0x00001000-0x00032800]
-->bcap_ppi_irq_error: PPI Status = 0x1000 ----------------------means FIFO overflow
-->bcap_ppi_irq_error: PPI Status = 0x1000 VIDIOCMCAPTURE(1) called (16906761)
capture 202752 byte, 352x288 (WxH) frame
-->bcap_ppi_irq_error: PPI Status = 0x800 -----------------------means Frame Track Error
-->bcap_ppi_irq_error: PPI Status = 0x1000
-->bcap_ppi_irq_error: PPI Status = 0x1000
VIDIOCSYNC(0) called (16906781)
-->bcap_ppi_irq_error: PPI Status = 0x800
-->bcap_ppi_irq_error: PPI Status = 0x1000
-->bcap_ppi_irq_error: PPI Status = 0x1000
-->bcap_ppi_irq_error: PPI Status = 0x800
-->bcap_ppi_irq_error: PPI Status = 0x1000
-->bcap_ppi_irq_error: PPI Status = 0x800
-->bcap_ppi_irq_error: PPI Status = 0x1000
-->bcap_ppi_irq_error: PPI Status = 0x1000
-->bcap_ppi_irq_error: PPI Status = 0x800
-->bcap_ppi_irq_error: PPI Status = 0x1000
-->bcap_ppi_irq_error: PPI Status = 0x1000
-->bcap_ppi_irq_error: PPI Status = 0x800
FIFO溢出和Frame Error到底是怎么发生的呢? 大家能根据我的debug信息给我点建议呢?
并不是一开始就要把PPI设置成352×288引起的问题 我刚才试过了 问题依旧
其实上面也已经把PPI reset成 352×288了的
root:~> bcap_open called
bcap_open:
bcap open setting PPI done setting PPI to 720x576 specified video device opened sucessfullly
VIDIOCGCAP ioctl called
setting 'type of interface' to 0x00000101
setting 'name' to Blackfin CMOS Camera
setting 'channels' to 1
setting 'audios' to 0
setting 'maxwidth' to 720
setting 'maxheight' to 576
setting 'minwidth' to 80
setting 'minheight' to 60
VIDIOCGPICT called
VIDIOCSPICT called
VIDIOCSWIN called setting PPI to 352x288
...using 352x288 window