<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系統的圖像采集與顯示

嵌入式Linux系統的圖像采集與顯示

作者: 時(shí)間:2012-05-22 來(lái)源:網(wǎng)絡(luò ) 收藏

1 系統平臺的硬件結構

本文使用的系統平臺硬件功能框圖如圖1所示,該平臺采用Samsung公司的處理器S3C2410。該處理器內部集成了ARM公司 ARM920T處理器核的32位微控制器,資源豐富,帶獨立的16KB的指令Cache和16KB數據Cache,LCD控制器、RAM控制器,NAND 閃存控制器,3路UART、4路DMA、4路帶PWM的Timer、并行I/O口、8路10位ADC、Touch Screen接口,I2C接口,I2S接口、2個(gè)USB接口控制器、2路SPI,主頻最高可達203MHz。在處理器豐富資源的基礎上,還進(jìn)行了相關(guān)的配置和擴展,平臺配置了16MB 16位的FLASH和64MB 32位的SDRAM,通過(guò)以太網(wǎng)控制器芯片AX88796擴展了一個(gè)網(wǎng)口,另外引出了一個(gè)HOST USB接口。在USB接口上外接一個(gè)帶USB口的攝像頭。另外,還配有分辨率為320×240,256色的LCD。

2 Linux簡(jiǎn)介

Linux操作系統具有相當多的優(yōu)點(diǎn),他的內核穩定、功能強大、支持多種硬件平臺、源代碼完全開(kāi)放,可裁減和低成本的特性非常適合于應用,并且Linux本身直接提供完整的TCP/IP協(xié)議,可非常方便地進(jìn)行網(wǎng)絡(luò )應用。但Linux內核本身不具備強實(shí)時(shí)性,且內核體積較大,而且系統的硬件資源有限,因此把Linux用于嵌入式系統,必須對Linux進(jìn)行實(shí)時(shí)化和嵌入式化,即通過(guò)配置內核,裁減shell和嵌入式C庫對系統定制,使整個(gè)系統能夠存放到容量較小的FLASH中,Linux的動(dòng)態(tài)模塊加載,使Linux的裁減極為方便,高度模塊化的部件使添加非常容易。

整個(gè)系統軟件是在嵌入式Linux的基礎上構建的。S3C2410平臺使用的Linux內核是在Linux-2.4.18內核打上 patch-2.4.18-S3C2410這個(gè)補丁后編譯而成。S3C2410平臺使用的文件系統是yaffs,文件系統包括應用程序、模塊、配置文件和庫等,圖像的采集和顯示是建立在嵌入式Linux內核之上的,整個(gè)軟件系統如圖2所示。

通常宿主機和目標板上的處理器不同,宿主機通常為Intel處理器,而目標板如圖1所示為SAMSUNG S3C2410,所以程序需要使用針對處理器特點(diǎn)的編譯器才能生成在相應平臺上可運行的代碼,GNU編譯器提供這樣的功能,在編譯時(shí),可以選擇開(kāi)發(fā)所需的宿主機和目標機,從而建立開(kāi)發(fā)環(huán)境。在進(jìn)行嵌入式開(kāi)發(fā)前的第一步工作就是把一臺PC機作為宿主機開(kāi)發(fā)機,并在其上安裝指定操作系統。對于嵌入式 Linux,宿主機PC上應安裝。之后,在宿主機上建立交叉編譯調試的開(kāi)發(fā)環(huán)境,開(kāi)發(fā)環(huán)境的具體建立這里不細談。本文采用移植性很強的C語(yǔ)言在宿主機上編寫(xiě)視頻采集程序,再利用交叉編譯調試工具編譯鏈接生成可執行代碼,最后向目標平臺移植。

3 基于Video4Linux的

Video4Linux是Linux中關(guān)于視頻設備的內核驅動(dòng),他為針對視頻設備的應用程序編程提供一系列接口函數,在Linux下,視頻采集設備的正常使用依賴(lài)于對Video4 Linux標準的支持。如果使用Video4Linux,在編譯內核時(shí),一定要選中Multimedia Devices下的Video for Linux選項,本文針對的設備文件是 / dev / video,使用的器件是基于OV511的USB攝像頭。在運行程序前,一定要先加載USB及OV511設備驅動(dòng)模塊,同時(shí)加載Video4Linux模塊,分別使用命令:modprobe usbcore,modprobe usbohci,modprobe videodev和modprobe ov511,以確保生成設備文件/dev/video,若使用的Linux操作系統不支持modprobe命令,也可使用insmod命令。一般來(lái)講,基于Video4Linux的的程序流程如圖3所示。

以下簡(jiǎn)單介紹程序的編寫(xiě),在這里只給出關(guān)鍵部分的實(shí)現代碼。

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

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



上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: 嵌入式 Linux系統 圖像采集

評論


相關(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>