1. 程式人生 > >uvc camera MTK平臺除錯總結

uvc camera MTK平臺除錯總結

USB video class(又稱為USB video device class or UVC)就是USBdevice class視訊產品在不需要安裝任何的驅動程式下即插即用,包括攝像頭、數字攝影機、模擬視訊轉換器、電視卡靜態視訊相機

Linux核心之中,已經集成了對UVCCamre的支援。

核心程式碼路徑: \kernel-3.10\drivers\media\usb\uvc

若需要開啟UVC CAMERA 需要在核心中配置:

MEDIA_SUPPORT = y

USB_VIDEO_CLASS = y

USB_VIDEO_CLASS_INPUT_EVDEV = y

如何檢視當前的Camera

是否支援UVC

插入攝像頭,通過lsusb命令,找到當前UVCCameraPIDVID

[email protected]:~/reyn/k86m/k86m_debug/kernel-3.10$ lsusb

Bus 001 Device 002: ID 8087:8008 Intel Corp. 

Bus 002 Device 002: ID 8087:8000 Intel Corp. 

Bus 003 Device 002: ID 093a:2510 Pixart Imaging, Inc. Optical Mouse

Bus 003 Device 049: ID 058f:3842 Alcor Micro Corp. 

然後執行一下命令lsusb -d 058f:3842 -v | grep "14 Video", 若支援UVC Camera

則你會看到如下資訊:

[email protected]:~/reyn/k86m/k86m_debug/kernel-3.10$ lsusb -d 058f:3842 -v | grep "14 Video"

Couldn't open device, some information will be missing

      bFunctionClass         14 Video

      bInterfaceClass        14 Video

      bInterfaceClass        14 Video

      bInterfaceClass        14 Video

      bInterfaceClass        14 Video

      bInterfaceClass        14 Video

      bInterfaceClass        14 Video

UVC Camrera遇到問題時,可以通過以下命令,開啟trace

sudo echo 0xffff > /sys/module/uvcvideo/parameters/trace    開啟

sudo echo 0 > /sys/module/uvcvideo/parameters/trace    關閉

dmesg | grep uvc -a     -a 命令是將起作為一個文字檔案裝置對待

若當前Camera不支援UVC ,可以通過以下命令,或許當前Camrea的詳細配置描述符:

lsusb -d 058f:3842 -v

下面介紹一下USB協議關於攝像頭的相關知識!

V4L2

Video4Linux或V4L是一個視訊擷取及裝置輸出API,以及Linux的驅動程式框架,支援很多USB攝像頭電視調諧卡以及其他裝置。

簡單的講V4L2就是用來管理UVC裝置的並且能夠提供視訊相關的一些API。那麼這些API怎麼使用或者能被誰使用呢。在Linux系統上有很多的開源軟體能夠支援V4L2。常見的又FFmpeg、opencv、Skype、Mplayer等等。

VideoClass裝置描述位於USB協議的Interface級,每個裝置的Interface分為兩類VideoControlInterface(僅僅只用一個)和VideoStreamingInterface(可以具有多個),而與裝置的一個相關的所有的USB Interface被稱作為一個VideoInterface Collection使用IADInterface Association Deor)描述符來描述。

目前核心支援的UVC camera的型別有 :

YUV 4:2:2 (YUYV)

YUV 4:2:0 (NV12)

MJPEG

YVU 4:2:0 (YV12)

YUV 4:2:0 (I420)

YUV 4:2:0 (M420)

YUV 4:2:2 (UYVY)

Greyscale 8-bit (Y800)

Greyscale 8-bit (Y8  )

Greyscale 10-bit (Y10 )

Greyscale 16-bit (Y16 )

RGB Bayer

RGB565

H.264

插入攝像頭,如果在裝置節點下出現/dev/video0; 則證明你的uvc camera在核心的驅動已經載入了,然後就可以用測試工具開始測試你的uvc攝像頭了。

相關推薦

uvc camera MTK平臺除錯總結

USB video class(又稱為USB video device class or UVC)就是USBdevice class視訊產品在不需要安裝任何的驅動程式下即插即用,包括攝像頭、數字攝影機、模擬視訊轉換器、電視卡及靜態視訊相機。 Linux核心之中,已經集成

MTK平臺除錯加密晶片ATSHA204A---概括篇

本文是概括篇,我會在我的資源那裡上傳程式碼,敬請後續關注,方便讀者參考使用,如有疑問或者有業務合作,可私信我。 除錯的平臺:mt6580 系統:android5.1 加密晶片:ATSHA204A(8腳S0IC封裝) 推薦:具有4.5kb eeprom,且價效比最高。 介面:Interface

MTK lcm除錯總結及解決思路

一、常見lcm問題 LCD會注意到一下問題: 1.gamma是否超標。 2.重新整理率是否合適。 3.flicker現象是否嚴重或能否輕易察覺。 4.ESD是否合格。 5.背光調節是否存在問題,特別是自動調節是否有不平滑現象,或者亮度調定某個範圍螢幕

MTK MT6735平臺除錯Camera驅動記錄

Camera驅動相關檔案: 1、ProjectConfig.mk   配置相關資訊,定義主副攝像頭。和其他資訊 2、kd_imgsensor.h     定義Sensor_id 的資訊檔案, kernel和vendor下都需要有一份 3、kd_camera_hw.c  kd

MTK-MT6735-camera新加模組除錯總結

最近公司專案新換了一個不在支援列表中的camera,記錄一下除錯流程,以方便以後查閱。1、第三方提供kernel的驅動程式碼以及hal層的效果程式碼。kernel程式碼拷貝到(比如)kernel-3.18/drivers/misc/mediatek/imgsensor/src

MTK平臺驅動除錯指南

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

MTK平臺camera驅動架構分析

MTK6580 AndroidO(android8.1)版本camera 驅動分析 CAMERA驅動整個框架分為:三個部分hal部分邏輯呼叫,kernel層的通用驅動sensorlist.c 和具體IC的驅動xxxx_mipi_raw.c 這裡主要介紹kernel部分和HAL層部分。

[MTK] BT驅動除錯總結

首先在init.Project.rc裡面找例如找fm bt wifi gps等等。。。    # STP, WMT, GPS, FM and BT Driver    insmod /system/lib/modules/mtk_stp_core.ko    insmod

MTK平臺預置第三方APK總結

假如是預置微信,3rd-party下存放的微信apk的資料夾名字叫weixin: 一般來說MTK預置第三方APK目錄在如下位置: vendor\mediatek\proprietary\packages\3rd-party\weixin 這個weixin資料夾一般有兩部分組成,一個是Andr

uboot除錯總結(freescale平臺為例)

uboot入口 arch/arm/lib/crt0.S #include <config.h> #include <asm-offsets.h> #include <linux/linkage.h> /* * This file h

MTK平臺uart log 抓取及8 秒重啟、開機震動功能總結

MTK平臺串列埠log抓取 作為一名驅動工程師,有時候必須要抓取uart log來分析故障,查詢及驗證後,發現一下方法確認能夠穩定及正常抓取MTK平臺uart log。 1.preloader 中配

高通平臺串列埠除錯 AP與模組串列埠通訊除錯總結 uart

高通平臺串列埠除錯 AP與模組串列埠通訊除錯總結 2016年07月07日 18:03:41 閱讀數:3144 原文網址:http://blog.csdn.net/linux_devices_driver/article/details/24329043 1:檢查A

MT8735 andorid7.0 充電除錯總結(1)——MTK電源管理(MT6318)

充電整體框架圖如下: 充電原理圖: 1、  充電線路 1.1 充電線路 1.2 預充電路 1.3 OVP電路 1.4 6305OVP電路 2、  充電過程 2.1 充電流程 2.2 MT6318充電狀態轉換圖 //下面是詳細

關於在MTK平臺 ANDROID 增加CAMERA的一個feature

在mtk平臺裡面如何增加一個 camera feature,因為MTK的driver層都是通過feature來控制的,下面是我看MTK文件及自己增加一些相關的FEATURE的總結,先看流程具體的流程如下 framework層 camera.java 呼叫JNI層 andro

線上學習平臺知識總結

radio public private result sem sql his equal script 1.對象轉換 對象一 var PList1 = from ph in db.Pa_Point_History

MTK 平臺Android6.0 系統整合第三方apk 的解決策略

比如我要整合的apk 的名字叫ATest.apk 1.在package/app/目錄下面面加入一個資料夾資料夾名字:ATest(這裡最好使用apk 一樣的名字,方便以後更好的程式碼維護,如果使用其它隨便命名的名字也是可以得。) 2.把ATest.apk 放入到ATest 資料夾下,

MTK平臺修改log的日誌級別

軟體平臺:Android6.0 硬體平臺:MTK6797     mtk平臺的日誌級別可以從一條系統屬性檢視:persist.log.tag,此條屬性預設為V級別,然後系統的日誌瘋狂的輸出,單單從操作層面看的話,可以setprop這個屬性的值來提升系統的日誌輸出

Mtk平臺調整分割槽大小

硬體平臺:MTK6797 軟體平臺:android6.0 如何調整分割槽大小: 拿cache分割槽舉例,找到平臺的BoardConfig.mk檔案,一般在device目錄,作如下修改: @@ -9,6 +9,8 @@ include device/mediatek/mt6797/Bo

【android睡眠喚醒 二】MTK平臺喚醒框架分解

    在文章MTK 喚醒時間分析中分析了核心中的主要的亮屏重要階段,此篇文章結合上層的log一起來分析下整個系統的亮屏流程。整個流程可以分為如下幾個部分:   (1)power鍵(home鍵)產生並上報(在input子系統中已經介紹);   (2)上層接收到到鍵值,Po

MTK DDR除錯

1. 獲取 flash id: 硬體資訊:通過這個節點可以知道當前flash的id,上層根據id找到對應的flash名字。   cat /sys/block/mmcblk0/device/cid   \kernel-4.4\drivers\mmc\core\Mmc.c