新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 在嵌入式系統(tǒng)中應用Linux深入探究

        在嵌入式系統(tǒng)中應用Linux深入探究

        作者: 時間:2012-05-22 來源:網(wǎng)絡 收藏


        有些設計者不能夠準確地分析出系統(tǒng)真正實時需求,很多情況下對實時的需求在1-5毫秒內響應就可以;大部分情況下,軟足以滿足要求:WINDOWSS的 98Crashed_Yet在98%的時間內可以在4每秒內響應,如果時間是20秒,則總會響應。那些軟實時性容易滿足。需要考慮的因素包括:上下文轉換時間、中斷延遲、任務的優(yōu)先級和任務調度方式。上下文轉換時間曾經(jīng)是實時性分析的重點,但是因為CPU速度大幅度提高,它不再是關鍵問題。

        現(xiàn)在,嚴格要求的實時性任務的決定因素是中斷例程本身和內核中的其他驅動程序有關;而響應延遲時間主要受中斷的優(yōu)先級和其他進程會暫時地關閉中斷響應的影響。因此管理和驅動中斷的機制必須保證實時要求。

        對于Intelx86處理器,實時擴充可以在系統(tǒng)中很容易進行,RT-就是很好的例子(見 http://www.rtlinux.org/)。它主要是把的任務作為自己的一個任務,因此實時性要求很高的任務不受非實時的 Linux的干擾,可以得到滿足。另外還提供了實時任務和Linux的基本核心和其他任務間的接口,這些接口是不需要很強的實時性。這種架構為其他的提供了一個參考。關鍵因素就是實時性的代碼和非實時代碼分開設計,而且實時應用程序的處理方式和其他程序的處理方式差不多。

        3.適合的Linux

        有一種觀點認為:用戶不必直接干預機器的運行,即沒有用戶接口的應用系統(tǒng)是。其他的比如電梯控制系統(tǒng)應該是嵌入式系統(tǒng),但是它需要人為控制。連接網(wǎng)絡需要監(jiān)視和控制網(wǎng)絡系統(tǒng)運行的系統(tǒng),仍然是嵌入式系統(tǒng);因此應該根據(jù)系統(tǒng)的主要目的和功能來判定是否是嵌入式系統(tǒng)。

        最小的嵌入式Linux系統(tǒng)必須包括以下主要的要素:

        1.啟動程序;

        2.融合了內存管理、進程管理和時間分批服務的核心;

        3.初始化程序。

        為了達到要求,而且為了保持最小系統(tǒng),需要添加以下要素:

        硬件的驅動程序;

        必須的應用程序。

        根據(jù)其他需要,你可能增加以下功能:

        1.文件管理系統(tǒng)(在ROM或RAM中);

        2.TCP/IP通訊協(xié)議;

        3.磁盤。

        4.選擇合適的硬件平臺選擇硬件平臺是一件很麻煩的事,受很多因素影響,比如公司的指導原則、個人偏見、過去產(chǎn)品的影響和消息不靈通等。費用是考慮的主要因素。提醒你考慮價格時不要只注意CPU的價錢,要對整個系統(tǒng)進行考慮。但是如果你是系統(tǒng)設計師,你必須把軟件的實時性和硬件結合起來考慮。首先考慮需要多快的CPU,然后把選擇三倍化的結果;因為在實際中應用程序會使用一些cache(緩沖),所以理論上速度很快的CPU的實際速度會降低。其次考慮選擇多快的BUS(總線);如果可以包括其他的總線,比如PCI,就加上它。因為有時即使使用DMA方式傳輸,也會使快速CPU變得象蝸牛一般。選用集成外設的CPU比較好,而且還可選用現(xiàn)成的外設驅動程序,大大減少調試工作,實際上有些芯片集成的功能并不是我們所需要的,所以也不要認為凡是集成的都是好東西。

        5.壓縮制作Linux系統(tǒng)對Linux的通常感覺是大,似乎不適合于嵌入式系統(tǒng)。事實并非如此。因為典型的發(fā)行Linux集成了很多桌面PC機需要而嵌入式系統(tǒng)并不需要的功能。首先,我們可以把核心(kernel)從其他任務中分離出來。標準的 Linux核心總是貯留在內存中;當需要應用程序時,它把需要的程序從磁盤調入內存運行。程序運行完畢,內存清空,卸載程序。在嵌入式系統(tǒng)中,經(jīng)常沒有磁盤。目前有兩種辦法來處理沒有磁盤的情況。對于比較簡單的系統(tǒng),核心(kernel)和應用程序同時貯留在內存,當系統(tǒng)啟動時,就啟動應用程序。這種方式和以前的嵌入式系統(tǒng)一樣工作。Linux系統(tǒng)也支持這種方式。第二種方式是,考慮到Linux有l(wèi)oad(裝載)和 unload(卸載)程序的能力,嵌入式系統(tǒng)也可以使用這一特點,來節(jié)約內存。假如有一個典型的嵌入式系統(tǒng):包括8到16M的 FlashMemory和8到16M的RAM;可以在FlashMemory上建立文件系統(tǒng),使用Flash的驅動程序來驅動 FlashMemory上文件系統(tǒng)工作。另外,也可以使用FlashDidsk,其中有一個例子是M-system的 DiskOnChip,它可以支持達160M的FlashDisk。把使用的應用程序文件存放在Flash文件系統(tǒng)上,根據(jù)需要調入程序。
        linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區(qū)

        關閉
        主站蜘蛛池模板: 特克斯县| 定兴县| 沁阳市| 斗六市| 绥棱县| 容城县| 邮箱| 荆州市| 元阳县| 乌兰县| 新沂市| 海口市| 浦县| 独山县| 阳朔县| 正阳县| 岳西县| 凌海市| 邮箱| 深圳市| 政和县| 石嘴山市| 时尚| 西贡区| 建湖县| 黄浦区| 寿宁县| 鲁甸县| 滨海县| 文登市| 韩城市| 东港市| 长岛县| 苗栗市| 明水县| 九江市| 嘉祥县| 抚州市| 华容县| 玉林市| 洛宁县|