<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > Linux環(huán)境下的USB攝像頭驅動(dòng)開(kāi)發(fā)

Linux環(huán)境下的USB攝像頭驅動(dòng)開(kāi)發(fā)

作者:李茂杰,柳寅秋,王勇 時(shí)間:2012-03-23 來(lái)源:電子產(chǎn)品世界 收藏

摘要:嵌入式環(huán)境下的驅動(dòng)需要充分利用USB總線(xiàn)與內核中的USB核心密切配合并且保證數據流的高速與穩定。本文從內核的USB核心模塊出發(fā),遵循Video4接口標準,采用urb策略與內存映射的方式以提高數據讀取速度,設計開(kāi)發(fā)了基于環(huán)境下的驅動(dòng),并在A(yíng)RM9實(shí)驗平臺上對該驅動(dòng)程序進(jìn)行了測試與分析。

本文引用地址:http://dyxdggzs.com/article/130629.htm

linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)

引言

  嵌入式圖像處理的應用范圍隨著(zhù)嵌入式技術(shù)的不斷發(fā)展而不斷擴大,攝像頭作為數字圖像采集的基礎,驅動(dòng)程序的開(kāi)發(fā)顯得尤為重要。作為操作系統內核與硬件設備之間的接口,驅動(dòng)程序是否優(yōu)良,直接影響著(zhù)硬件設備能否正常、高效運轉。帶有USB(通用串行總線(xiàn))接口的攝像頭因其具有支持熱插拔、接口通用性好、實(shí)時(shí)性強、較高的傳輸速率、低成本、易于擴展等優(yōu)點(diǎn)而備受青睞。但是嵌入式系統中支持的驅動(dòng)程序很少,因此,研究和開(kāi)發(fā)嵌入式環(huán)境下的USB攝像頭驅動(dòng)程序具有應用價(jià)值和現實(shí)意義。

USB攝像頭驅動(dòng)程序構架

  設備驅動(dòng)程序是計算機軟、硬件之間存在的悖論的產(chǎn)物:軟件和硬件不應該互相滲透到對方的領(lǐng)域。因此,設備驅動(dòng)程序是介于操作系統與硬件之間,將硬件設備的具體工作細節對操作系統內核完全屏蔽的接口。用戶(hù)的操作通過(guò)標準化的調用執行,經(jīng)設備驅動(dòng)程序映射到實(shí)際的硬件設備上。

  由于在不同的環(huán)境下通常需要不同的方式來(lái)操作硬件,所以在編寫(xiě)訪(fǎng)問(wèn)硬件的設備驅動(dòng)程序時(shí),不能給用戶(hù)強加任何特定的策略(策略,既是如何使用這些功能[1])。驅動(dòng)程序應該處理如何使硬件工作的問(wèn)題,而將怎樣使用硬件的問(wèn)題留給上層應用程序,即驅動(dòng)程序的作用在于提供機制(機制,既是需要提供什么功能[1])。

USB子系統分析

  一個(gè)USB子系統是由幾個(gè)點(diǎn)對點(diǎn)的連接方式構建而成的樹(shù)狀結構,在該系統中USB只是擔當設備和主控制器之間通信通道的角色,對它所發(fā)送或者接受的數據沒(méi)有任何特殊的內容和結構上的要求。

  Linux內核支持兩種主要類(lèi)型的USB驅動(dòng)程序:宿主系統上的驅動(dòng)程序和設備上的驅動(dòng)程序[2]。宿主系統上的USB驅動(dòng)程序控制插入其中的USB設備,而設備上的驅動(dòng)程序則控制該設備如何與主機通信。

  Linux內核提供了USB核心模塊,該模塊將不同類(lèi)型的USB主控制器完全屏蔽,而為上層的USB設備驅動(dòng)程序提供了用于訪(fǎng)問(wèn)和控制USB設備的接口(如圖1)。因此USB核心模塊將USB主控制器和USB設備驅動(dòng)程序隔開(kāi),也同時(shí)將USB驅動(dòng)程序的編寫(xiě)與具體的硬件隔開(kāi)。

驅動(dòng)模塊構架

  每個(gè)硬件設備在操作系統內核中都對應一個(gè)驅動(dòng)模塊。USB攝像頭設備在內核中表現為一個(gè)字符設備,并且屬于視頻類(lèi)的硬件設備。Linux內核為視頻類(lèi)設備提供了內核接口Video4Linux,該內核接口使得Linux環(huán)境下的上層應用程序可以像訪(fǎng)問(wèn)普通文件一樣對其進(jìn)行讀寫(xiě)操作。因此該驅動(dòng)模塊提供的機制應該符合Video4Linux接口:

linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)

linux相關(guān)文章:linux教程


攝像頭相關(guān)文章:攝像頭原理


關(guān)鍵詞: Linux USB攝像頭 201203

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>