嵌入式Linux系統(tǒng)設(shè)計與開發(fā)
單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,*,嵌入式Linux系統(tǒng)設(shè)計與開發(fā),祖校鋒,主要內(nèi)容,嵌入式系統(tǒng)與嵌入式,Linux,嵌入式,Linux,開發(fā)平臺,1.1 嵌入式系統(tǒng),嵌入式計算機(jī)系統(tǒng)的定義:,以應(yīng)用為中心,以計算機(jī)技術(shù)為基礎(chǔ),軟件硬件可裁剪,復(fù)合應(yīng)用系統(tǒng)對功能、可靠性、成本、體積、功耗的嚴(yán)格要求的專用計算機(jī)系統(tǒng)。,嵌入式系統(tǒng)與嵌入式Linux,嵌入式系統(tǒng)分類,按表現(xiàn)形式分(硬件范疇),芯片級嵌入(含程序或算法的處理器),模塊級嵌入(系統(tǒng)中的某個核心模塊),系統(tǒng)級嵌入,按實(shí)時性要求分(軟件范疇),非實(shí)時系統(tǒng)(,PDA,),軟實(shí)時系統(tǒng)(消費(fèi)類產(chǎn)品),硬實(shí)時系統(tǒng) (制導(dǎo)系統(tǒng)等),嵌入式系統(tǒng)的應(yīng)用前景,美國著名未來學(xué)家尼葛洛龐帝,1999,年,1,月訪華時預(yù)言:,4,5,年后,嵌入式智能產(chǎn)品將是繼,PC,和因特網(wǎng)之后,最偉大的發(fā)明,。,美國汽車大王福特公司的高級經(jīng)理也曾宣稱:,福特出售的“計算能力”已經(jīng)超過了,IBM,。,1997,年美國嵌入式系統(tǒng)大會的報告預(yù)測:,未來,5,年,基于嵌入式計算機(jī)系統(tǒng)的全數(shù)字電視產(chǎn)品,就將在美國產(chǎn)生一個每年,1500,億美元,的新市場。,1.1.2 嵌入式產(chǎn)品分類,信息電器,包括電視機(jī)、電冰箱、微波爐、電話等等。,移動計算設(shè)備,包括手機(jī)、,PDA,、掌上電腦等各種移動設(shè)備。,網(wǎng)絡(luò)設(shè)備,包括路由器、交換機(jī)、,Web server,、網(wǎng)絡(luò)接入盒(卡)等各種網(wǎng)絡(luò)設(shè)備。,工控、仿真等,1.1.3 嵌入式系統(tǒng)的特點(diǎn),嵌入式系統(tǒng)的產(chǎn)品特征,它是,面向用戶產(chǎn)品和應(yīng)用的系統(tǒng);,完成目標(biāo)功能的最小系統(tǒng);,處理器功耗、體積、成本、可靠性、速度、處理能力、電磁兼容性等方面都受應(yīng)用制約的系統(tǒng);,高可靠性和高實(shí)時性的系統(tǒng);,與具體產(chǎn)品緊密結(jié)合的系統(tǒng)。,嵌入式系統(tǒng)軟件的特征,軟件要求固化存儲;,軟件代碼高質(zhì)量和高可靠性;,系統(tǒng)軟件(,OS,)很多情況情況下要求具有實(shí)時處理能力;,多任務(wù)實(shí)時操作系統(tǒng)是工業(yè)標(biāo)準(zhǔn)化的必然要求。,嵌入式系統(tǒng)開發(fā)需要的開發(fā)工具和環(huán)境,一般是基于通用計算機(jī)的軟硬件設(shè)備、各種邏輯分析儀和混合信號示波器等。,嵌入式系統(tǒng)軟件需要(,EOS,)開發(fā)平臺,嵌入式系統(tǒng)中,應(yīng)用軟件可以沒有操作系統(tǒng)而直接在芯片上運(yùn)行。,但是,目前嵌入式應(yīng)用已不僅僅局限于原來僅面對系統(tǒng)級的需求,還需要面對用戶級的應(yīng)用,尤其是消費(fèi)電子產(chǎn)品的需求。傳統(tǒng)的使用循環(huán)控制的嵌入式系統(tǒng)無法將系統(tǒng)軟件和和應(yīng)用軟件分開處理,每次開發(fā)都要重新定制系統(tǒng)軟件和應(yīng)用軟件,代價大,成本高,已不能滿足需求。,為了合理調(diào)度多任務(wù),充分利用系統(tǒng)資源系統(tǒng)函數(shù)及專家函數(shù)接口,減少開發(fā)代價,必須選用短小精悍、易定制、易移植的嵌入式操作系統(tǒng)開發(fā)平臺,從而保證系統(tǒng)執(zhí)行的實(shí)時性和可靠性,并大大減少開發(fā)時間。,1.2 嵌入式操作系統(tǒng),嵌入式操作系統(tǒng)大多工作在實(shí)時性要求很高的環(huán)境中,這樣的操作系統(tǒng)稱為實(shí)時多任務(wù)操作系統(tǒng)(,RTOS,)。,實(shí)時多任務(wù)操作系統(tǒng)(,RTOS,)定義:,一個能夠在指定或者確定的時間內(nèi),完成系統(tǒng)功能和對外部或內(nèi)部、同步或異步事件作出響應(yīng)的系統(tǒng)。,硬件(hardware),硬件抽象層(Hardware Abstraction Layer),I/O管理,文件系統(tǒng),驅(qū)動程序,驅(qū) 動 程 序 編 程 接 口,RTOS核心,系統(tǒng)API,內(nèi)存管理模塊,網(wǎng)絡(luò)模塊,圖形驅(qū)動函數(shù)庫,RTOS體系結(jié)構(gòu)圖,常用,RTOS,簡介,VRTX,(,Microtec,Research,),世界上第一個商業(yè)嵌入式實(shí)時內(nèi)核,市場占有率前五名。,Tornado,Vxworks,(Wind River Systems,,,inc.),美國市場占有率第一名,火星探測器采用該操作系統(tǒng)。,QNX(QNX Software Systems LTD),x86,上最好的嵌入式實(shí)時操作系統(tǒng),同時支持,PowerPC,,,ARM,,,MIPS,等處理器芯片。,LynxOS(Lynx,Real-Time systems),老牌嵌入式實(shí)時操作系統(tǒng),市場占有率前十名。,WinCE(Microsoft,INC.),微軟出品,嵌入但不夠?qū)崟r,屬于軟實(shí)時系統(tǒng)。,pSOSytem(Integrated,Systems INC.),老資格的實(shí)時操作系統(tǒng),中國市場占有率第一名。,嵌入式,LINUX,(完全免費(fèi)的操作系統(tǒng)),既有軟實(shí)時系統(tǒng)又有硬實(shí)時系統(tǒng)。,1.3 嵌入式Linux操作系統(tǒng),Linux,操作系統(tǒng),正式的,Linux 1.0,于,1994,年,3,月誕生于芬蘭赫爾辛基大學(xué)的天才大學(xué)生,Linus,手中?,F(xiàn)在,,Linux,已成為當(dāng)前最流行的免費(fèi)操作系統(tǒng)。只要遵守,GPL,(,GNU,通用公共許可證),任何人都可以自由使用,Linux,的源程序。,Linux,操作系統(tǒng)的特征,符合國際通用標(biāo)準(zhǔn);,強(qiáng)大的兼容性;,先進(jìn)的網(wǎng)絡(luò)特征;,擁有真正的多用戶、多任務(wù)能力;,具有動態(tài)連接能力;,系統(tǒng)性能十分穩(wěn)定;,可移植性強(qiáng),非常靈活。,Linux,操作系統(tǒng)的發(fā)展情況及前景,Linux,操作系統(tǒng)發(fā)展至今,已經(jīng)成為具有全部,UNIX,特性的,POSIX,兼容的操作系統(tǒng),能夠與各種傳統(tǒng)的商業(yè)操作系統(tǒng)分庭抗禮。,據(jù),1999,年,IOS,統(tǒng)計,,Linux,占有全球,Web,服務(wù)器總數(shù)的,28,,名列第一。,據(jù),2000,年,IDC,統(tǒng)計,,Linux,在服務(wù)器操作系統(tǒng)市場中占,25,。,嵌入式Linux系統(tǒng)簡介,嵌入式,Linux,系統(tǒng)的特點(diǎn),開放源碼,豐富的軟件資源;,功能強(qiáng)大的內(nèi)核,性能高效、穩(wěn)定、多任務(wù);,支持多種體系結(jié)構(gòu);,完善的網(wǎng)絡(luò)通訊、圖形和文件管理機(jī)制;,支持大量的周邊硬件設(shè)備,驅(qū)動豐富;,大小功能都可定制,可裁剪的內(nèi)核不過,500k,。,常見嵌入式,Linux,操作系統(tǒng),RT,Linux,美國新墨西哥理工學(xué)院開發(fā)的嵌入式硬實(shí)時操作系統(tǒng)。它將標(biāo)準(zhǔn),Linux,核心作為其實(shí)時內(nèi)核的一個進(jìn)程同實(shí)時進(jìn)程一起調(diào)度,從而在改動最小的情況校充分利用了,Linux,下現(xiàn)有的資源。,ucLinux,ucLinux,是針對微控制領(lǐng)域而設(shè)計的,Linux,系統(tǒng),其最大特征就是沒有,MMU,(內(nèi)存管理單元模塊)。,ucLinux,包含,Linux,常用的,API,和小于,512k,的內(nèi)核及相關(guān)的工具,,900k,左右。,Embedix,嵌入式,Linux,行業(yè)主要廠商,Lineo,推出,最小需要,8M,內(nèi)存,,3M ROM,或者,FLASH,,提供了超過,25,種的,Linux,系統(tǒng)服務(wù),是一種較完整的嵌入式,Linux,解決方案。,XLinux,美國網(wǎng)虎公司推出,主要開發(fā)者陳盈豪,核心僅,143k,,而且還在不斷減小中,號稱世界上最小的嵌入式,Linux,系統(tǒng)。其核心采用了“超字元集”的專利技術(shù),與標(biāo)準(zhǔn)字符集兼容的同時還覆蓋了,12,個國家和地區(qū)的字符集,在國際化方面具有得天獨(dú)厚的優(yōu)勢。,KURT,Linux,該,OS,是為多媒體應(yīng)用和,ATM,網(wǎng)絡(luò)應(yīng)用設(shè)計的“嚴(yán)格”的實(shí)時系統(tǒng)。,Why,嵌入式,Linux,2000,年,9,月份的調(diào)查如下圖所示。截至,2001,年,7,月,已經(jīng)使用或?qū)⒁褂们度胧?Linux,的用戶已達(dá),88.6%,。,未來24個月嵌入式嵌入式操作系統(tǒng)應(yīng)用的調(diào)查(2000.9),1.3.2 ucLinux簡介,ucLinx,的優(yōu)勢,ucLinux,是,Linux2.0,的一個分支,其最大特征就是沒有,MMU,(內(nèi)存管理單元模塊)。,全球每年生產(chǎn)的,CPU,的數(shù)量在二十億顆左右,超過,80%,應(yīng)用于專用性很強(qiáng)的各類嵌入式系統(tǒng)。其中又有相當(dāng)一部分面向低端市場。為降低硬件成本及運(yùn)行功耗,有一類,CPU,在設(shè)計中取消了內(nèi)存管理單元(,Memory Management Unit,,簡稱,MMU,)功能模塊。如,Motorola,公司的,M6K,系列,龍珠系列,冷火系列,,ARM7TDMI,系列,等等。,ucLinux,的特點(diǎn),如前所述,,ucLinux,的最大特征就是沒有,MMU,。,標(biāo)準(zhǔn),Linux,使用虛擬存儲系統(tǒng),這種技術(shù)用于提供比實(shí)際的物理內(nèi)存大得多的內(nèi)存空間,使得使用者在編寫程序程序時可以完全不考慮內(nèi)存空間的大小問題,從而帶來了極大的方便。與此同時,內(nèi)存管理活動也占用了寶貴的,CPU,時間(比較忙的系統(tǒng)中大約,10,左右)。,ucLinux,取消了,MMU,,直接存取內(nèi)存,雖然增大了進(jìn)程管理的難度,對程序員提出了更高的要求,但同時也極大地增加了開發(fā)者的權(quán)利。畢竟,節(jié)省硬件的成本才是最重要的。再者,對于低端產(chǎn)品來講,只要實(shí)現(xiàn)特定的功能,內(nèi)存管理要求完全可由開發(fā)人員考慮。,ucLinux,的進(jìn)程管理,fork(),,,vfork,(),,,exec(),,,exit(),,,copy-on-write,ucLinux,繼承了標(biāo)準(zhǔn),Linux,的特性,提供了對網(wǎng)絡(luò)的強(qiáng)大支持,具有完整的,TCP/IP,協(xié)議棧,并對外其他一些協(xié)議提供支持,是一個相當(dāng)優(yōu)秀的嵌入式網(wǎng)絡(luò)操作系統(tǒng)。,ucLinux,支持多種文件系統(tǒng),包括最常用的,NFS,(網(wǎng)絡(luò)文件系統(tǒng)),,ext2,(第二文件擴(kuò)展系統(tǒng),,Linux,的一種標(biāo)準(zhǔn)文件系統(tǒng)),,romfs,文件系統(tǒng),,MS-DOS,,,FAT16,32,等。,嵌入式Linux開發(fā)平臺,硬將平臺的組成,嵌入式處理器,分為嵌入式微控制器(,MCU,),嵌入式微處理器(,MPU,),嵌入式,DSP,和,SoC,(,System on Chip,);,存儲設(shè)備,分為,ROM,和,RAM,兩類;,外圍設(shè)備,包括網(wǎng)絡(luò)設(shè)備,輸入設(shè)備和顯示設(shè)備。,2.1 硬件平臺,2.1.1 S3C4510B芯片簡介,S3C4510B,是三星公司出品的一塊用在基于以太網(wǎng)系統(tǒng)的高性價、比高性能的,7TDMI,構(gòu)架的,16/32,位,RISC,微控制器。,S3C4510B框圖,S3C4510B,的特性如下:,體系結(jié)構(gòu),用于嵌入式以太網(wǎng)應(yīng)用的集成系統(tǒng);,全,16,32,位,RISC,結(jié)構(gòu);,支持小端大端模式;,ARM7TDMI,內(nèi)核;,高性價比且基于,JTAG,的調(diào)試解決方案;,邊界掃描。,系統(tǒng)管理,8,16,32,位外部總線支持各種存儲芯片和外部,I/O,;,帶總線請求應(yīng)打引腳的外部總線主控制器;,可編程訪問周期(,0,7,個等待周期);,4,字深的寫緩沖;,存儲器到外圍的,DMA,接口。,一體的指令數(shù)據(jù),Cache,2,路相聯(lián)一體;,支持,LRU,(近期最少使用)替換算法;,可配置。,I2C,串行口,僅主控模式工作。,Ethernet,控制器,突發(fā)模式的,DMA,引擎;,100,10Mgongzuosulv;,DMA,發(fā)送接收緩沖區(qū)(,256,256K,);,MAC,發(fā)送接收,FIFO,緩沖區(qū)(,80,10,字節(jié));,完全兼容,IEEE802.3;,帶,PAUSE,的全雙工模式;,長短包模式;,端變換。,HDLC,10M,工作速率;,Modem,接口;,每個,HDLC,有,2,通道,DMA,緩沖描述符用于發(fā)送接收。,DMA,控制器,4,種數(shù)據(jù)突發(fā)方式;,UART,基于,DMA,或者中斷工作的,2,個,UART,模塊;,支持,5,,,6,,,7,或者,8,位的串行數(shù)據(jù)接收發(fā)送;,可編程波特率;,支持紅外發(fā)送接收。,定時器,2,個可編程,32,位定時器;,間隔觸發(fā)模式工作。,可編程,I/O,口,18,個;,輸入輸出專用信號模式;,中斷控制器,21,個中斷源(,4,個外部);,正常快中斷模式,(IRQ/FIQ),;,基于優(yōu)先級。,PLL,外部時鐘可由片內(nèi),PLL,加倍以提供高頻系統(tǒng)時鐘;,10,40MHz,;,輸出頻率位,5,倍輸入時鐘。,三星,NET,Start,!開發(fā)套件簡介,該開發(fā)套件是三星公司為嵌入式網(wǎng)絡(luò)應(yīng)用量身訂做的一塊評估板,使用三星公司出品的網(wǎng)絡(luò)控制芯片,S3C4510B,。,2.1.2 NET-Start!評估板,評估板布局,評估板框圖,硬件平臺連接圖,2.2 軟件系統(tǒng),嵌入式系統(tǒng)的軟件組成,Bootloader,,分為主機(jī)端和目標(biāo)端兩個部分,主要作用包括:,初始化處理器