<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

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

在嵌入式系統中應用Linux深入探究

作者: 時(shí)間:2012-05-22 來(lái)源:網(wǎng)絡(luò ) 收藏


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

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

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

3.適合的Linux

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

最小的嵌入式Linux系統必須包括以下主要的要素:

1.啟動(dòng)程序;

2.融合了內存管理、進(jìn)程管理和時(shí)間分批服務(wù)的核心;

3.初始化程序。

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

硬件的驅動(dòng)程序;

必須的應用程序。

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

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

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

3.磁盤(pán)。

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

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

上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>