基于ARM圖像采集系統(tǒng)_第1頁
基于ARM圖像采集系統(tǒng)_第2頁
基于ARM圖像采集系統(tǒng)_第3頁
基于ARM圖像采集系統(tǒng)_第4頁
基于ARM圖像采集系統(tǒng)_第5頁
已閱讀5頁,還剩43頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、 I基于 ARM 的圖像采集系統(tǒng)摘 要近年來,隨著科學技術的不斷發(fā)展,人們對于生活的安全、方便、快捷的要求越來越高,圖像采集已經(jīng)越來越多地用于智能家居、圖像識別、環(huán)境監(jiān)控等領域。本文通過研究當前數(shù)字圖像采集系統(tǒng)的研究成果和發(fā)展趨勢,設計了一種 基于 ARM 的數(shù)字圖像采集系統(tǒng),論文重點研究了系統(tǒng)的軟件實現(xiàn) 。為了克服傳統(tǒng)圖像采集系統(tǒng)的不足,本文采用常見的 USB 攝像頭作為圖像采集設備,利用FS_s5pc100 開發(fā)板進行操作系統(tǒng)移植, 采用 s5pc100 芯片直接控制 USB 攝像頭進行圖像數(shù)據(jù)采集,經(jīng)格式轉化后,通過 LCD 控制器在液晶顯示屏上顯示。該系統(tǒng)使用主控芯片完成了圖像采集和傳

2、送,實現(xiàn)的系統(tǒng)貼近于生活,具有一定的實用價值。關鍵詞:關鍵詞:嵌入式;圖像采集;s5pc100;USBImage Capture System Based on ARM IIAbstract:In recent years, with the continuous development of science and technology,people have increasingly higher demands for security, convenience, speedy of life. Image acquisition has been increasingly used i

3、n smart home, image recognition, environmental monitoring and other fields.In this paper, I will design a digital image acquisition system based on ARM by studying the current research results and developing trend of digital image acquisition system,and I focus on the software implementation of the

4、system .In order to overcome the deficiency of the traditional image acquisition system ,I choose USB camera as the image acquisition device ,and transplant OS into the FS_s5pc100 board in this paper .The main control chip , s5pc100 ,controls the USB camera to capture image first,and then it changes

5、 the image format and controls the LCD displayer to show the picture . With the only main control chip ,the system can capture and display images , this makes the system have practical implications and more closer to our true life. Keyword:ARM ; Image Acquisition;s5pc100;USB III目 錄第 1 章 前言.1第 2 章 相關

6、器件.32.1 攝像頭 .32.2 顯示器 .5第 3 章 總體設計.93.1 功能需求.93.2 工作原理.93.3 軟硬件規(guī)劃.103.3.1 硬件規(guī)劃.103.3.2 軟件規(guī)劃.10第 4 章 硬件設計.114.1 開發(fā)板&主控芯片 s5pc100.1141.1 s5pc100 芯片介紹.114.1.2 開發(fā)板簡介.124.2 圖像數(shù)據(jù)采集設備.154.3 顯示設備.15第 5 章 軟件設計.165.1 Linux & 開發(fā)環(huán)境搭建.165.1.1 Linux 系統(tǒng)及 Linux 內(nèi)核簡介.165.1.2 Linux 環(huán)境搭建步驟概述.165.1.3 Linux 交叉編譯

7、環(huán)境搭建.175.1.5 Bootloader 移植.195.1.6 Linux 內(nèi)核移植與配置.195.1.7 Linux 文件系統(tǒng).215.2 linux 設備驅動移植.235.2.1 基礎知識.235.2.2 設備介紹.235.2.3 系統(tǒng)驅動.255.3 圖像采集.275.3.1 軟件流程.275.3.2 程序設計.27結 論.33致 謝.34參考文獻.35成都理工大學 2013 屆本科畢業(yè)設計(論文) 1第 1 章 前言圖像采集起源于 20 世紀 80 年代中期。在發(fā)展初期,現(xiàn)實世界畫面的存儲通過膠片式高速攝像機記錄下來。隨著技術的不斷進步,圖像采集經(jīng)過了幾個發(fā)展階段。早期的采集系統(tǒng)

8、龐大而難以擴展;在上個世紀末期,單片機的問世使數(shù)據(jù)采集系統(tǒng)發(fā)生了翻天覆地的變化,但此時處理數(shù)據(jù)的速度很慢。后來高速單片機,以及更高速的處理芯片 DSP,F(xiàn)PGA 以及 ARM 紛紛問世,這讓數(shù)據(jù)采集速度得到了飛速的發(fā)展,同時基于 PC 的高速數(shù)據(jù)采集也日趨成熟?,F(xiàn)在,圖像采集系統(tǒng)廣泛應用于可視電話、遠程監(jiān)控以及網(wǎng)絡會議等領域,而在各種圖像處理,視頻壓縮與傳輸系統(tǒng)中,它更是必不可少的組件。對圖像進行采集、處理歷來都是一個熱點,也是一個難點。在眾多的圖像采集系統(tǒng)中,大多數(shù)都針對特定的用途選擇專用的攝像頭和視頻處理芯片,這種傳統(tǒng)的方式存在不易購買、可擴展性不強、價格昂貴等問題。近年來,對圖像采集系統(tǒng)

9、的設計要求日益提高,在日常生活、科學研究、工業(yè)生產(chǎn)中,都迫切需要廉價、易擴展、功能強勁的圖像采集系統(tǒng)。隨著計算機與網(wǎng)絡技術的飛速發(fā)展,普通PC 所使用的 USB 攝像頭由于價格低廉、容易安裝使用等優(yōu)點得到迅速普及。然而這種利用通用 PC 機來進行圖像采集的方式會隨之帶來體積大、成本高、無法嵌入對象內(nèi)部等顯著問題。如何將 USB 攝像頭應用于基于單片機的嵌入式系統(tǒng)中,構建出低成本、高性能的圖像采集系統(tǒng)越來越引起人們的廣泛關注。然而在 PC 上使用 USB 攝像頭時通常都需要安裝由其生產(chǎn)廠商提供的 Windows 操作系統(tǒng)下的專用驅動程序,想在單片機系統(tǒng)中直接應用非常困難。近年來由于網(wǎng)絡、通信、多

10、媒體技術的飛速發(fā)展,對高性能嵌入式 CPU 的需求十分迫切,為順應這種潮流,各種高速的 32 位嵌入式微處理器應運而生,使得嵌入式系統(tǒng)又進入了一個新的歷史發(fā)展階段。在嵌入式系統(tǒng)的高端應用中,進行多年技術準備的 ARM 公司適時推出了 32 位的 ARM 系列微處理器,以明顯的性能優(yōu)勢迅速奠定了其主流地位。在無線通信、網(wǎng)絡及消費類電子產(chǎn)品中 ARM都獲得了廣泛的應用。在流行的數(shù)字音頻播放器、數(shù)字機頂盒和游戲機中,都已經(jīng)從采用 DSP,轉而大量利用 ARM 技術來實現(xiàn)。一直以來普通 PC 所使用的USB 攝像頭要想在嵌入式系統(tǒng)中應用十分困難。但隨著嵌入式操作系統(tǒng)的廣泛成都理工大學 2013 屆本科

11、畢業(yè)設計(論文) 2應用,嵌入式系統(tǒng)與 PC 機上的開發(fā)技術漸漸融合,加上近年來中星微等免驅攝像頭芯片的推出,使得這個難題逐漸有了解決之道。由于 ARM 在嵌入式微處理器市場上的主導地位,所以本課題將研究如何把 USB 攝像頭應用到基于 ARM 的嵌入式系統(tǒng)中?;?ARM 和 Linux 操作系統(tǒng)的應用開發(fā)是近年來最為流行的一門新技術,被公認為是嵌入式系統(tǒng)的重要發(fā)展方向。本文基于 ARM Cortex A8 架構的 s5pc100 芯片強大而穩(wěn)定的性能,linux操作系統(tǒng)對 USB 的強大支持,結合 LCD 顯示屏構建圖像采集系統(tǒng),通過 USB攝像頭對圖像采集,經(jīng)由 ARM 處理器傳輸控制顯

12、示在顯示器上。成都理工大學 2013 屆本科畢業(yè)設計(論文) 3第 2 章 相關器件2.1 攝像頭攝像頭攝像頭(CAMERA)(CAMERA)又稱為電腦相機,電腦眼等,是一種視頻輸入設備,被廣泛的運用于視頻會議,遠程醫(yī)療及實時監(jiān)控等方面。攝像頭的工作原理大致為:景物通過鏡頭(LENS)生成的光學圖像投射到圖像傳感器表面上,然后轉為電信號,經(jīng)過 A/D2(模數(shù)轉換)轉換后變?yōu)閿?shù)字圖像信號,再送到數(shù)字信號處理芯片(DSP)中加工處理,再通過 USB 接口傳輸?shù)诫娔X中處理,通過顯示器就可以看到圖像了。如圖 1-1 所示:圖 1-1 攝像頭工作流程攝像頭可分為數(shù)字攝像頭和模擬攝像頭兩大類。數(shù)字攝像頭可

13、以將視頻采集設備產(chǎn)生的模擬視頻信號轉換成數(shù)字信號,進而將其儲存在計算機里。模擬攝像頭捕捉到的視頻信號必須經(jīng)過特定的視頻捕捉卡將模擬信號轉換成數(shù)字模式,并加以壓縮后才可以轉換到計算機上運用。數(shù)字攝像頭可以直接捕捉影像,然后通過串、并口或者 USB 接口傳到計算機里。雖然攝像頭看起來很簡單,但攝像頭從誕生以后不斷在進行著巨大變化,在此期間,PC 攝像頭共經(jīng)歷了三次行業(yè)革命性技術發(fā)展。1) 、USB1.1 接口攝像頭到 USB2.0 接口攝像頭的技術化變革從圖 1-1 看,同一臺 PC 上攝像頭的成像效果主要受到圖像傳感器、數(shù)字信號處理芯片和 USB 接口三個方面的影響。其中,USB 接口的帶寬可以

14、說是圖像傳感器和數(shù)字信號處理芯片無法逾越的瓶頸,如果不改進 USB 接口,其他內(nèi)部芯片的數(shù)據(jù)傳輸量就必然受到限制,所以,最先發(fā)起的攝像頭技術變革就是USB 接口的全面升級。成都理工大學 2013 屆本科畢業(yè)設計(論文) 4相比 USB1.1 接口快 40 倍傳輸速率的 USB2.0 接口,推動了高清數(shù)碼攝像頭的普及應用,加上同期寬帶的飛速發(fā)展,電腦攝像頭的本地和遠程視頻效果都有了大幅度提升。電腦攝像頭從 USB1.1 接口升級成 USB.20 接口,也成為了一次里程碑式的行業(yè)技術提升。2) 、需要驅動的攝像頭到免驅攝像頭的人性化變革自 USB2.0 接口攝像頭面世以來,電腦攝像頭從 10 萬硬

15、件像素飚升到 200萬硬件像素。此時,電腦攝像頭的芯片方案已經(jīng)超過了 100 多種!電腦攝像頭的芯片方案多達百種,導致驅動的重裝或者升級頻率給人們帶來極大的不便。2007 年 1 月,Windows VISTA 系統(tǒng)面世,除了炫麗的界面之外,它還包含了USB Video Class(簡稱 UVC)功能,其內(nèi)容為:電腦硬件不需要安裝驅動程序的情況下即插即用。正是在這種背景下,免驅攝像頭蓬勃發(fā)展。免驅攝像頭成為電腦攝像頭行業(yè)的第二次技術性革命,這次變革堪稱人性化變革。3) 、免驅攝像頭到 HD CAM 攝像頭的應用變革視頻捕獲能力是用戶最為關心的功能之一,很多廠家都聲稱能達到 30 幀/秒的視頻捕

16、獲能力,但實際使用時并不能盡如人意。視頻捕獲對電腦的要求比較高,如 CPU 的處理能力要足夠的快等。其次對畫面要求大小和清晰度的不同,捕獲能力也不盡相同。對于很多廠商宣傳的視頻捕獲速度,只是一種理論指標。用戶應根據(jù)自己的切實需要,選擇合適的產(chǎn)品以達到預期的效果。如今的電腦攝像頭已經(jīng)具備了免驅、高清等功能,但在實際應用中,消費者還是發(fā)現(xiàn)了許多技術問題:電腦攝像頭在室外只能看到白茫茫的一片,電腦攝像頭幀數(shù)過慢而產(chǎn)生模糊的現(xiàn)象,俗稱鬼影。為了滿足人們不斷提升的應用需求, 2008 年 12 月,藍色妖姬率先在電腦攝像頭行業(yè)發(fā)布擁有“速影技術 SpeedKing“的高清攝像頭HD CAM。在應用層面,

17、速影攝像頭HD CAM與普通攝像頭相比: 1成像速度提升 4 倍,由 30 幀升級到 120 幀; 2提供雙通道成像模式(室內(nèi)/戶外效果平衡,解決普通攝像頭戶外見光死問題)成都理工大學 2013 屆本科畢業(yè)設計(論文) 52.2 顯示器顯示器(displayer)通常也被稱為監(jiān)視器。顯示器是屬于電腦的 I/O 設備,即輸入輸出設備。它可以分為 CRT、LCD 等多種。它是一種將一定的電子文件通過特定的傳輸設備顯示到屏幕上再反射到人眼的顯示工具。最初的顯示器為機械式指示裝置。例如,老式電壓、電流測試器,它們使用指針指示電壓電流大小;發(fā)展到后來的電子顯示器件(如發(fā)光二極管、數(shù)碼管、熒光屏、液晶顯示

18、器等) 。機械式指示裝置類顯示器已經(jīng)逐漸退出了歷史,取而代之的是電子類顯示器,它們能夠直觀地反映給用戶所需求的信息(如發(fā)光二極管能夠用來指示一個電子產(chǎn)品是否正常工作等) 。電子類顯示器件可分為:陰極射線管(CRT)、發(fā)光二級管(LED Light Emitting Diode)、液晶顯示器(LCD Liquid Crystal Display )、等離子顯示板(PDP Plasma Display Panel) 、有機發(fā)光二極管(OLED Organic Light-Emitting Diode)。發(fā)光二極管(LED)屬于半導體器件,是主動發(fā)光器件。因為半導體易于在很小的晶片上集成大規(guī)模電路,

19、所以一個 LED 可以制造得很小,以至于LED 可以制成顯示屏,也可以作為燈使用;LED 使用的是冷光源技術,發(fā)熱量比普通的照明燈低很多;LED 耗電量相當?shù)?,一?LED 的工作電壓是 2.0-3.6V,工作電流 0.02-0.03A,即其耗能不超過 0.1W;同時 LED 的光源可以利用紅、綠、藍三基色原理,在計算機技術控制下使這三種顏色具有 256 級的灰度并且任意混合,即可以產(chǎn)生 25625625616777216 種顏色,形成不同的光色組合,可以實現(xiàn)豐富多彩的動態(tài)變化效果及各種色彩豐富的圖像。液晶顯示器(LCD)主要是由一種叫做液晶(液晶通常是固態(tài),溫度上升到清亮點而成為透明液態(tài)。其

20、在某個溫度范圍內(nèi)既有液體的流動性又有晶體的雙折射性。液晶是不同于通常的氣態(tài)、固態(tài)和液態(tài)。顯示原理:沒有加電時其內(nèi)部排列無規(guī)則,一旦上電,其將會按照一定的規(guī)則排列,隨著加電不同而排列規(guī)律改變。)的物質(zhì)組成。目前市面上的 LCD 液晶顯示器主要有兩類:DSTN(dua scan twisted nematic,雙掃描交錯液晶顯示)和 TFT(thin film transistor,薄膜晶體管顯示) ,也就是被動矩陣(無源矩陣)和主動矩陣(有源成都理工大學 2013 屆本科畢業(yè)設計(論文) 6矩陣)兩種。其中 DSTN 包括了扭曲向列型(TNTwisted Nematic) ;超扭曲向列型(STN

21、Super TN) ;雙層超扭曲向列型(DSTNDual Scan Tortuosity Nomograph) 。TNLCD、STNLCD 和 DSYNLCD 的基本顯示原理都相同,只是液晶分子的扭曲角度不同而已。STNLCD 的液晶分子扭曲角度為 180 度甚至 270 度。而 TFT 的液晶顯示器較為復雜,主要是由:螢光管、導光板、偏光板、濾光板、玻璃基板、配向膜、液晶材料、薄模式晶體管等等構成。首先,液晶顯示器必須先利用背光源,也就是螢光燈管投射出光源,這些光源會先經(jīng)過一個偏光板然后再經(jīng)過液晶。這時液晶分子的排列方式就會改變穿透液晶的光線角度,然后這些光線還必須經(jīng)過前方彩色的濾光膜與另一

22、塊偏光板。因此只要改變刺激液晶的電壓值就可以控制最后出現(xiàn)的光線強度與色彩,這樣就能在液晶面板上顯示出不同色調(diào)的顏色組合了。等離子顯示板(PDP Plasma Display Panel)采用等離子管作為發(fā)光元件,屏幕上的每一個等離子管對應了一個像素點,屏幕是以玻璃作為基板,基板間隔一定距離,四周經(jīng)過氣密性的封接形成了一個個的放電空間。放電空間內(nèi)充入氖、氙等混合惰性氣體作為工作媒質(zhì)。在兩塊玻璃基板內(nèi)側表面上涂有金屬氧化物導電薄膜用以作為激勵電極。當向電極加電壓時,放電空間內(nèi)的混合氣體會發(fā)生等離子體放電現(xiàn)象。氣體等離子體放電會產(chǎn)生紫外線,紫外線又會激發(fā)熒光屏,然后熒光屏發(fā)射出可見光,顯現(xiàn)出圖像。P

23、DP 的優(yōu)點:超寬的視角、純平面無失真、不受電磁干擾、亮度均勻、圖像清晰、全數(shù)碼顯示,但它的致命缺點耗電量相當大,因此發(fā)熱量也相當大。所以在很多場合不宜用 PDP。有機發(fā)光二極管(OLED)是指有機半導體材料和發(fā)光材料在電場驅動下,通過載流子注入和復合導致發(fā)光的現(xiàn)象。其原理是用 ITO 透明電極和金屬電極分別作為器件的陽極和陰極,在一定電壓驅動下,電子和空穴分別從陰極和陽極注入到電子和空穴傳輸層,電子和空穴分別經(jīng)過電子和空穴傳輸層遷移到發(fā)光層,并在發(fā)光層中相遇,形成激子并使發(fā)光分子激發(fā),后者經(jīng)過輻射弛豫而發(fā)出可見光。輻射光可從 ITO 一側觀察到,金屬電極膜也起了反射層作用。OLED 優(yōu)點:O

24、LED 可以自身發(fā)光、OLED 沒有視角范圍的限制,可視角度一般可達到 160 度、OLED 比 LED 更亮、OLED 制造起來更加容易,但是其壽命有限,而且制造難度大成本高,OLED 遇水會永久性的損壞。成都理工大學 2013 屆本科畢業(yè)設計(論文) 72.3 ARM 架構 ARM 是 Advanced RISC Machines 的縮寫,是嵌入式微處理器的一種。同時它還是一個公司的名字,成立于英國劍橋,主要出售 ARM 芯片設計技術授權。采用 ARM 知識產(chǎn)權 0P)核的微處理器都被稱為 ARM 處理器,如三星公司生產(chǎn)的S3C44BOX、$3C2410A,NXP 的 LPC 系列,以及

25、ATMEL、ST、Freescale 等公司推出的各種 ARM 處理器,適用于多種領域,比如嵌入控制、消費/教育類多媒體、DSP 和移動式應用等。ARM 芯片的特點是:1)、體積小、低功耗、低成本、高性能; 2)、支持 Thumb(16 位)/ARM(32 位)雙指令集,很好的兼容 8 位/16 位器件; 3)、大量使用寄存器,指令執(zhí)行速度更快; 4)、大多數(shù)數(shù)據(jù)操作都在寄存器中完成; 5)、尋址方式靈活簡單,執(zhí)行效率高; 6)、指令長度固定。ARM 微處理器的在較新的體系結構中支持兩種指令集:ARM 指令集和 Thumb指令集。其中,ARM 指令為 32 位的長度,Thumb 指令為 16

26、位長度。Thumb 指令集為 ARM 指令集的功能子集,但與等價的 ARM 代碼相比較,可節(jié)省 30%40%以上的存儲空間,同時具備 32 位代碼的所有優(yōu)點。ARM 架構包含了下述 RISC 特性:讀取/儲存 架構不支援地址不對齊內(nèi)存存?。ˋRMv6 內(nèi)核現(xiàn)已支援)正交指令集(任意存取指令可以任意的尋址方式存取數(shù)據(jù) Orthogonal instruction set)大量的 16 32-bit 寄存器陣列(register file)固定的 32 bits 操作碼(opcode)長度,降低編碼數(shù)量所產(chǎn)生的耗費,減輕解碼和流水線化的負擔。大多均為一個 CPU 周期執(zhí)行。為了補強這種簡單的設計方

27、式,相較于同時期的處理器如 Intel 80286 和 Motorola 68020,還多加了一些特殊設計:大部分指令可以條件式地執(zhí)行,降低在分支時產(chǎn)生的負重,彌補分支預測器成都理工大學 2013 屆本科畢業(yè)設計(論文) 8(branch predictor)的不足。算數(shù)指令只會在要求時更改條件編碼(condition code)32-bit 筒型位移器(barrel shifter)可用來執(zhí)行大部分的算數(shù)指令和尋址計算而不會損失效能強大的索引尋址模式(addressing mode)精簡但快速的雙優(yōu)先級中斷子系統(tǒng),具有可切換的暫存器組有個附加在ARM 設計中好玩的東西,就是使用一個 4-bi

28、t 條件編碼在每個指令前頭,表示每條指令的執(zhí)行是否為有條件式的,這大大的減低了在內(nèi)存存取指令時用到的編碼位。目前,有關 ARM 處理器應用較多的有 ARM7、ARM9、ARM9E、ARM10 及StrongARM 等系列。本文中選用的是 ARMv7-A 架構的 Cortex-A8 內(nèi)核的芯片。ARM Cortex-A8 處理器是第一款基于 ARMv7 架構的應用處理器,并且是有史以來 ARM 開發(fā)的性能最高、最具功率效率的處理器。 ARM Cortex-A8 處理器復雜的流水線架構基于雙對稱的,順序發(fā)射的,13 級流水線,帶有先進的動態(tài)分支預測,可實現(xiàn) 2.0 DMIPS/MHz。Cortex

29、-A8 處理器的速率可以在 600MHz 到超過1GHz 的范圍內(nèi)調(diào)節(jié),能夠滿足那些需要工作在 300mW 以下的功耗優(yōu)化的移動設備的要求;以及滿足那些需要 2000 Dhrystone MIPS 的性能優(yōu)化的消費類應用的要求。成都理工大學 2013 屆本科畢業(yè)設計(論文) 9第 3 章 總體設計3.1 功能需求 根據(jù)項目需求,要實現(xiàn)的圖像采集系統(tǒng)應該具有如下的功能:1.高性能: 設計是應盡量減少不必要的模塊以及算法,使系統(tǒng)在對硬件的 依賴性上做到盡力最低。 2.高可靠性:由于圖像采集系統(tǒng)會運用在各種環(huán)境下,又餓環(huán)境很惡劣,因 此需要系統(tǒng)具有高可靠性高穩(wěn)定性以及長期連續(xù)工作的能力。 3.實現(xiàn)對

30、采集現(xiàn)場的圖像實時采集。 4.實現(xiàn)將實時采集的圖像顯示在液晶顯示屏上。5.采集的圖像應該滿足后期圖像處理的需求。3.2 工作原理如圖 2-1 所示,在采集圖像時,首先光線會照射到被拍攝物體上,物體將光線反射到 USB 攝像頭中的 CMOS 傳感器,傳感器中的感光二極管接收到光照,產(chǎn)生模擬的電信號,經(jīng)過預中放電路放大、AGC 自動增益控制,于由圖像處理芯片處理的是數(shù)字信號,所以經(jīng)模數(shù)轉換到圖像數(shù)字信號處理 IC(DSP) 。同步信號發(fā)生器主要產(chǎn)生同步時鐘信號(由晶體振蕩電路來完成) ,即產(chǎn)生垂直和水平的掃描驅動信號,到圖像處理 IC。然后,經(jīng)數(shù)模轉換電路通過輸出端子輸出一個標準的復合視頻信號,按

31、照寄存器中的配置處理以后的圖像數(shù)據(jù)通過ARM 芯片將圖像格式轉換后控制存入內(nèi)存中緩沖,當采集完一幀數(shù)據(jù)后,處理器從緩沖數(shù)據(jù)中讀取數(shù)據(jù)然后通過顯示接口顯示到液晶顯示屏上。 被攝物體 USB 攝像頭成都理工大學 2013 屆本科畢業(yè)設計(論文) 10 圖 3-1 系統(tǒng)框圖3.3 軟硬件規(guī)劃3.3.1 硬件規(guī)劃硬件部分包括嵌入式處理器、圖像采集模塊、圖像顯示模塊。嵌入式處理器是整個嵌入式系統(tǒng)的核心部分。目前世界上的嵌入式處理器早已超過 1000 種,不同的處理器有各自不同的功能以及優(yōu)勢。低成本、低功耗、高性能是嵌入式應用的首要要求。ARM Cortex-A8 控制器是第一款基于 ARMv7架構的應用

32、處理器,并且是有史以來 ARM 開發(fā)的性能最高、最具功率效率的處理器。本文選擇三星公司生產(chǎn)的 s5pc100 芯片作為本項目的主控芯片。并且使用華清遠見所生產(chǎn)的 FS_s5pc100 開發(fā)板作為硬件平臺,本文忽略無用的模塊,模擬實現(xiàn)嵌入式最小系統(tǒng)。圖像采集方面,本文選擇的是 CMOS USB 攝像頭,選擇這類攝像頭的原因是USB 攝像頭成本低,極其易于購買,使用方便。CMOS 攝像頭可以直接輸出數(shù)字信號,方便對于圖像的采集以及處理,在短時間內(nèi)完成系統(tǒng)的功能設計。圖像顯示方面,選擇 LCD 液晶顯示屏,滿足顯示成本并且達到顯示要求。3.3.2 軟件規(guī)劃軟件是針對需求而編寫的適合用于本系統(tǒng)的專用程

33、序,本設計初步將其大體分為底層驅動程序以及頂層業(yè)務程序。本文中頂層軟件是基于 Linux 操作系統(tǒng)之來設計,用 Linux C 語言實現(xiàn)。首先,基于操作系的軟件開發(fā)更易于程序的研發(fā)設計。本文中,基于開發(fā)板的項目設計需要搭建嵌入式開發(fā)平臺,首先需要燒寫與開發(fā)板適合的 Bootloader 對開發(fā)板硬件進行初始化,然后就是嵌入式開發(fā)的核心:進行文件系統(tǒng)、LCD 以及 USB&攝像頭驅動的移植。對于 PC機開發(fā)環(huán)境,需要安裝嵌入式交叉編譯工具鏈。在此基礎之上設計頂層軟件。首先需要移植關于圖像操作的函數(shù)庫jlib,然后通過攝像頭驅動 v4l2 提供的ARM 處理器LCD 液晶顯示屏成都理工大學

34、 2013 屆本科畢業(yè)設計(論文) 11函數(shù)以及命令對攝像頭操作,包括圖像采集,對圖像的格式轉換,然后通過操作幀緩存進行圖像實時顯示控制。這樣設計,將硬件的初始化全部固定在底層驅動操作,在程序編寫時就無需設計硬件,不僅易于程序設計,而且很好的實現(xiàn)了層次隔離劃分,分工明確。第 4 章 硬件設計 4.1 開發(fā)板&主控芯片 s5pc10041.1 s5pc100 芯片介紹隨著 ARM 公司在 ARM 11 內(nèi)核架構基礎上,升級推出了第一代基于ARMv7 指令集的 Cortex-A8 內(nèi)核架構之后,三星也及時跟進推出了基于Cortex-A8 內(nèi)核架構的 S5PC100 型處理器。除了內(nèi)核架構更

35、為先進之外,三星S5PC100 也采用了更為先進的 65nm 工藝制程技術,核心主頻可達667MHz(最高可達 833MHz) 。如圖 4-1 是 s5pc100 架構圖解。S5PClO0 處理器采用 64 位內(nèi)部總線構架,包括強大的硬件加速器,如:動態(tài)視頻處理,顯示控制和縮放。支持多種格式的硬件編解碼 MPEFl24、H263H264、CV-1、D1vX。其硬件加速功能支持實時的視頻會議和模擬電視輸出,支持 NTSCDPAL 模式的 HDMI。提供了24bitLCD 接口、TVout 接口、Ca mera 輸入接口、4 路串口、SD 卡接口、SPI、1OOM 網(wǎng)口、USB2O 一 0TG 接

36、口,USBHost 接口、音頻輸入輸出接口、按鍵接口、12C 接口等硬件資源,具有更高的主頻和更豐富外設,能適用于對性能和處理能力有更高要求的嵌入式系統(tǒng)應用場合。UTS5PC100 專為消費類電子、工業(yè)控制、車載導航、行業(yè) PDA 等電子產(chǎn)品的開發(fā)而設計,主要供廣大企業(yè)用戶進行產(chǎn)品前期軟硬件性能評估驗證、設計參考用。成都理工大學 2013 屆本科畢業(yè)設計(論文) 12圖 4-1 S5PC100 結構圖如圖 4-2 所示是核心處理器 S5pc100 的電路圖:圖 4-2 S5PC100 芯片電路圖4.1.2 開發(fā)板簡介FS_S5PC100 開發(fā)平臺用三星公司先進的基于 Cortex-A8 內(nèi)核

37、S5PC100 處理器設計而成。如圖 4-2 所示,是開發(fā)板底板與核心板實物圖。如表 4-1 所示是開發(fā)板硬件列表。在本文中,只用到核心處理器,NAND Flash,串口,USB 接成都理工大學 2013 屆本科畢業(yè)設計(論文) 13口,LCD 50 針顯示輸出接口。圖 4-3 開發(fā)板實物圖表 4-1 開發(fā)板硬件列表 處理器 Samsung 公司的 S5pc100處理器 NAND Flash 256MB NAND Flash Nor Flash 2MB DDR2內(nèi)存 256MB 顯示輸出接口 LCD 接口、VGA 接口、TVout 接口、HDMI 接口 視頻輸入接口 Camera 接口 串口

38、2路5線串口、1路3線串口 SD 卡接口 支持大容量 SD 卡 SPI Flash 用于 SPI 實驗 溫度傳感器 基于 I2C 接口 電位器 用于模擬量輸入 4路 USB Host 1路 USB2.0-OTG 蜂鳴器 用于 PWM 實驗 100M 網(wǎng)絡接口 DM9000AE WIFI 接口 Marvell8686 AC97音頻接口 WM9714芯片 按鍵 6個按鍵 LED 4個 LED成都理工大學 2013 屆本科畢業(yè)設計(論文) 14 音頻功放接口 可直接驅動喇叭以下是每個模塊的電路圖:1)串口:(1) (2)圖 4-4 串口電路圖2)VGA 接口:(1)(2)圖 4-5 LCD 接口電路

39、3)USB 接口成都理工大學 2013 屆本科畢業(yè)設計(論文) 15圖 4-6 USB 接口電路圖4.2 圖像數(shù)據(jù)采集設備本文采用的圖像采集設備是普通家用 USB 攝像頭,如圖 4-7 所示為本文采用攝像頭實物圖。最高像素可達 100 萬。滿足本文研究圖像采集需求。圖 4-7 圖像采集設備實物圖4.3 顯示設備本文所用顯示設備為 AUO 的 A043FW02 液晶屏,4.3 寸,電阻觸摸屏。分辨率為:480*272,信號接口為:RGB|Paralle 。 圖 4-8 LCD 顯示屏 成都理工大學 2013 屆本科畢業(yè)設計(論文) 16第 5 章 軟件設計5.1 Linux & 開發(fā)環(huán)境

40、搭建5.1.1 Linux系統(tǒng)及Linux內(nèi)核簡介一個完整的系統(tǒng)主要 5 部分組成:硬件、Bootloader、操作系統(tǒng)內(nèi)核、操作系統(tǒng)服務和用戶應用程序,用戶應用程序是指那一個系統(tǒng)的組成些字處理程序、互聯(lián)網(wǎng)應用程序或其它用戶自行編制的各種應用程序;操作系統(tǒng)服務程序是指向用戶提供的系統(tǒng)調(diào)用等接口程序,Bootloader 主要完成硬件檢測和系統(tǒng)引導。操作系統(tǒng)內(nèi)核是操作系統(tǒng)的主要核心部分,是整個系統(tǒng)的靈魂。操作系統(tǒng)服務程序、操作系統(tǒng)內(nèi)核及 Bootloader 被看作是操作系統(tǒng)部分。Linux 內(nèi)核主要由進程調(diào)度模塊、內(nèi)存管理模塊、文件系統(tǒng)模塊、進程間通信模塊和網(wǎng)絡接口模塊 5 個模塊構成如圖 5

41、-1 所示。圖 5-1 Linux 內(nèi)核系統(tǒng)模塊結構及相互依賴關系Linux 是開放源代碼的,Linux 操作系統(tǒng)設計本身具有的不同平臺之間的可成都理工大學 2013 屆本科畢業(yè)設計(論文) 17移植性,而且所需的存儲空間也很小。Linux 內(nèi)核是 Linux 最底層、最核心的部分,Linux 操作系統(tǒng)就是在 Linux 內(nèi)核上發(fā)展壯大起來的,而內(nèi)核的移植則是任何嵌入式 Linux 開發(fā)中最關鍵部分。所有的內(nèi)核源程序都可以在usrsrclinux 下找到,大部分應用軟件也都是遵循 GPI,而設計,遍布全球的眾多 Linux愛好者又是 Linux 開發(fā)者的強大技術支持。5.1.2 Linux環(huán)境

42、搭建步驟概述1)從網(wǎng)絡上下載Linux源碼及ARM平臺上的補丁;2)給Linux內(nèi)核打補丁,使其源碼符合ARM的系統(tǒng)結構;3)對Linux內(nèi)核進行配置與裁減;4)建立交叉編譯環(huán)境;5)交叉編譯和鏈接;6)最后通過一些手段把生成的映象文件燒寫(安裝)到我們目標平臺中。5.1.3 Linux交叉編譯環(huán)境搭建由于嵌入式系統(tǒng)沒有足夠的內(nèi)存和存儲資源來編譯可執(zhí)行代碼,這要求建立好的交叉開發(fā)環(huán)境中進行交叉編譯和鏈接。交叉編譯環(huán)境就是在一個平臺上生 成另一個平臺的可執(zhí)行代碼,在同一個體系結構下可以運行不同的操作系統(tǒng)。 交叉編譯開發(fā)環(huán)境一般由宿主機、目標機和兩者之間通信信道組成。在開發(fā)過程一般使用 Intel

43、 公司 X86 系列 CPU 作為宿主機,而 ARM 微處理器作為目標機。目標板和宿主機之間的通信連接方式通??梢允褂么凇⒁蕴W(wǎng)接口、USB 接口以及 JTAG 接口等在宿主機上,可以安裝開發(fā)工具,編輯目標板的 Linux 引導程序、內(nèi)核和文件系統(tǒng),然后在目標機上運行。如圖 4-2 所示。 成都理工大學 2013 屆本科畢業(yè)設計(論文) 18圖5-2 交叉編譯開發(fā)環(huán)境模型 Linux內(nèi)核必須使用GNU的C編譯器gcc來編譯,而不是任何一種C編譯器都可以使用。gcc編譯器對標準C進行了必要的擴展,這使得它更適合開發(fā)操作系統(tǒng)內(nèi)核。Linux內(nèi)核與編譯器的關系非常緊密,甚至不同的內(nèi)核版本需要依賴于

44、特定的gcc編譯器。通常GNU工具以源代碼的方式發(fā)行,針對不同的硬件體系結構,GNU通過網(wǎng)絡向用戶提供相應的軟件開發(fā)包,開發(fā)者只需從ARM Linux的免費站點下載。 在.uk下載交叉編譯包,在相應目錄下解壓,并設置系統(tǒng)環(huán)境變量PATH,編輯/etc/profile,在其中export PATH前加入交叉編譯器路徑,然后在終端中執(zhí)行命令source etc/profile,這樣系統(tǒng)每次都能自己找到已經(jīng)設置好的交叉編譯器包的路徑,用戶就能直接使用arm -one-1inux-gnueabi-gcc命令了。5.1.4 NFS與TFTP服務器搭建網(wǎng)絡文件系統(tǒng) N

45、FS(NetworkFileSystem)最早是 SUN 開發(fā)的一種文件系統(tǒng),它允許一個系統(tǒng)在網(wǎng)絡上共享目錄和文件。在系統(tǒng)有了網(wǎng)絡以后,很多調(diào)試工作就能方便許多,NFS 的設計是為了在不同的系統(tǒng)問使用文件所以其通信協(xié)議的設計與主機及操作系統(tǒng)無關,當使用者想使用遠程文件時,只要使用掛載命(mount)就可把遠程文件系統(tǒng)掛載在自己的文件系統(tǒng)之下,這就使得系統(tǒng)對遠程文件的使用和本地文件沒有區(qū)別。Linux 系統(tǒng)支持 NFS,并且可以配置啟動 NFS 網(wǎng)絡服務。安裝 NFS 服務以centos 步驟為例:(1) 在線安裝NFS命令:yum install nfs-utils portmap成都理工大學

46、 2013 屆本科畢業(yè)設計(論文) 19(2) 配置NFS:vim etc/exports添加:/root/rootnfs Client_IP(rw,sync, no_root_squash) (3)設置NFS服務自啟動。(4)在NFS-Server上為mountd, rquotad, lockd配置固定的端口因為NFS會為以上三個服務分配臨時端口,所以很難在防火墻上控制要開放哪些端口。所以要將幾個端口固定住。(3) 啟動服務結果如圖4-3圖5-3 NFS服務啟動成功效果圖TFTP是一個傳輸文件的簡單協(xié)議,它基于UDP協(xié)議而實現(xiàn),但是我們也能確定有些TFTP協(xié)議是基于其它傳輸協(xié)議完成的。此協(xié)議

47、設計的時候是進行小文件傳輸?shù)?。因此它不具備通常的FTP的許多功能,它只能從文件服務器上獲得或寫入文件,不能列出目錄,不進行認證,它傳輸8位數(shù)據(jù)。傳輸中有三種模式:netascii,這是8位的ASCII碼形式,另一種是octet,這是8位源數(shù)據(jù)類型;最后一種mail已經(jīng)不再支持,它將返回的數(shù)據(jù)直接返回給用戶而不是保存為文件。為系統(tǒng)移植時傳輸文件搭建服務器。TFTP服務器搭建步驟:(1)在線安裝命令: yum install xinetd tftp tftp-server(2)修改配(3)重啟服務(4)測試:成都理工大學 2013 屆本科畢業(yè)設計(論文) 205.1.5 Bootloader移植在

48、嵌入式系統(tǒng)中,Bootloader 的作用與 PC 機上的 BIOS 類似,通過Bootloade 可以完成對系統(tǒng)板上的主要部件如 CPU、SDRAM、Flash、串行門等進行初始化,也可以下載文件到系統(tǒng)板上,對 Flash 進行擦除與編程。當運行操作系統(tǒng)時,它會在操作系統(tǒng)內(nèi)核運行之前運行,通過它,可以分配內(nèi)存空間的映射,從而將系統(tǒng)的軟硬件環(huán)境帶到一個合適的狀態(tài),以便為最終調(diào)用操作系統(tǒng)準備好正確的環(huán)境。通常,Bootloader 是依賴于硬件而實現(xiàn)的,特別是在嵌入式系統(tǒng)中。因此,在嵌入式系統(tǒng)里建立一個通用的 Bootloader 幾乎是不可能的,但是,仍然可以對 Bootloader 歸納出一

49、些通用的概念來。以指導用戶特定的 Bootloader 設計與實現(xiàn)。正確建立 Linux 移植的前提條件是具備一個與Linux 內(nèi)核配套的、易于使用的 Bootloader,它能夠正確完成硬件系統(tǒng)的初始化和 Linux 系統(tǒng)引導。ARM 處理器體系中,嵌入式 Linux 下常使用的 Bootloader 包括:BIob、vivi、U B00t、ARMb00t、RedBoot 等。本系統(tǒng)采用 uboot。然后,編譯Bootloader,在 uboot 目錄下配置系統(tǒng)相關的設置,執(zhí)行:make menuconfig,再執(zhí)行 make,就可以在當前目錄下生成 u-boot.bin。在初次燒寫 u-b

50、oot 時,系統(tǒng)利用 usb 線來燒錄,整個過程需要 5 分鐘左右。在以后的燒寫中,一般利用 uboot 本身來燒錄。設置好 tftp 服務器 ip,開發(fā)板 ip。利用 tftp 傳輸 u-boot.bin 文件到開發(fā)板。通過 nanderase 擦除,用 nandwrite 寫入便可更新uboot??梢蕴岣邿龑懙男省?.1.6 Linux內(nèi)核移植與配置(1)Linux2.6.35 內(nèi)核配置Linux 內(nèi)核的重要的特點是可移植性(Portability),支持大多數(shù)的硬件平臺,在大多數(shù)體系結構上都可以運行。Linux26 的內(nèi)核吸收了一些新技術,在性能、可量測性、支持和可用性方面不斷提高。本

51、系統(tǒng)移植的內(nèi)核為其中的一個版本 Linux2.6.35。從網(wǎng)站上可以下載內(nèi)核 linux2.6.35.tar.bz2 的源碼包,使用命令 tar xzvf linux2.6.35.tar.bz2 將內(nèi)核解壓縮到指定的目錄下。Linux 內(nèi)核源代碼是通過成都理工大學 2013 屆本科畢業(yè)設計(論文) 21Makefile 組織編譯的,進入該目錄,用 vi 編輯器打開 Makefile 文件,修改其中內(nèi)容:ARCH=arm 和 CROSS COMPILE=解壓目錄arm-none-linux-gnueabi-,ARCH 是指定此內(nèi)核的體系結構是 arm 類型,CROSSCOMPILE 指定交叉編譯

52、器的類型為 arm-none-linux-gnueabi-,這樣生成的映像文件就能在 ARM 上運行。在真正移植內(nèi)核到 ARM 平臺之前,還需要對內(nèi)核進行配置和移植相應的設備驅動程序。(2) Linux2.6.35 內(nèi)核配置編譯在眾多配置界面中 makexconfig 的界面最為友好,如果機器可以使用Xwindow,推薦使用這個命令,如果不能使用 Xwin-dow,那么就可以使用makemenueonfig。界面雖然比上面一個差點,總比 makeconfig 的要好多了。所有內(nèi)核配置菜單都是通過 config.h 經(jīng)由不同腳本解釋器產(chǎn)生.config,在內(nèi)核配置完成后就就會在當前目錄下產(chǎn)生一個

53、.config 的配置文件,當然也可以直接修改此文件來配置內(nèi)核。選擇相應的配置時,有三種選擇,它們分別代表的含義如下:Y為將該功能編譯進內(nèi)核;N為不將該功能編譯進內(nèi)核;M為將該功能編譯成可以在需要時動態(tài)插入到內(nèi)核中的模塊。在配置時,大部分選項可以使用其缺省值,只有小部分需要根據(jù)用戶不同需要選擇。選擇的原則是將與內(nèi)核其它部分關系較遠且不經(jīng)常使用的功能代碼編譯成為可加載模塊,以減小內(nèi)核的長度,減小內(nèi)核消耗的內(nèi)存,簡化該功能相應的環(huán)境改變時對內(nèi)核的影響;不需要的功能就不要選,與內(nèi)核點緊密且經(jīng)常使用的部分功能代碼直接編譯到內(nèi)核中。配置完畢后用make命令編譯內(nèi)核,內(nèi)核的編譯就是一個非常簡單的過程。執(zhí)行

54、:1)#make clean:這條命令是在正式編譯你的內(nèi)核之前先把環(huán)境給清理干凈,保證沒有不正確的依賴文件存在。2)#make dep:由于內(nèi)核源碼樹中的大多數(shù)文件都與一些頭文件有依賴關系,因此要將內(nèi)核源碼樹中每個子目錄產(chǎn)生的“depend”文件建立起依賴關系。成都理工大學 2013 屆本科畢業(yè)設計(論文) 223)#make zlmage:建立壓縮的linux內(nèi)核映像。編譯完畢,在archarmboot目錄下將會生成ARMLinux內(nèi)核映像文件zlmage,這就是將要移植到目標機的內(nèi)核映像文件4)#make modules:這條命令是編譯在配置時選擇為模塊的,即選項前為M的。如果內(nèi)核配置選項

55、中有選擇編譯為模塊的,就需要此命令。如果將來還要對內(nèi)核重新進行編譯,則需執(zhí)行命令“makedistclean”,去除依賴關系并清除以前編譯產(chǎn)生的文件,然后重復上述步驟即可。內(nèi)核映像分為壓縮的內(nèi)核映像和未壓縮的內(nèi)核映像,壓縮的內(nèi)核映像通常名為zlmage,位于archarmboot目錄中。而未壓縮的內(nèi)核映像通常名為vmlinux,位于源碼樹的根目錄中。把這個映像文件下載到開發(fā)板中,開發(fā)板提供了一套比較完整的通用系統(tǒng)的外圍設備,配置bootloader的啟動參數(shù)就能運行起來linux2.6.35的內(nèi)核。5.1.7 Linux文件系統(tǒng)(1)文件系統(tǒng)簡述文件系統(tǒng)是操作系統(tǒng)用于明確磁盤或分區(qū)上的文件的方

56、法和數(shù)據(jù)結構;即在磁盤上組織文件的方法。也指用于存儲文件的磁盤或分區(qū),或文件系統(tǒng)種類。操作系統(tǒng)中負責管理和存儲文件信息的軟件機構稱為文件管理系統(tǒng),簡稱文件系統(tǒng)。文件系統(tǒng)由三部分組成:與文件管理有關軟件、被管理文件以及實施文件管理所需數(shù)據(jù)結構。從系統(tǒng)角度來看,文件系統(tǒng)是對文件存儲器空間進行組織和分配,負責文件存儲并對存入的文件進行保護和檢索的系統(tǒng)。具體地說,它負責為用戶建立文件,存入、讀出、修改、轉儲文件,控制文件的存取,當用戶不再使用時撤銷文件等。Linux的文件結構是單個的樹狀結構.可以用tree進行展示。 在Ubuntu下安裝tree(sudo apt-get install tree),

57、并可通過命令來查看。成都理工大學 2013 屆本科畢業(yè)設計(論文) 23圖5-4 目錄分區(qū)示例(2) 文件系統(tǒng)制作1)創(chuàng)建根文件目錄進入到/opt/studyarm 目錄,新建建立根文件系統(tǒng)目錄的腳本文件create_rootfs_bash ,使用命令chmod +x create_rootfs_bash 改變文件的可執(zhí)行權限,./create_rootfs_bash 運行腳本,就完成了根文件系統(tǒng)目錄的創(chuàng)建。i.建立動態(tài)鏈接庫 動態(tài)鏈接庫直接用友善之臂的,先解壓友善之臂的根文件包,拷貝lib 的內(nèi)容到新建的根文件目錄lib 內(nèi)。ii.交叉編譯BosyboxBosybox 是一個遵循GPL v2

58、協(xié)議的開源項目,它在編寫過程總對文件大小進行優(yōu)化,并考慮了系統(tǒng)資源有限( 比如內(nèi)存等) 的情況,使用 Busybox 可以自動生成根文件系統(tǒng)所需的bin、sbin 、usr目錄和linuxrc 文件。 2)安裝mkfs.jffs2的工具。i.安裝MTD工具:本文使用的是mtd-snapshot-20050519.tar.bz2:ii.安裝zlib庫iii.制作JFFS2文件鏡像成都理工大學 2013 屆本科畢業(yè)設計(論文) 24mkfs.jffs2 -r /source/rootfs -o rootfs.jffs2 -e 0 x4000 -pad=0 x800000 n這樣就會生成一個8M大小

59、的rootfs.jffs2的鏡像,它也正是JFFS2文件系統(tǒng)的鏡像,關于這個命令行里的選項的內(nèi)容,可以用man a mkfs.jffs2命令來查看內(nèi)容。將rootfs文件拷貝到NFS工作目錄中。開發(fā)板上設置啟動參數(shù)掛載文件系統(tǒng)。將rootfs.jffs2文件下載到開發(fā)板,固化之后。修改啟動參數(shù)便可。5.2 linux 設備驅動移植5.2.1 基礎知識驅動硬件是操作系統(tǒng)最基本的功能,它為應用程序提供了統(tǒng)一的方式來訪問各種硬件設備。設備驅動程序為用戶屏蔽了各種各樣的硬件設備,是內(nèi)核的一部分,是操作系統(tǒng)最基本的組成部分,比如在 Linux 的內(nèi)核源程序中設備驅動程序就占 60以上。因此熟悉驅動的編寫

60、是很重要的。Linux 有兩種使用設備驅動程序的方式,分別是直接編譯到內(nèi)核中或在運行時加載(也就是內(nèi)核模塊。操作系統(tǒng)是通過各種驅動程序來駕馭硬件設備的。 本文中系統(tǒng)功能并不繁瑣,采用將驅動直接編譯進內(nèi)核的方式,直接將硬件驅動程序寫入內(nèi)核的優(yōu)點是用戶可隨時對它進行調(diào)用而無須安裝,大大簡化了操作。眾所周知,Linux 把內(nèi)存分為“內(nèi)核空間”和“用戶空間。操作系統(tǒng)內(nèi)核和驅動程序在內(nèi)核空間運行,可以訪問內(nèi)核空間,也可通過系統(tǒng)調(diào)用訪問用戶空間。而用戶程序在用戶空間中運行,只能訪問自己的用戶空間,對內(nèi)核空間的訪問具有嚴格的限制。內(nèi)核模塊 module,簡單地說就是提供了某一項功能的程序段,這種程序段可以按需要隨時裝入內(nèi)核空間和從內(nèi)核空間卸載

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論