畢業(yè)設(shè)計(jì)(論文)基于Linux的嵌入式操作系統(tǒng)研究_第1頁(yè)
畢業(yè)設(shè)計(jì)(論文)基于Linux的嵌入式操作系統(tǒng)研究_第2頁(yè)
畢業(yè)設(shè)計(jì)(論文)基于Linux的嵌入式操作系統(tǒng)研究_第3頁(yè)
畢業(yè)設(shè)計(jì)(論文)基于Linux的嵌入式操作系統(tǒng)研究_第4頁(yè)
畢業(yè)設(shè)計(jì)(論文)基于Linux的嵌入式操作系統(tǒng)研究_第5頁(yè)
已閱讀5頁(yè),還剩66頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、摘 要在以計(jì)算機(jī)技術(shù)、通訊技術(shù)相結(jié)合的信息時(shí)代的快速發(fā)展和互聯(lián)網(wǎng)的廣泛應(yīng)用的形勢(shì)下,3c(computer、communication、consumer)合一的趨勢(shì)已經(jīng)形成,其結(jié)果必然就是將計(jì)算機(jī)工業(yè)的中心從計(jì)算產(chǎn)品轉(zhuǎn)移到信息產(chǎn)品,從而出現(xiàn)信息電器的概念。在信息電器的應(yīng)用開(kāi)發(fā)領(lǐng)域,由于需要的功能不斷的增加,嵌入式系統(tǒng)也就將成為軟件業(yè)的新寵兒。同時(shí)在計(jì)算機(jī)本身的領(lǐng)域里面,微型化和專業(yè)化成為了發(fā)展的新趨勢(shì),同樣也需要嵌入式系統(tǒng)的支持。因此,研究與嵌入式系統(tǒng)有關(guān)的關(guān)鍵技術(shù)嵌入式操作系統(tǒng)有著相當(dāng)重要的實(shí)際意義。本論文詳細(xì)論述了作者在學(xué)士學(xué)位論文工作期間在基于linux的嵌入式操作系統(tǒng)研究工作領(lǐng)域里所做

2、的研究和實(shí)踐,主要圍繞著論證使用linux改造成符合嵌入式操作系統(tǒng)條件的幾點(diǎn)要求展開(kāi)討論。首先,我對(duì)嵌入式系統(tǒng)的概念和信息電器的概念做出表述,并且說(shuō)明linux的特點(diǎn)、發(fā)展?fàn)顩r河開(kāi)發(fā)環(huán)境。緊接著,分三個(gè)方面論述使用linux進(jìn)行嵌入式系統(tǒng)開(kāi)發(fā)的便利,包括linux的實(shí)時(shí)變種rtlinux的原理、實(shí)現(xiàn)方案和編程方法;linux網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)程序的分析和利用到嵌入式系統(tǒng)中的方案;實(shí)現(xiàn)linux和rt linux的內(nèi)核在線調(diào)試環(huán)境的途徑。其中還講到了如何利用現(xiàn)有的工作設(shè)計(jì)出一個(gè)嵌入式linux系統(tǒng)。最后,針對(duì)現(xiàn)有的工作,提出進(jìn)一步開(kāi)發(fā)出完整的、具有市場(chǎng)競(jìng)爭(zhēng)力的產(chǎn)品提出開(kāi)發(fā)展望。關(guān)鍵詞:嵌入式系統(tǒng),li

3、nux,信息電器,rtos,rt linux,linux網(wǎng)絡(luò)驅(qū)動(dòng)程序,在線調(diào)試環(huán)境abstractwith the development of computer technology and communication technology in information times and the board application of internet, it is clear that 3c (computer, communication and consumer) will converge in the near future which will lead the focus

4、of computer industry from the compute product to information product. it is the concept of information appliance. in the application and development field of information appliance, embedded operating system will be the most favorite thing in software development field. at the same time, in the field

5、 of computer science itself, the micromation and specialization is the new direction of the computer world. it also want the support of embedded system. so, the research of the key technique of embedded systemembedded operating system is the most important thing.this thesis presents the authors work

6、 in research of the linux-based embedded operating system for his bachelor degree. most of the thesis focus the requirement of transforming linux to embedded system. firstly, it describes the concepts of embedded system and information appliance, and presents the characteristic and development envir

7、onment of linux. then describe three aspects of the key techniques of using linux as the development tools of embedded system including the real-time variant of linuxrt linux and its principle, implementation and the programming; the network coding in linux kernel and the analysis of linux network d

8、evice drivers and the online debug environment of linux kernel and rtlinux kernel. i have also involved the implementation of embed linux/rtlinux in a floppy to simulate the embedded environment. in the last part of this thesis, i give the suggestions and prospect of the development of a mature embe

9、dded system which have the most competition ability in china market base on the current work.keyword: embedded operating system, linux, information appliance, rtos, rt linux, linux network device drivers, online kernel debug environment目 錄摘 要1abstract2目 錄3第一章 緒論61.1 嵌入式系統(tǒng)的歷史、現(xiàn)在和未來(lái)61.2 信息電器的概念71.3 國(guó)內(nèi)

10、外嵌入式系統(tǒng)的相關(guān)產(chǎn)品、水平、現(xiàn)狀和技術(shù)發(fā)展趨勢(shì)81.3.1 國(guó)際上相關(guān)產(chǎn)品、水平、現(xiàn)狀和技術(shù)發(fā)展趨勢(shì)。81.3.2 國(guó)內(nèi)相關(guān)產(chǎn)品、水平、現(xiàn)狀和技術(shù)發(fā)展趨勢(shì)。101.4 linux的歷史和現(xiàn)狀121.5 論文的組織介紹14第二章 嵌入式系統(tǒng)的特點(diǎn)162.1 嵌入式處理器的要求162.2 rtos的要求172.2.1 rtos的概念172.2.2 rtos的分類方法182.2.3 rtos的體系結(jié)構(gòu)182.2.4 rtos的衡量標(biāo)準(zhǔn)202.3 網(wǎng)絡(luò)要求202.4 用戶交互環(huán)境界面202.5 小結(jié)21第三章 采用linux作為嵌入式系統(tǒng)開(kāi)發(fā)的原因223.1 嵌入式處理器支持223.2 實(shí)時(shí)支持22

11、3.3 網(wǎng)絡(luò)支持233.4 gui開(kāi)發(fā)支持243.4.1 利用x windows的便利243.4.2 利用svgalib和pthread函數(shù)庫(kù)253.5 小結(jié)26第四章 實(shí)時(shí)linux274.1 實(shí)時(shí)linux(rtlinux)介紹274.2 rtlinux特征284.2.1 小而精巧的實(shí)時(shí)內(nèi)核284.2.2 模塊化的設(shè)計(jì)方案284.2.3 和linux內(nèi)核的結(jié)合2 利用linux內(nèi)核的好處2 和linux進(jìn)行通信的方法294.3 rtlinux的實(shí)現(xiàn)機(jī)理304.4 rtlinux的編程接口(api)314.5 rtlinux的編程方法示例324.5.1 需要用

12、到的api函數(shù):3 任務(wù)生成和調(diào)度函數(shù)3 時(shí)間控制函數(shù)3 fifo控制函數(shù)334.5.2 程序原理344.5.3 程序?qū)崿F(xiàn)3 實(shí)時(shí)部分代碼3 非實(shí)時(shí)部分3 公用頭文件394.5.4 程序執(zhí)行結(jié)果394.6 嵌入式rtlinux的設(shè)計(jì)404.6.1 將rtlinux嵌入eprom中。404.6.2 通過(guò)網(wǎng)絡(luò)啟動(dòng)的方法設(shè)計(jì)嵌入式rtlinux。424.7 小結(jié)42第五章 linux對(duì)tcp/ip網(wǎng)絡(luò)支持435.1 linux網(wǎng)絡(luò)概述435.2 linux網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)程序的分析445.2.1 linux中

13、網(wǎng)絡(luò)驅(qū)動(dòng)程序介紹455.2.2 網(wǎng)絡(luò)驅(qū)動(dòng)程序中需要用到的重要的數(shù)據(jù)結(jié)構(gòu)4 struct device465.2.3 重要的驅(qū)動(dòng)過(guò)程4 模塊驅(qū)動(dòng)方法4 內(nèi)核啟動(dòng)的驅(qū)動(dòng)方法4 網(wǎng)卡初始化函數(shù)分析495.3 在嵌入式系統(tǒng)中實(shí)現(xiàn)網(wǎng)絡(luò)協(xié)議棧515.3.1 重用linux網(wǎng)絡(luò)協(xié)議棧代碼525.3.2 重寫(xiě)網(wǎng)絡(luò)協(xié)議棧525.3.3 網(wǎng)絡(luò)驅(qū)動(dòng)程序的編寫(xiě)525.4 小結(jié)53第六章 調(diào)試環(huán)境的搭建和定制546.1 遠(yuǎn)程調(diào)試環(huán)境的搭建原理556.1.1 gdb介紹556.1.2 gdb遠(yuǎn)程調(diào)試功能介紹556.1.3 gdb遠(yuǎn)程調(diào)試建立的條件566.1.

14、3.1 遠(yuǎn)程主機(jī)上stub要實(shí)現(xiàn)的函數(shù)接口5 調(diào)試雙方數(shù)據(jù)包的傳送格式5 調(diào)試步驟的介紹586.2 linux的內(nèi)核調(diào)試環(huán)境的搭建586.2.1 串口驅(qū)動(dòng)程序模塊和數(shù)據(jù)包傳送函數(shù)596.2.2 stub程序的函數(shù)接口606.2.3 內(nèi)核進(jìn)入調(diào)試狀態(tài)的路徑6 系統(tǒng)啟動(dòng)的時(shí)候向內(nèi)核傳遞參數(shù)6 使用gdbstart將系統(tǒng)控制權(quán)交出636.2.4 linux內(nèi)核調(diào)試過(guò)程示例646.3 rtlinux的調(diào)試環(huán)境的開(kāi)發(fā)設(shè)想656.4 小結(jié)66第七章 總結(jié)與展望67參考文獻(xiàn)69第一章 緒論1.1 嵌入式系統(tǒng)的歷史、現(xiàn)在和未來(lái)在當(dāng)前的數(shù)字信息技術(shù)

15、和網(wǎng)絡(luò)技術(shù)高速發(fā)展的后pc(post-pc)時(shí)代,嵌入式系統(tǒng)已經(jīng)廣泛的滲透到科學(xué)研究、工程設(shè)計(jì)、軍事技術(shù)、各類產(chǎn)業(yè)和商業(yè)文化藝術(shù)、娛樂(lè)業(yè)以及人們的日常生活等方方面面中。隨著國(guó)內(nèi)外嵌入式產(chǎn)品如車(chē)載電腦、機(jī)頂盒等等的進(jìn)一步開(kāi)發(fā)和推廣,嵌入式技術(shù)越來(lái)越和人們的生活緊密結(jié)合。在pc時(shí)代,可能有人從來(lái)沒(méi)有接觸過(guò)計(jì)算機(jī);但是在post-pc時(shí)代,他就不可能會(huì)接觸不到嵌入式系統(tǒng),因?yàn)榍度胧较到y(tǒng)可能存在于生活的方方面面中,從家里的洗衣機(jī)、電冰箱,到作為交通工具的自行車(chē)、小汽車(chē),到辦公室里的遠(yuǎn)程會(huì)議系統(tǒng)等等,都屬于可以使用嵌入式技術(shù)開(kāi)發(fā)和改造的產(chǎn)品。實(shí)際上嵌入式系統(tǒng)這個(gè)概念很早以前就已經(jīng)存在了。在通訊方面,嵌入

16、式系統(tǒng)在1960年就被用于對(duì)電子機(jī)械電話交換的控制,當(dāng)時(shí)被稱為“存儲(chǔ)式程序控制系統(tǒng)”(stored program control)。那個(gè)時(shí)候,計(jì)算機(jī)一詞卻還不是很普遍,而存儲(chǔ)式程序主要是指用于存儲(chǔ)程序及日常訊息的內(nèi)存部分。存儲(chǔ)這些邏輯數(shù)據(jù),而不是將其寫(xiě)入硬盤(pán),這個(gè)概念的確具有突破性的意義。這個(gè)時(shí)候還沒(méi)有出現(xiàn)操作系統(tǒng)的概念,對(duì)每一個(gè)應(yīng)用都需要提供一整個(gè)計(jì)算機(jī)的設(shè)計(jì)。后來(lái)微處理器的出現(xiàn),它用來(lái)提供一個(gè)中央計(jì)算引擎。利用微處理器,組成了一個(gè)基于由總線連接起來(lái)的計(jì)算機(jī)硬件體系結(jié)構(gòu),并且提供了一個(gè)通用功能的編程模型,從而簡(jiǎn)化了編程。嵌入式系統(tǒng)的概念是在1970年左右出現(xiàn)的。不過(guò)在當(dāng)時(shí),大部分都是由匯編

17、語(yǔ)言完成的,而且這些匯編程序只能用于某一種固定的微處理器。當(dāng)這種微處理器過(guò)時(shí)之后,這種嵌入式系統(tǒng)就沒(méi)有用了;并且還要開(kāi)始對(duì)新的微處理器寫(xiě)新的嵌入式系統(tǒng)。這個(gè)時(shí)候的嵌入式系統(tǒng)很多都不是操作系統(tǒng),他們只是為了實(shí)現(xiàn)某個(gè)控制功能,使用一個(gè)簡(jiǎn)單的循環(huán)控制對(duì)外界的控制請(qǐng)求進(jìn)行處理。不可否認(rèn),這對(duì)一些簡(jiǎn)單的系統(tǒng)而言是足夠的。但是當(dāng)我們的系統(tǒng)越來(lái)越復(fù)雜,利用的范圍越來(lái)越廣泛的時(shí)候,沒(méi)有操作系統(tǒng)就成為了一個(gè)最大的缺點(diǎn)了,因?yàn)樾枰砑右豁?xiàng)新功能都可能需要從頭開(kāi)始設(shè)計(jì),否則只能增加開(kāi)發(fā)成本和系統(tǒng)復(fù)雜度。c語(yǔ)言的出現(xiàn)使得我們的操作系統(tǒng)開(kāi)發(fā)變得越來(lái)越簡(jiǎn)單。我們可以利用c語(yǔ)言很快的寫(xiě)出一個(gè)小型的、穩(wěn)定的操作系統(tǒng)。眾所知之

18、,c語(yǔ)言的作者dennis m. ritchie 和brian w. kernighan利用它寫(xiě)出了著名的unix操作系統(tǒng),直接影響了這三十年計(jì)算機(jī)業(yè)的發(fā)展。同時(shí),對(duì)開(kāi)發(fā)嵌入式系統(tǒng)來(lái)說(shuō),在效率和速度上都提高了很多。從上世紀(jì)八十年代開(kāi)始,開(kāi)始出現(xiàn)各種各樣的商業(yè)用嵌入式操作系統(tǒng),這些操作系統(tǒng)大部分都是為專有系統(tǒng)而開(kāi)發(fā),從而形成了現(xiàn)在多種形式的商用嵌入式操作系統(tǒng)百家爭(zhēng)鳴的局面。如vxworks,psos,neculeus和windows ce等等?,F(xiàn)在,網(wǎng)絡(luò)在人們生活中的應(yīng)用越來(lái)越廣泛,自然而然,在嵌入式系統(tǒng)中使用網(wǎng)絡(luò)系統(tǒng)也成為了一項(xiàng)基本的要求。把網(wǎng)絡(luò)協(xié)議棧實(shí)現(xiàn)在嵌入式系統(tǒng)中,對(duì)日常生活中的需要極有

19、意義。利用嵌入式系統(tǒng)中的網(wǎng)絡(luò)功能,可以實(shí)現(xiàn)下面我將要描述的信息電器這一即將取代pc在后pc時(shí)代占據(jù)市場(chǎng)主體的商品。我們知道,如果在上面所說(shuō)的那種采用循環(huán)控制的嵌入式系統(tǒng)中加入網(wǎng)絡(luò)協(xié)議棧,復(fù)雜度會(huì)呈指數(shù)級(jí)增長(zhǎng)。這種情況下,在嵌入式操作系統(tǒng)中增加網(wǎng)絡(luò)協(xié)議模塊要方便得多,并且還能方便各種網(wǎng)絡(luò)應(yīng)用程序的不同平臺(tái)移植。在未來(lái)的社會(huì)里面,使用嵌入式系統(tǒng)的情形會(huì)越來(lái)越多,人可以不接觸電腦,但是不接觸嵌入式系統(tǒng)的情況是不存在的。嵌入式系統(tǒng)可能存在于您生活的各個(gè)角落:您家里可能就是通過(guò)一個(gè)嵌入式系統(tǒng)控制的中心,管理您家里的所有家電,控制家庭和外界網(wǎng)絡(luò)的連接,讓您的生活更為方便;您出門(mén)旅行的時(shí)候,在飯店的門(mén)把手里

20、面安裝有電子識(shí)別控制系統(tǒng),利用嵌入式系統(tǒng)根據(jù)您手上的特征,判斷時(shí)候應(yīng)該給您開(kāi)門(mén);在坐車(chē)的時(shí)候,汽車(chē)電腦可以通過(guò)gps(全球衛(wèi)星定位系統(tǒng))來(lái)判斷自己的具體位置,利用嵌入式智能系統(tǒng)判斷應(yīng)該走哪條路比較方便;如果您一不小心生病住院,在醫(yī)院的設(shè)備儀器里面都可能存在有嵌入式系統(tǒng),用來(lái)選擇和控制儀器,提高您手術(shù)的成功率和方便程度。1.2 信息電器的概念在嵌入式系統(tǒng)發(fā)展到現(xiàn)在這個(gè)程度,利用的范圍除了在自動(dòng)化控制、軍事技術(shù)、工業(yè)生產(chǎn)、科學(xué)研究等方面的應(yīng)用之外,現(xiàn)在逐步在向日常生活中滲透。而pc的發(fā)展現(xiàn)在也正在減緩趨勢(shì)。據(jù)有關(guān)報(bào)道,pc的增長(zhǎng)率由九十年代中期的年遞增率35%下降到去年的15%。用市場(chǎng)的觀點(diǎn)來(lái)看,

21、pc的已經(jīng)從高速增長(zhǎng)進(jìn)入到平穩(wěn)發(fā)展的市場(chǎng)頂峰時(shí)期,單純由pc機(jī)帶領(lǐng)的電子產(chǎn)業(yè)蒸蒸日上的時(shí)代已經(jīng)成為歷史,現(xiàn)在的電子產(chǎn)業(yè)的發(fā)展需要尋找一個(gè)新的“戰(zhàn)略轉(zhuǎn)折點(diǎn)”。這個(gè)時(shí)候,根據(jù)pc時(shí)代的概念,美國(guó)business week雜志提出了“后pc時(shí)代”的概念。在這個(gè)時(shí)代,占電子市場(chǎng)主體的不再是pc和家用電器,而是具備視聽(tīng)功能、信息處理和雙向網(wǎng)絡(luò)通信功能的信息電器。信息電器,英文稱information appliance。它具備有高品質(zhì)的視聽(tīng)功能、交互式的信息處理功能、網(wǎng)絡(luò)瀏覽功能和收發(fā)郵件等功能。它適應(yīng)信息時(shí)代的要求,具有很強(qiáng)的網(wǎng)絡(luò)功能,是人們用來(lái)訪問(wèn)和獲取網(wǎng)上信息的工具,也是消費(fèi)類電子技術(shù)和計(jì)算機(jī)技術(shù)

22、相結(jié)合的產(chǎn)物。作為信息電器,一般具有三個(gè)特征:1)是家用電器。它適合廣泛的普通家庭使用,功能和操作都比傳統(tǒng)的電腦少而簡(jiǎn)單。2)是信息設(shè)備。能夠接入公共信息網(wǎng)絡(luò),主動(dòng)獲取交互信息。3)配置簡(jiǎn)單。組成部分比傳統(tǒng)的電腦少,沒(méi)有硬盤(pán)等永久存儲(chǔ)設(shè)備,設(shè)備價(jià)格比較低廉。信息電器的品種很多,就我國(guó)來(lái)說(shuō),信息電器的應(yīng)用范圍主要是在消費(fèi)、娛樂(lè)、通訊、信號(hào)處理等領(lǐng)域。典型的產(chǎn)品是機(jī)頂盒、移動(dòng)通訊、掌上電腦、可視電話、pda(個(gè)人數(shù)字助理)等等。信息電器的如火如荼的發(fā)展和應(yīng)用,需要發(fā)展嵌入式系統(tǒng)來(lái)支持。信息電器的產(chǎn)品開(kāi)發(fā)離不開(kāi)利用網(wǎng)絡(luò)協(xié)議棧,離不開(kāi)實(shí)現(xiàn)實(shí)時(shí)性能,也離不開(kāi)提供用戶友好的接口。這些都需要利用嵌入式系統(tǒng)進(jìn)

23、行開(kāi)發(fā)。目前嵌入式系統(tǒng)的主要應(yīng)用范圍是在信息電器領(lǐng)域里面。根據(jù)信息電器的開(kāi)發(fā)特點(diǎn),開(kāi)發(fā)出一個(gè)具有實(shí)時(shí)、多任務(wù)特征的,提供測(cè)覽器、網(wǎng)絡(luò)通信和圖形窗口等服務(wù)的,可進(jìn)行一定的定制或二次開(kāi)發(fā),并可對(duì)應(yīng)用軟件的開(kāi)發(fā)提供有效支持的嵌入式系統(tǒng)。信息技術(shù)的快速發(fā)展和互聯(lián)網(wǎng)的廣泛應(yīng)用,使得信息電器具有廣泛的前景,從而使得嵌入式操作系統(tǒng)的快速發(fā)展成為可能。伴隨著以計(jì)算機(jī)技術(shù)、通訊技術(shù)為主的信息技術(shù)的快速發(fā)展和互聯(lián)網(wǎng)的廣泛應(yīng)用,3c(computer, communication, consumer)合一的趨勢(shì)已經(jīng)形成,三者合一的產(chǎn)物就是信息電器。在信息電器領(lǐng)域里面,嵌入式軟件必然成為重要成員,嵌入式操作系統(tǒng)也就必

24、然成為軟件業(yè)的新熱點(diǎn)。1.3 國(guó)內(nèi)外嵌入式系統(tǒng)的相關(guān)產(chǎn)品、水平、現(xiàn)狀和技術(shù)發(fā)展趨勢(shì)1.3.1 國(guó)際上相關(guān)產(chǎn)品、水平、現(xiàn)狀和技術(shù)發(fā)展趨勢(shì)。從八十年代起,國(guó)際上就開(kāi)始進(jìn)行一些商用嵌入式系統(tǒng)和專有操作系統(tǒng)的開(kāi)發(fā)。他們開(kāi)發(fā)嵌入式系統(tǒng)已經(jīng)有二十多年的經(jīng)驗(yàn),目前的應(yīng)用范圍也比較廣泛,下面介紹一些著名的嵌入式系統(tǒng)。l windows ce:microsoft windows ce是一個(gè)簡(jiǎn)潔的,高效率的多平臺(tái)操作系統(tǒng)。它不是削減的windows95版本,而是從整體上為有限資源的平臺(tái)設(shè)計(jì)的多線程,完整優(yōu)先權(quán),多任務(wù)的操作系統(tǒng)。它的模塊化設(shè)計(jì)允許它對(duì)于從掌上電腦到專用的工業(yè)控制器的用戶電子設(shè)備進(jìn)行定制。操作系統(tǒng)的

25、基本內(nèi)核需要至少200k的rom。從sega的dreamcast游戲機(jī)到現(xiàn)在大部分的高價(jià)掌上電腦,都采用了windows ce,但是無(wú)奈價(jià)格太高,使得整個(gè)產(chǎn)品的成本急劇上升。l vxworks:去年vxworks所在的公司windriver兼并了psos的isi公司,使得該公司現(xiàn)在有兩大rtos系統(tǒng)。vxworks是目前嵌入式系統(tǒng)領(lǐng)域中使用最廣泛,市場(chǎng)占有率最高的系統(tǒng)。它支持多種處理器,如x86,i960,sun sparc,motorola mc68xxx,mips rx000,power pc等等。使用的是和unix不兼容的環(huán)境,大多數(shù)的vxworks api是專有的。采用gnu的編譯和調(diào)

26、試器。l psos:isi公司已經(jīng)被winriver公司兼并,現(xiàn)在是屬于windriver公司的產(chǎn)品。這個(gè)系統(tǒng)是一個(gè)模塊化,高性能的實(shí)時(shí)操作系統(tǒng),專為嵌入式微處理器設(shè)計(jì),提供一個(gè)完全多任務(wù)環(huán)境,在定制的或是商業(yè)化的硬件上提供高性能和搞可靠性??梢宰岄_(kāi)發(fā)者將操作系統(tǒng)的功能和內(nèi)存需求定制成每一個(gè)應(yīng)用所需的系統(tǒng)。開(kāi)發(fā)者可以利用它來(lái)實(shí)現(xiàn)從簡(jiǎn)單的單個(gè)獨(dú)立設(shè)備到復(fù)雜的、網(wǎng)絡(luò)化的多處理器系統(tǒng)。l qnx:qnx是一個(gè)實(shí)時(shí)的,可擴(kuò)充的操作系統(tǒng),它遵循posix.1 (程序接口)和posix.2 (shell和工具)、部分遵循posix.1b(實(shí)時(shí)擴(kuò)展)。它提供了一個(gè)很小的微內(nèi)核以及一些可選的配合進(jìn)程。其內(nèi)核僅

27、提供4種服務(wù):進(jìn)程調(diào)度、進(jìn)程間通信、底層網(wǎng)絡(luò)通信和中斷處理,其進(jìn)程在獨(dú)立的地址空間運(yùn)行。所有其它os服務(wù),都實(shí)現(xiàn)為協(xié)作的用戶進(jìn)程,因此qnx內(nèi)核非常小巧(qnx4.x大約為12kb)而且運(yùn)行速度極快。這個(gè)靈活的結(jié)構(gòu)可以使用戶根據(jù)實(shí)際的需求將系統(tǒng)配置成微小的嵌入式操作系統(tǒng)或是包括幾百個(gè)處理器的超級(jí)虛擬機(jī)操作系統(tǒng)。l palm os:3com公司的palm os在pda市場(chǎng)上占有很大的市場(chǎng)份額,它有開(kāi)放的操作系統(tǒng)應(yīng)用程序接口(api),開(kāi)發(fā)商可以根據(jù)需要自行開(kāi)發(fā)所需要的應(yīng)用程序。目前已經(jīng)有總共3500多個(gè)應(yīng)用程序可以運(yùn)行在palm pilot上,其中大部分應(yīng)用程序均為其他廠商和個(gè)人所開(kāi)發(fā),使得pa

28、lm pilot的功能得以不斷增多。這些軟件包括計(jì)算器、各種游戲、電子寵物、地理信息等等。在開(kāi)發(fā)環(huán)境方面,可以在windows 95/98,windows nt以及macintosh下安裝palm pilot desktop;plampilot可以與流行的pc平臺(tái)上的應(yīng)用程序如word,excel等進(jìn)行數(shù)據(jù)交換。l os-9:microwave的os-9是為微處理器的關(guān)鍵實(shí)時(shí)任務(wù)而設(shè)計(jì)的操作系統(tǒng),廣泛應(yīng)用于高科技產(chǎn)品中,包括消費(fèi)電子產(chǎn)品,工業(yè)自動(dòng)化,無(wú)線通訊產(chǎn)品,醫(yī)療儀器,數(shù)字電視/多媒體設(shè)備中。它提供了很好的安全性和容錯(cuò)性。與其他的嵌入式系統(tǒng)相比,它的靈活性和可升級(jí)性非常突出。l lynxo

29、s:lynx real-time systems的lynxos是一個(gè)分布式、嵌入式、可規(guī)模擴(kuò)展的實(shí)時(shí)操作系統(tǒng),它遵循posix.1a、posix.1b和posix.1c標(biāo)準(zhǔn)。lynxos支持線程概念,提供256個(gè)全局用戶線程優(yōu)先級(jí);提供一些傳統(tǒng)的,非實(shí)時(shí)系統(tǒng)的服務(wù)特征;包括基于調(diào)用需求的虛擬內(nèi)存,一個(gè)基于motif的用戶圖形界面,與工業(yè)標(biāo)準(zhǔn)兼容的網(wǎng)絡(luò)系統(tǒng)以及應(yīng)用開(kāi)發(fā)工具。l linux:linux是一套以u(píng)nix為基礎(chǔ)發(fā)展而成的操作系統(tǒng)。自1991年誕生至今,linux在很多方面已經(jīng)趕上甚至超過(guò)了很多商用的unix系統(tǒng)。它充分利用了x86cpu的任務(wù)切換機(jī)制,實(shí)現(xiàn)了真正的多任務(wù)、多用戶環(huán)境。l

30、inux對(duì)硬件配置的要求相當(dāng)?shù)?,能夠?m內(nèi)存的386機(jī)器上很好的運(yùn)行。而且可以支持很多種處理器芯片。此外更為重要的是,很多高手愿意在linux上開(kāi)發(fā)程序,而且有很多高手隨時(shí)對(duì)linux的開(kāi)放內(nèi)核進(jìn)行升級(jí)和修補(bǔ),很多bug可以很快得到檢測(cè)和修復(fù)。在應(yīng)用于嵌入式系統(tǒng)方面,linux小得可以放在一張軟盤(pán)上運(yùn)行;為實(shí)時(shí)系統(tǒng)而開(kāi)發(fā)的變種rt linux(real-time linux),可以讓linux支持硬實(shí)時(shí)任務(wù);linux的開(kāi)放式開(kāi)發(fā)原則使得linux下的驅(qū)動(dòng)和升級(jí)變得越來(lái)越多和越來(lái)越快。1.3.2 國(guó)內(nèi)相關(guān)產(chǎn)品、水平、現(xiàn)狀和技術(shù)發(fā)展趨勢(shì)。國(guó)內(nèi)的嵌入式系統(tǒng)開(kāi)發(fā)也已經(jīng)取得了一定的成績(jī),包括中科院的

31、eeos,凱思昊鵬的hopen os等等。但是國(guó)內(nèi)的產(chǎn)品很大程度上只是外國(guó)公司的附屬和擴(kuò)充,國(guó)內(nèi)的技術(shù)含量很低。比如說(shuō)中科院計(jì)算所嵌入式系統(tǒng)研究組的eeos,是根據(jù)ecos的開(kāi)發(fā)環(huán)境下面做簡(jiǎn)略介紹:l eeos:eeos是中科院計(jì)算所組織開(kāi)發(fā)的開(kāi)放源碼的嵌入式操作系統(tǒng)。該嵌入式操作系統(tǒng)重點(diǎn)支持p-java,要求一方面小型化,一方面能復(fù)用linux的驅(qū)動(dòng)和其他模塊。計(jì)算所將在2-3 年內(nèi)持續(xù)投入,以建立擴(kuò)展能力強(qiáng),功能完善,且穩(wěn)定、可靠的嵌入式操作系統(tǒng)平臺(tái)。包含e2實(shí)時(shí)操作系統(tǒng),e2工具鏈及e2仿真開(kāi)發(fā)環(huán)境的完整環(huán)境。e2實(shí)時(shí)操作系統(tǒng)包含rtos內(nèi)核系統(tǒng)和一些支持組件,是一個(gè)擴(kuò)展能力強(qiáng),功能完善

32、的操作系統(tǒng),支持posix標(biāo)準(zhǔn)。e2實(shí)時(shí)操作系統(tǒng)強(qiáng)調(diào)模塊化(其api 接口標(biāo)準(zhǔn),底層支持清晰),其各模塊解決方案可移植、可互換。此外e2實(shí)時(shí)操作系統(tǒng)提供開(kāi)放源碼。e2工具鏈基于gnu系列的交叉編譯環(huán)境,開(kāi)放多平臺(tái),能夠支持大多數(shù)硬件平臺(tái)。e2實(shí)時(shí)操作系統(tǒng)同時(shí)支持msdev等桌面環(huán)境的工具鏈,能夠方便win32程序員使用。e2仿真開(kāi)發(fā)環(huán)境使用win32系統(tǒng)仿真目標(biāo)機(jī)或做遠(yuǎn)程調(diào)試的主機(jī)。e2仿真開(kāi)發(fā)環(huán)境能夠仿真擴(kuò)展的目標(biāo)機(jī)設(shè)備或借用nt系統(tǒng)的設(shè)備,并提供擴(kuò)展工具進(jìn)行性能,行為可視化,評(píng)估系統(tǒng)的性能。其仿真速度快,能夠方便地容易建立開(kāi)發(fā)環(huán)境。eeos采用先進(jìn)的內(nèi)核仿真調(diào)試技術(shù),能夠使普通c程序員能快

33、速熟悉實(shí)時(shí)系統(tǒng)的結(jié)構(gòu)和開(kāi)發(fā)過(guò)程,大幅度降低學(xué)習(xí),研究,開(kāi)發(fā)實(shí)時(shí)系統(tǒng)的代價(jià)。eeos專為嵌入式系統(tǒng)設(shè)計(jì),代碼尺寸小,同時(shí)eeos結(jié)構(gòu)上考慮了實(shí)時(shí)需求,很高的實(shí)時(shí)響應(yīng)速度,因而能夠在各種環(huán)境下工作,具有良好的可伸縮性。l hopen os:hopen os是凱思集團(tuán)自主研制開(kāi)發(fā)的嵌入式操作系統(tǒng),由一個(gè)體積很小的內(nèi)核及一些可以根據(jù)需要進(jìn)行定制的系統(tǒng)模塊組成。其內(nèi)核hopen kernel一般為10kb左右大小,占用空間小,并具有實(shí)時(shí)、多任務(wù)、多線程的系統(tǒng)特征。使用者可以很容易地對(duì)這一操作系統(tǒng)進(jìn)行定制或作適當(dāng)開(kāi)發(fā),該系統(tǒng)不僅可以廣泛應(yīng)用于:移動(dòng)計(jì)算平臺(tái)(pda)、 家庭信息環(huán)境(機(jī)頂盒,數(shù)字電視)、

34、通訊計(jì)算平臺(tái)(媒體手機(jī))、 車(chē)載計(jì)算平臺(tái)(導(dǎo)航器)、 工業(yè)、商業(yè)控制(智能工控設(shè)備,pos/atm機(jī))、 電子商務(wù)平臺(tái)(智能卡應(yīng)用,安全管理)等信息家電上,還可應(yīng)用于與internet相聯(lián)接的一切接入設(shè)備,是未來(lái)信息家電的核心。該系統(tǒng)目前已能在:x86、pa-risc、power pc、arm、strong arm、mips、68xxx等多種芯片上運(yùn)行。從國(guó)內(nèi)外的嵌入式系統(tǒng)發(fā)展?fàn)顩r來(lái)說(shuō),嵌入時(shí)系統(tǒng)的應(yīng)用正在從傳統(tǒng)的單一應(yīng)用范圍、狹窄應(yīng)用對(duì)象、簡(jiǎn)單實(shí)現(xiàn)功能向現(xiàn)在和未來(lái)社會(huì)需要的應(yīng)用需要進(jìn)行轉(zhuǎn)變。社會(huì)對(duì)嵌入時(shí)系統(tǒng)的需求正在慢慢擴(kuò)大,特別是最近幾年來(lái)國(guó)際互聯(lián)網(wǎng)的發(fā)展,信息時(shí)代從pc時(shí)代步入到后pc時(shí)

35、代,對(duì)信息電器的需求越來(lái)越明顯,正如我在第二節(jié)所描述的那樣,信息電器是國(guó)際互聯(lián)網(wǎng)發(fā)展到一定階段,進(jìn)入到千家萬(wàn)戶的一種必要有效的手段。嵌入時(shí)系統(tǒng)在信息電器里面的應(yīng)用,則是對(duì)嵌入式系統(tǒng)概念和應(yīng)用范圍的一個(gè)變革,從而打破過(guò)去pc時(shí)代被單一微處理器廠家和單一操作系統(tǒng)廠家壟斷的局面,而應(yīng)該會(huì)出現(xiàn)一個(gè)由多芯片、多處理器占領(lǐng)市場(chǎng)領(lǐng)域的局面。國(guó)內(nèi)廠商應(yīng)該抓住這個(gè)機(jī)會(huì),從而可以向該類行業(yè)的核心領(lǐng)域靠近,取得和國(guó)際競(jìng)爭(zhēng)組織競(jìng)爭(zhēng)的機(jī)會(huì)。pc機(jī)和信息電器,就象是電影和電視一樣,在一段時(shí)期內(nèi)會(huì)共同存在下去,誰(shuí)也無(wú)法取代誰(shuí)。但是,就市場(chǎng)角度來(lái)看,信息電器卻可以占領(lǐng)很大一部分的可能使用pc的客戶,雖然兩者的定位不全相同,市

36、場(chǎng)的范圍有所重疊,但是發(fā)展的余地還是很大。1.4 linux的歷史和現(xiàn)狀linux是一種在網(wǎng)絡(luò)上產(chǎn)生的操作系統(tǒng),他的產(chǎn)生來(lái)自于一名芬蘭學(xué)生linus torvalds的業(yè)余愛(ài)好。在網(wǎng)絡(luò)上linux的開(kāi)發(fā)成為一些高手熱衷的項(xiàng)目,使得linux在短期內(nèi)就成為了一個(gè)穩(wěn)定、成熟的操作系統(tǒng)。重要的是,linux的開(kāi)發(fā)都是在gpl(gnu public license)的版本控制之下,因此linux內(nèi)核的所有源代碼都是采取開(kāi)放源代碼的方式。我們?nèi)狈?duì)操作系統(tǒng)的開(kāi)發(fā)經(jīng)驗(yàn),這樣的條件對(duì)我們來(lái)說(shuō)是一個(gè)很大的契機(jī),利用linux作為我們開(kāi)發(fā)嵌入式系統(tǒng)成為可能。linux內(nèi)核的開(kāi)發(fā)是由linus torvalds領(lǐng)

37、導(dǎo)的內(nèi)核開(kāi)發(fā)小組進(jìn)行開(kāi)發(fā)的。世界各地的高手們將自己對(duì)linux內(nèi)核需要做的改動(dòng)交給linus小組,由這個(gè)小組進(jìn)行統(tǒng)一控制,隨時(shí)對(duì)內(nèi)核進(jìn)行更新升級(jí)。整個(gè)開(kāi)發(fā)的過(guò)程遵循cvs版本控制,保證開(kāi)發(fā)的質(zhì)量。目前在他們的公共站點(diǎn)/上幾乎每三天進(jìn)行一次內(nèi)核的升級(jí),目前最新的內(nèi)核是即將開(kāi)發(fā)出來(lái)的linux2.4內(nèi)核。已經(jīng)推出了測(cè)試版本,具體有關(guān)linux2.4內(nèi)核的介紹可以參看微電腦世界5月22日l(shuí)inux內(nèi)核2.4一文。將linux作為一個(gè)嵌入式操作系統(tǒng)具有許多的優(yōu)點(diǎn):1) 系統(tǒng)穩(wěn)定、功能強(qiáng)大、支持多種硬件平臺(tái)、應(yīng)用軟件多、簡(jiǎn)單易用linux 在許多方面與unix類似

38、,但是它是一個(gè)完全獨(dú)立的操作系統(tǒng),它可以非常穩(wěn)定地運(yùn)行在許多種體系結(jié)構(gòu)的處理器上。最新的linux內(nèi)核支持intel x86、motorola/ibm powerpc、compaq(dec)alpha、ia 64、s/390、superh等微處理器體系結(jié)構(gòu),這種操作系統(tǒng)的廣適性可見(jiàn)一斑。linux又可以說(shuō)是一個(gè)很小的系統(tǒng)。用來(lái)啟動(dòng)只需要小到500k字節(jié)不到的目標(biāo)代碼。完全可以把linux內(nèi)核和root文件系統(tǒng)放在一張軟盤(pán)上,啟動(dòng)一臺(tái)硬件條件最小的機(jī)器。也可以利用linux實(shí)現(xiàn)從網(wǎng)絡(luò)啟動(dòng),實(shí)現(xiàn)網(wǎng)絡(luò)無(wú)盤(pán)圖形工作站。(在4.6節(jié)有詳細(xì)介紹)linux的系統(tǒng)界面和編程接口和傳統(tǒng)的unix類似,大量在u

39、nix下的程序員可以很方便的從unix環(huán)境轉(zhuǎn)移到linux環(huán)境下來(lái)。而不像從unix環(huán)境轉(zhuǎn)移到windows開(kāi)發(fā)環(huán)境那樣復(fù)雜。在linux平臺(tái)上的應(yīng)用軟件也不斷得到擴(kuò)充。許多著名的商業(yè)軟件都有了linux下的版本:applix公司和star公司提供了多種字處理、電子表格、圖形處理的應(yīng)用軟件;corel wordperfect 8、adabas d 和oracle 8數(shù)據(jù)庫(kù)、netscape navigator 6.0網(wǎng)絡(luò)瀏覽器、apache 1.3.12網(wǎng)絡(luò)服務(wù)器、adobe acrobat reader 4.0等等linux下的應(yīng)用程序都已經(jīng)紛紛推出。linux下將來(lái)不再是高手的領(lǐng)域,這種操

40、作系統(tǒng)將來(lái)也必然走進(jìn)千家萬(wàn)戶,成為windows強(qiáng)而有力的競(jìng)爭(zhēng)者。在網(wǎng)絡(luò)服務(wù)器市場(chǎng)上,近幾年商用unix系統(tǒng)在往大而復(fù)雜的方向發(fā)展,使得unix的復(fù)雜性不斷增加,管理整個(gè)unix系統(tǒng)也就變得越來(lái)越復(fù)雜。linux簡(jiǎn)單易用,系統(tǒng)管理也比較容易上手,從而成為在服務(wù)器高端的一個(gè)重要選擇,并且有不斷上升的趨勢(shì),大有取代昂貴、復(fù)雜的商用unix的趨勢(shì)。2) 使用成本低幾乎所有的商業(yè)用操作系統(tǒng)如microsoft公司的windows98/nt server/nt workstation系列,都需要為每一個(gè)拷貝支付相當(dāng)數(shù)量的費(fèi)用。在其下的應(yīng)用軟件每一個(gè)都需要大量的支出來(lái)獲得。商用操作系統(tǒng)下建立一個(gè)開(kāi)發(fā)工具鏈

41、,除了要為操作系統(tǒng)本身付費(fèi)之外,還要為組成工具鏈的應(yīng)用軟件工具包支付大量的費(fèi)用。但是linux是免費(fèi)軟件,只要遵守gpl(gnu general public license)的規(guī)定,就可以免費(fèi)獲得拷貝。linux下有同樣遵循gpl規(guī)定的c、c+、java等等一系列的軟件工具開(kāi)發(fā)包,從功能角度上看并不亞于商用開(kāi)發(fā)包,同時(shí)可以極大的降低開(kāi)發(fā)成本。這點(diǎn)優(yōu)勢(shì)是其他商用操作系統(tǒng)無(wú)法比擬的。3) 文檔完善linux有非常多的文檔支持,從為初學(xué)者準(zhǔn)備的各種教程到非常詳細(xì)的聯(lián)機(jī)幫助文檔。linux是互聯(lián)網(wǎng)充分發(fā)展的產(chǎn)物,許多關(guān)于linux的文檔都可以在internet上找到和下載。linux documen

42、t project是為linux提供系統(tǒng)化的文檔支持的項(xiàng)目,在世界上許多程序員和用戶的幫助下,它已經(jīng)收集了非常詳細(xì)的系統(tǒng)文檔和使用文檔。而且,各種關(guān)于linux的書(shū)籍和雜志正如雨后春筍般地出現(xiàn),大量的英文資料也正在翻譯成中文,方便中文使用者。4) 強(qiáng)大的網(wǎng)絡(luò)功能linux操作系統(tǒng)最突出的是網(wǎng)絡(luò)部分,基本上所有的網(wǎng)絡(luò)協(xié)議和網(wǎng)絡(luò)接口都可以在linux上找到,linux內(nèi)核比標(biāo)準(zhǔn)的unix更加高效地處理網(wǎng)絡(luò)協(xié)議,系統(tǒng)的網(wǎng)絡(luò)吞吐性能非常好,這也是為什么linux在網(wǎng)絡(luò)服務(wù)器市場(chǎng)上占據(jù)越來(lái)越大市場(chǎng)份額的一個(gè)原因。5) 支持x windows系統(tǒng)x windows是一個(gè)在大多數(shù)unix工作站上使用的圖形用

43、戶界面,它是一種與平臺(tái)無(wú)關(guān)的客戶/服務(wù)器(client/server)模型,可以讓用戶在一臺(tái)機(jī)器上調(diào)用另一臺(tái)機(jī)器的x windows庫(kù),打開(kāi)另一臺(tái)機(jī)器上的窗口,而并不需要考慮這兩臺(tái)機(jī)器自己本身的操作系統(tǒng)類型。正是這種特性使得unix和linux系統(tǒng)上的用戶和應(yīng)用程序非常自然地通過(guò)網(wǎng)絡(luò)連接在一起。當(dāng)然,最重要的是linux不是某個(gè)公司的私有財(cái)產(chǎn),它是一個(gè)開(kāi)放軟件,是免費(fèi)的和源代碼公開(kāi)的。linux在這幾年不斷成熟,越來(lái)越多的人加入了linux的行列,以前l(fā)inux只是一群黑客的玩具和專家的實(shí)驗(yàn)用操作系統(tǒng),而現(xiàn)在即使是電腦的普通用戶也在用linux。為linux提供服務(wù)的公司也開(kāi)始出現(xiàn),為客戶提供

44、專業(yè)化的技術(shù)支持。但實(shí)際上不用花錢(qián)也可以通過(guò)internet新聞組得到強(qiáng)大的linux技術(shù)支持和幫助。linux有一個(gè)龐大的支持者群體,其中許多人都編寫(xiě)驅(qū)動(dòng)程序和其它的更新程序并且免費(fèi)的通過(guò)internet網(wǎng)絡(luò)進(jìn)行分發(fā)。這意味著對(duì)新硬件的linux驅(qū)動(dòng)程序甚至比用于其它的unix 系統(tǒng)如solaris的驅(qū)動(dòng)程序還來(lái)得及時(shí)。linux的龐大的志愿者網(wǎng)絡(luò)在生產(chǎn)“補(bǔ)丁”程序方面反應(yīng)很快。如,當(dāng)pentium ii的bug(97年pentium ii處理器的微指令發(fā)現(xiàn)設(shè)計(jì)問(wèn)題)被發(fā)現(xiàn)以后,linux就是最早提供解決這個(gè)問(wèn)題的方案的操作系統(tǒng)。如果一個(gè)linux應(yīng)用程序流行起來(lái),用戶一般都可以通過(guò)linu

45、x新聞組得到很好的支持。有許多usenet新聞組可供linux用戶尋求幫助。對(duì)一般linux問(wèn)題的回答時(shí)間可同一些廠商的e-mail支持(甚至是電話支持)相比。對(duì)linux的支持絕大部分是通過(guò)用戶團(tuán)體在usenet新聞組上提供的。這上面廣泛收集有大量的faq,其內(nèi)容包括linux安裝、配置和故障定位的方方面面。在usenet上提供的許多這方面的材料現(xiàn)在已經(jīng)被一些出版商如walnus creek等公開(kāi)出版了。所有的這些,都是現(xiàn)有的嵌入式操作系統(tǒng)所無(wú)法比擬的。1.5 論文的組織介紹本文對(duì)基于linux的嵌入式系統(tǒng)開(kāi)發(fā)進(jìn)行解釋,并且針對(duì)幾個(gè)關(guān)鍵技術(shù)做出討論。論文的組織結(jié)構(gòu)為: 第一章是對(duì)嵌入式系統(tǒng)的

46、綜述、linux的特點(diǎn)以及介紹。第二章是介紹嵌入式系統(tǒng)的特點(diǎn),從處理器、實(shí)時(shí)系統(tǒng)、網(wǎng)絡(luò)、用戶交互接口等方面進(jìn)行介紹。第三章是說(shuō)明采用linux作為我們嵌入式系統(tǒng)開(kāi)發(fā)的原因,從嵌入式系統(tǒng)的特點(diǎn)的角度進(jìn)行討論。第四章是linux的實(shí)時(shí)系統(tǒng)變種rtlinux的原理、實(shí)現(xiàn)和編程的介紹。第五章是介紹linux的網(wǎng)絡(luò)功能,并且介紹對(duì)linux網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)程序的分析,說(shuō)明如何利用linux網(wǎng)絡(luò)協(xié)議棧來(lái)用于嵌入式系統(tǒng)中網(wǎng)絡(luò)模塊。第六章是介紹如何利用gdb的遠(yuǎn)程調(diào)試功能搭建跨平臺(tái)的linux內(nèi)核調(diào)試環(huán)境。第七章在總結(jié)整個(gè)畢業(yè)設(shè)計(jì)的基礎(chǔ)之上,展望進(jìn)一步進(jìn)行開(kāi)發(fā)的幾點(diǎn)內(nèi)容。第二章 嵌入式系統(tǒng)的特點(diǎn)2.1 嵌入式處理

47、器的要求嵌入式系統(tǒng)的核心部件是嵌入式處理器。市場(chǎng)上形成競(jìng)爭(zhēng)力的嵌入式處理器比pc使用的微處理器的壟斷局面要好的多。幾乎每個(gè)半導(dǎo)體廠家都生產(chǎn)自己的嵌入式處理器,越來(lái)越多的公司都有自己的嵌入式處理器設(shè)計(jì)部門(mén)。嵌入式處理器的功能跨度很廣,尋址空間從64kb到16mb,處理速度從0.1mips到2000mips,常用封裝從8個(gè)引腳到144個(gè)引腳。目前,嵌入式處理器主要可以分為如下幾類:1)嵌入式微處理器 嵌入式微處理器就是和通用計(jì)算機(jī)里面對(duì)應(yīng)的cpu。在應(yīng)用中,一般是將微處理器裝配在專門(mén)設(shè)計(jì)的電路板上,在母板上只保留和嵌入式相關(guān)的功能即可。這樣可以滿足嵌入式系統(tǒng)體積和功耗大幅度減小的要求。 目前的嵌入

48、式處理器主要包括有am186/88、386ex、sc-400、powerpc、motorola 68000、mips、arm系列等等。2)嵌入式微控制器 嵌入式微控制器又稱單片機(jī)。它是將一整個(gè)計(jì)算機(jī)系統(tǒng)集成到一塊芯片上。一般在單片機(jī)里面以一塊嵌入式微處理器內(nèi)核為核心,然后集成上rom/eprom、ram、總線、總線邏輯、定時(shí)/計(jì)數(shù)器、watchdog、i/o、串行口、脈寬調(diào)制輸出、a/d、d/a、flash ram、eeprom等等必要的產(chǎn)品和功能外設(shè)。因?yàn)檫@些功能外設(shè)是集成在這塊單片機(jī)芯片中的,因此需要生產(chǎn)出一系列的產(chǎn)品方便用戶的定制。 目前的嵌入式微控制器主要有8051、p51xa、mcs

49、-251、mcs-96/196/296、c166/167、mc68hc05/11/12/16、68300等等。目前的嵌入式市場(chǎng)由單片機(jī)占領(lǐng)了約70%的市場(chǎng)份額。3)嵌入式dsp處理器 在dsp(digital signal processor)里面專門(mén)為系統(tǒng)結(jié)構(gòu)和指令系統(tǒng)進(jìn)行設(shè)計(jì),提高了編譯效率和執(zhí)行速度。在數(shù)字濾波、fft、譜分析、圖像處理的分析等領(lǐng)域,dsp正在大量進(jìn)入嵌入式市場(chǎng)。 因?yàn)楝F(xiàn)在嵌入式系統(tǒng)的智能化,例如需要推出各種帶有智能邏輯的消費(fèi)類產(chǎn)品,生物信息識(shí)別終端,adsl接入等等都需要實(shí)現(xiàn)運(yùn)算量較大的智能的化算法。這些正是dsp的強(qiáng)項(xiàng)。目前采用最多的是ti公司的tms320系列和mo

50、torola的dsp56000系列。2.2 rtos的要求開(kāi)發(fā)嵌入式系統(tǒng)需要一個(gè)支持實(shí)時(shí)多任務(wù)的操作系統(tǒng)(rtos)內(nèi)核來(lái)支持。因?yàn)榍度胧降膽?yīng)用不僅僅局限于原來(lái)的只是面對(duì)系統(tǒng)級(jí)的需求,而是需要面對(duì)用戶級(jí)的應(yīng)用,滿足在各個(gè)層次上尤其是消費(fèi)電子產(chǎn)品的需求。在這個(gè)方面,嵌入式的應(yīng)用系統(tǒng)的開(kāi)發(fā)和定制變得越來(lái)越重要。傳統(tǒng)的使用循環(huán)控制的嵌入式系統(tǒng)不能滿足足夠的需求。目前在中國(guó)大多數(shù)的嵌入式軟件開(kāi)發(fā)還是在基于處理器直接編寫(xiě),而沒(méi)有采用商品化的rtos,那么在開(kāi)發(fā)嵌入式系統(tǒng)時(shí)無(wú)法將系統(tǒng)軟件和應(yīng)用軟件分開(kāi)處理,每次開(kāi)發(fā)的時(shí)候都要特別定制系統(tǒng)軟件和應(yīng)用軟件,開(kāi)發(fā)的代價(jià)太大,成本過(guò)高。使用rtos內(nèi)核,可以針對(duì)使

51、用的處理器進(jìn)行優(yōu)化設(shè)計(jì),做成一個(gè)高效率的實(shí)時(shí)多任務(wù)內(nèi)核。并且在上面可以根據(jù)不同處理器體系結(jié)構(gòu)設(shè)計(jì)出不同的api接口,這些是rtos基于設(shè)備獨(dú)立的應(yīng)用程序開(kāi)發(fā)基礎(chǔ)。在rtos基礎(chǔ)上可以編寫(xiě)出各種硬件驅(qū)動(dòng)程序、專家?guī)旌瘮?shù)、行業(yè)庫(kù)函數(shù)、產(chǎn)品庫(kù)函數(shù),和通用性的應(yīng)用程序一起,可以作為產(chǎn)品銷(xiāo)售。這個(gè)角度說(shuō),rtos又是一個(gè)軟件開(kāi)發(fā)平臺(tái)。在rtos里面最關(guān)鍵的部分是實(shí)時(shí)多任務(wù)內(nèi)核,需要實(shí)現(xiàn)任務(wù)管理、定時(shí)器管理、存儲(chǔ)器管理、資源管理、事件管理、系統(tǒng)管理、消息管理、隊(duì)列管理、旗語(yǔ)管理等等。實(shí)現(xiàn)出效率高,體積小,移植功能強(qiáng)大、易于定制的rtos是開(kāi)發(fā)嵌入式系統(tǒng)的關(guān)鍵問(wèn)題。2.2.1 rtos的概念從表現(xiàn)上講,rt

52、os是實(shí)時(shí)嵌入式系統(tǒng)在啟動(dòng)之后運(yùn)行的一段背景程序。應(yīng)用程序是運(yùn)行在這個(gè)基礎(chǔ)之上的多個(gè)任務(wù)。rtos根據(jù)各個(gè)任務(wù)的要求,進(jìn)行資源(包括存儲(chǔ)器、外設(shè)等)的管理、消息管理、任務(wù)調(diào)度、異常處理等工作。在rtos支持的系統(tǒng)中,每個(gè)人任務(wù)都有優(yōu)先級(jí)別,rtos根據(jù)各個(gè)任務(wù)的優(yōu)先級(jí)來(lái)動(dòng)態(tài)的切換各個(gè)任務(wù),保證對(duì)實(shí)時(shí)性的要求。這種體系結(jié)構(gòu)簡(jiǎn)化了編程結(jié)構(gòu),比過(guò)去的循環(huán)控制的體系結(jié)構(gòu)有了很大的改進(jìn)。從性能上講,rtos和普通的os存在的區(qū)別主要是在“實(shí)時(shí)”二字上?!霸趯?shí)時(shí)計(jì)算中,系統(tǒng)的正確性不僅僅依賴于計(jì)算的邏輯結(jié)果而且依賴于結(jié)果產(chǎn)生的時(shí)間?!?從這個(gè)角度上看,我們可以把實(shí)時(shí)系統(tǒng)定義成“一個(gè)能夠在實(shí)現(xiàn)指定或者確定的

53、時(shí)間內(nèi)完成系統(tǒng)功能和對(duì)外部或內(nèi)部、同步或異步時(shí)間做出響應(yīng)的系統(tǒng)”。4這個(gè)定義要求了:1 系統(tǒng)應(yīng)該有在事先定義的時(shí)間范圍內(nèi)識(shí)別和處理離散事件的能力;2 系統(tǒng)能夠處理和存儲(chǔ)控制系統(tǒng)所需要的大量的數(shù)據(jù)。2.2.2 rtos的分類方法開(kāi)發(fā)rtos,需要更多的關(guān)注到將來(lái)在其上設(shè)計(jì)出合適的應(yīng)用相關(guān)的考慮。根據(jù)不同的應(yīng)用,可以有很多種不同的側(cè)重點(diǎn),不同的側(cè)重點(diǎn)對(duì)應(yīng)了不同的分類方法。下面介紹兩種主要是按照實(shí)時(shí)調(diào)度算法來(lái)分類方法。1 周期性和非周期性周期性就是系統(tǒng)通過(guò)傳感器或者其他周期性設(shè)備對(duì)外部環(huán)境的變化做出探測(cè),對(duì)在這個(gè)周期內(nèi)探測(cè)到的變化做出反應(yīng)。比如在化工廠中反應(yīng)爐的溫度探測(cè)控制,如果探測(cè)到溫度升高一定水

54、平,需要添加某種材料,保證化學(xué)反應(yīng)的效率,并且將溫度下降。非周期性就是外部事件是循環(huán)性發(fā)生的但不是有規(guī)律性的,或者是突發(fā)事件。比如說(shuō),一架客機(jī)飛入一個(gè)進(jìn)行空中交通管制的管制范圍內(nèi)所產(chǎn)生的事件。使用非周期性的檢測(cè)就比周期性檢測(cè)要好一些。2 硬實(shí)時(shí)和軟實(shí)時(shí)硬實(shí)時(shí)和軟實(shí)時(shí)的區(qū)別就在于對(duì)外界的事件做出反應(yīng)的時(shí)間。硬實(shí)時(shí)系統(tǒng)必須是對(duì)及時(shí)的事件做出反應(yīng),絕對(duì)不能錯(cuò)過(guò)事件處理的deadline情況。在硬實(shí)時(shí)系統(tǒng)中如果出現(xiàn)了這樣的情況就意味著巨大的損失和災(zāi)難。比如說(shuō)核電站中的堆芯溫度控制系統(tǒng),如果沒(méi)有對(duì)堆芯過(guò)熱做出及時(shí)的處理,后果不堪想象。軟實(shí)時(shí)系統(tǒng)是指,如果在系統(tǒng)負(fù)荷較重的時(shí)候,允許發(fā)生錯(cuò)過(guò)deadline

55、的情況而且不會(huì)造成太大的危害。比如說(shuō)程控電話系統(tǒng)允許在105個(gè)電話中有一個(gè)接不通。硬實(shí)時(shí)系統(tǒng)和軟實(shí)時(shí)系統(tǒng)的實(shí)現(xiàn)區(qū)別主要是在選擇調(diào)度算法上。選擇基于優(yōu)先級(jí)調(diào)度的算法足以滿足軟實(shí)時(shí)系統(tǒng)的需求,而且可以提供高速的響應(yīng)和大的系統(tǒng)吞吐率;而對(duì)硬實(shí)時(shí)系統(tǒng)來(lái)說(shuō),需要使用的算法就應(yīng)該是調(diào)度方式簡(jiǎn)單,反應(yīng)速度快的實(shí)時(shí)調(diào)度算法了。2.2.3 rtos的體系結(jié)構(gòu)rtos的體系結(jié)構(gòu)可以用下圖來(lái)表示:圖1:rtos體系結(jié)構(gòu)圖1)硬件抽象層(hal)包含了所有和硬件平臺(tái)相關(guān)的代碼,如上下文切換和i/o寄存器訪問(wèn)等等。它存在于rtos的最底層,直接訪問(wèn)和控制硬件,對(duì)其上層的rtos的機(jī)器無(wú)關(guān)代碼提供訪問(wèn)和控制服務(wù)。這樣可以

56、簡(jiǎn)化rtos內(nèi)核的移植工作,除了設(shè)備驅(qū)動(dòng)程序之外,在移植的時(shí)候只需要修改hal的代碼就可以了。2)rtos內(nèi)核(kernel)是用來(lái)為大多數(shù)程序乃至os(網(wǎng)絡(luò)、文件系統(tǒng)、驅(qū)動(dòng)程序)構(gòu)建一系列在抽象的文件上工作的抽象機(jī),使用戶程序及上層os組件對(duì)系統(tǒng)設(shè)備透明。在這個(gè)內(nèi)核里面需要實(shí)現(xiàn)如下的接口界面:l 多線程支持(線程管理,線程同步原語(yǔ))l 內(nèi)存分配原語(yǔ)函數(shù),l 文件操作接口函數(shù)l 中斷、異常及定時(shí)器函數(shù)l 其它標(biāo)準(zhǔn)c庫(kù)函數(shù)l 程序動(dòng)態(tài)裝載/卸載3)在提供的rtos接口上需要有對(duì)用戶程序提供的函數(shù)接口,專門(mén)為用戶定制網(wǎng)絡(luò)、圖形、視頻等接口。并且提供驅(qū)動(dòng)程序開(kāi)發(fā)界面,方便開(kāi)發(fā)者對(duì)不同需求的設(shè)備定制驅(qū)

57、動(dòng)程序。一般來(lái)說(shuō),rtos內(nèi)核的實(shí)現(xiàn)都為微內(nèi)核的體系結(jié)構(gòu)。所謂微內(nèi)核技術(shù)是指將必需的功能(如進(jìn)程管理、任務(wù)通信、中斷處理、進(jìn)程調(diào)度)放在內(nèi)核中,而將那些不是非常重要的核心功能和服務(wù)(文件系統(tǒng)、存儲(chǔ)管理、網(wǎng)絡(luò)通信、設(shè)備管理)等等作為內(nèi)核之上可配置的部分。這樣,整個(gè)操作系統(tǒng)就是由提供一些基本服務(wù)機(jī)制的微內(nèi)核加上一些服務(wù)進(jìn)程構(gòu)成,系統(tǒng)的各個(gè)系統(tǒng)調(diào)用和服務(wù)都是由內(nèi)核發(fā)消息到不同的服務(wù)進(jìn)程,服務(wù)進(jìn)程執(zhí)行相應(yīng)的操作,然后以消息的方式返回內(nèi)核。使用微內(nèi)核的體系結(jié)構(gòu),使得rtos體積很小,便于直接放在rom中,實(shí)現(xiàn)rom固化;同時(shí)方便進(jìn)行模塊化的擴(kuò)展。使用微內(nèi)核的結(jié)構(gòu)也存在很多的缺點(diǎn),如操作系統(tǒng)的服務(wù)模塊在獨(dú)立的地址空間運(yùn)行,雖然可以將不同模塊間的內(nèi)存錯(cuò)誤隔離開(kāi)來(lái),但是使得進(jìn)程間通信和上下文切換的時(shí)間和開(kāi)銷(xiāo)大大增加,降低了系統(tǒng)效率。2.2.4 rtos的衡量標(biāo)準(zhǔn)用來(lái)作為rtos性能衡量標(biāo)準(zhǔn)的指標(biāo)主要有如下幾種:1)系統(tǒng)響應(yīng)時(shí)間(system response time):系統(tǒng)在發(fā)出處理要求到系統(tǒng)給出應(yīng)答信號(hào)的時(shí)間;2)任務(wù)切換時(shí)間(context-switching time):多任務(wù)之間進(jìn)行切換而花費(fèi)的時(shí)間;3)中斷延遲時(shí)間(interrupt latency time):從接收到中斷信號(hào)到操作系統(tǒng)做出響應(yīng),并完成進(jìn)入中

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論