【正文】
只包含必需設(shè)備的驅(qū)動程序。如果該設(shè)備正常,則對這個設(shè)備及其他必需的條件(如中斷、DMA通道)進行申請并初始化。因為設(shè)備驅(qū)動程序一般支持同一類型的若干設(shè)備,所以一般在系統(tǒng)調(diào)用中斷服務子程序時,都帶有一個或多個參數(shù),以唯一標識請求服務的設(shè)備。函數(shù)原型:ssize_t(*read)(struet flle*,char*,size_st,loff_t*):(4)write入口點:向設(shè)備寫數(shù)據(jù),對于有緩沖區(qū)的I/O操作,一般向緩沖區(qū)里寫入數(shù)據(jù)。這個節(jié)點是通過mknod命令建立的,其中指定了主設(shè)備號和次設(shè)備號。Linux內(nèi)核是依據(jù)設(shè)備號來操作設(shè)備文件的,在內(nèi)核中,攝像頭對應的設(shè)備文件名為/dev/video0,主設(shè)備號是81,次設(shè)備號根據(jù)攝像頭數(shù)目來確定,本系統(tǒng)中僅使用一個攝像頭,所以可以通過mknod /dev/video0 C 81 0末創(chuàng)建節(jié)點。為攝像頭建立設(shè)備號,mknod /dev/video0 c 81 0。}Return 0。if(ioctl(vd224。channel[i].channel=i:if(ioetl(vd224。通常最快的磁盤訪問還是慢于最慢的內(nèi)存訪問,所以mmap ()方式加速了I/O訪問。內(nèi)存映射方式下真正進行視頻截取的是ioctl系統(tǒng)調(diào)用的VIDIOCMCAPTURE命令,若函數(shù)成功調(diào)用,再用VIDIOCSYNC命令來判斷圖像截耿是否已經(jīng)完畢,若該函數(shù)調(diào)用成功,則表明一幀圖像的截取己完成,便丌始下一幀圖像數(shù)據(jù)的截取,并將當前截耿的幀號按緩沖區(qū)總幀數(shù)的模加上1。接著,利用ioct1 ( fd, VIDIOCGCAP, amp。 TCP/IP協(xié)議簡介TCP/IP協(xié)議是針對NI司NJT發(fā)的體系結(jié)構(gòu)和協(xié)議標準,廣泛地應用于組建網(wǎng)絡中。如果沒有收到確認,TCP會自動重發(fā)數(shù)據(jù)。HTTP 協(xié)議是架構(gòu)在TCP/IP 協(xié)議上的應用級協(xié)議,其目的是方便和加速對分布式協(xié)同工作的超媒體信息系統(tǒng)的訪問。imagebmp,imageptr,640,480,20)))0){printf(Error:write jpeg error!)。解壓后執(zhí)行./configure,生成Makefile 文件。以下是效果圖:畢業(yè)設(shè)計(論文)原創(chuàng)性聲明和使用授權(quán)說明原創(chuàng)性聲明本人鄭重承諾:所呈交的畢業(yè)設(shè)計(論文),是我個人在指導教師的指導下進行的研究工作及取得的成果。作者簽名: 日期: 年 月 日學位論文版權(quán)使用授權(quán)書本學位論文作者完全了解學校有關(guān)保留、使用學位論文的規(guī)定,同意學校保留并向國家有關(guān)部門或機構(gòu)送交論文的復印件和電子版,允許論文被查閱和借閱。對本文的研究做出重要貢獻的個人和集體,均已在文中以明確方式標明。整個設(shè)置完后,就可以搜索攝像頭,找到攝像頭后,就能在相應的PC 機上動態(tài)顯示攝像頭采集的圖像信息,如圖1 所示,畫面清晰,圖像采樣大小為320240。為了播放實時視頻,可以通過在目標板的 ARM Linux 系統(tǒng)中移植一個視頻服務器的應用程序來實現(xiàn)。例如webserver 在80 號端口監(jiān)聽,當有客戶向80 號端口發(fā)出連接請求時,服務器將接受請求且由服務器進程派生出子進程和新的套接口(由accept()的返回值指向)來與客戶連接并通信。TCP必須能記錄發(fā)送和接收的數(shù)據(jù)流的狀態(tài)信息。(1)面向連接TCP協(xié)議是面向連接,客戶程序要與服務程序建立一個連接才能通過這個連接傳輸數(shù)據(jù),并在結(jié)束時斷開這個連接。在LCD上的顯示如圖所示6 視頻網(wǎng)絡傳輸模塊研究與實現(xiàn)要實現(xiàn)監(jiān)控現(xiàn)場,除了完成視頻采集的編程,還需要把視頻圖像數(shù)據(jù)通過網(wǎng)絡傳輸出去,因此需要在完成視頻采集的基礎(chǔ)上建立網(wǎng)絡服務器,實現(xiàn)客戶端和服務器之間的數(shù)據(jù)通信。 fd是設(shè)備打開后返回的文件描述符(打開錯誤返回一1)。然后使用函數(shù)vdmap=(unsigned char*)mmap(0,vd,PROT_READ|PROT_WRITE,MAP—SHARED,vdfd,ff_t offset)使設(shè)備內(nèi)容映射到內(nèi)存區(qū),其中第一個參數(shù)為共享內(nèi)存的起始地址,一般設(shè)為0,表示由系統(tǒng)分配;第二個參數(shù)為映射到調(diào)用進程地址空間的字節(jié)數(shù),它從被映射文件開頭offset個字節(jié)丌始算起;第三個參數(shù)指定共享內(nèi)存的訪問權(quán)限(PROT_READ(可讀),PROT_WRITE(可寫),PROT_EXEC(可執(zhí)行));第四個參數(shù)可以是MAP_SHARED或者MAP_PRIVATE;第五個參數(shù)為設(shè)備描述符。通常有兩種視頻采集方式:一種是通過read()直接讀取,另外一種通過mmap()內(nèi)存映射讀取。c即ability中的信息。}Return 0;}(3) 設(shè)置videopicture中分量的值,先為分量賦新值,再調(diào)用VIDIOCGPICT。(vd224。Linux下與Video4Linux相關(guān)設(shè)備及用途如表所示設(shè)備名稱Minor range功能/dev/video063視頻捕捉接口/dev/radio64127AM/FM音頻接口/dev/vtx193224文字電視廣播/dev/vbi224239原始VBI數(shù)據(jù)這里主要針對設(shè)備文件/dev/video進行視頻捕捉方面的程序設(shè)計。這個標準為應用程序定義了一系列的接口函數(shù),內(nèi)核、驅(qū)動和應用程序都是依靠這個標準來進行交流。通常一個硬件的驅(qū)動程序就是指一個驅(qū)動模塊。獨占設(shè)備必須標記設(shè)備可再次使用。在Linux操作系統(tǒng)中,并不是直接從中斷向量表中調(diào)用設(shè)備驅(qū)動程序的中斷服務子程序,而是由Linux系統(tǒng)束接收硬件中斷,再由系統(tǒng)調(diào)用中斷服務子程序。設(shè)備文件的主設(shè)備號必須與設(shè)備驅(qū)動程序在登記時申請的設(shè)備號一致,否則用戶進程將無法訪問驅(qū)動程序。從內(nèi)核的角度來看,驅(qū)動程序是一個設(shè)備的代表。建立一個目錄,將需要放到文件系統(tǒng)的文件復制到這個目錄。Linux在安裝新的文件系統(tǒng)時,把它安裝到指定的安裝目錄,從而合并到這個單一的文件系統(tǒng)樹上。本系統(tǒng)中主要需要對一下參數(shù)進行配置:處理器結(jié)構(gòu)、網(wǎng)絡功能、設(shè)備驅(qū)動、可執(zhí)行文件格式等。(4)修改內(nèi)核啟動時使用的命令行初始參數(shù)。VIVi是韓國的而mizi公司開發(fā)的BootLoader,適用于ARM9處理器。 BootLoader的移植圖是一個典型的嵌入式應用系統(tǒng)固態(tài)存儲設(shè)備的空間分配示意圖。微內(nèi)核模塊化體系結(jié)構(gòu)Linux操作系統(tǒng)本身的微內(nèi)核體系結(jié)構(gòu)相當簡單,網(wǎng)絡和文件系統(tǒng)以模塊形式置于微內(nèi)核的上層,驅(qū)動程序和其它部件可在運行時作為可加載模塊編譯到或者是添加到內(nèi)核,這為構(gòu)造定制的可嵌入系統(tǒng)提供了高度模塊化的構(gòu)件方法,使添加部件非常容易。這點優(yōu)勢是其他商用操作系統(tǒng)無法比擬的。目標系統(tǒng)硬件開發(fā)板用來運行嵌入式Linux操作系統(tǒng)、用戶系統(tǒng)應用程序等,而主機平臺用來進行嵌入式操作系統(tǒng)內(nèi)核編譯,文件系統(tǒng)的制作和系統(tǒng)應用程序開發(fā)和調(diào)試等。系統(tǒng)硬件平臺如圖21所示用戶終端監(jiān)控終端數(shù)據(jù)壓縮數(shù)據(jù)傳輸層USB攝像頭S3C2410XSRAM電源及復位電路控制臺NAND Flash存儲設(shè)備SDRAMJtag接口圖21 系統(tǒng)硬件平臺結(jié)構(gòu)圖通過對嵌入式操作系統(tǒng)Linux體系結(jié)構(gòu)的分析,結(jié)合ARM處理器及其外圍設(shè)備的的特性,本系統(tǒng)中將軟件的體系結(jié)構(gòu)分為兩層:內(nèi)核空間和用戶空間。(4) 基于Vidoo4Linux的視頻采集程序的研究與實現(xiàn)。另外,對于異常入侵及各類故障缺乏足夠的事后分析手段,所以要實現(xiàn)變電站綜合全面的自動化管理,就需要一個功能完備的遠程智能視頻監(jiān)控系統(tǒng)。所以選擇以Linux作為項目所需的操作系統(tǒng)。關(guān)鍵詞:視頻監(jiān)控 嵌入式系統(tǒng) ARM9 Linux V4L視頻采集Abstract With the rapid development of the electronic technology, multimedia technology and network technology, video surveillance system is going to the embedded, digital, networked direction. Taking full