<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > PC/104平臺嵌入式Linux系統(tǒng)核心定制方法

          PC/104平臺嵌入式Linux系統(tǒng)核心定制方法

          作者: 時間:2008-11-26 來源:網(wǎng)絡(luò) 收藏

            

            摘 要:基于/104平臺的嵌入式Linux技術(shù)在海洋自動觀測系統(tǒng)中具有廣泛的應(yīng)用前景,Linux核心方法的研究是嵌入式Linux系統(tǒng)研制的關(guān)鍵工作。本文結(jié)合/104平臺嵌入式Linux系統(tǒng)的研制,詳細(xì)論述了Linux內(nèi)核和文件系統(tǒng)的方法。

            關(guān)鍵詞:Linux;內(nèi)核;文件系統(tǒng);

            本文就如何對Linux系統(tǒng)的核心實現(xiàn)進(jìn)行論述,主要內(nèi)容包括Linux內(nèi)核部分和文件系統(tǒng),系統(tǒng)定制的硬件平臺是/104單片機(jī)。之所以將Linux內(nèi)核定制、文件系統(tǒng)定制單獨討論,是因為在基于任何平臺的Linux系統(tǒng)定制過程中,其內(nèi)核和文件系統(tǒng)的定制工作都具有相似的特征和相似的過程。

            在基于PC/104平臺的嵌入式Linux研制過程中,進(jìn)行核心定制的主要目的是從需求出發(fā)使系統(tǒng)最大程度地滿足應(yīng)用的需要、最大程度地適應(yīng)系統(tǒng)硬件平臺、最優(yōu)化地支持系統(tǒng)外圍設(shè)備和應(yīng)用程序,并且盡量減少對系統(tǒng)資源的占用、減少系統(tǒng)功耗,增強(qiáng)系統(tǒng)的安全性、穩(wěn)定性、可靠性,另外使系統(tǒng)真正地實現(xiàn)產(chǎn)權(quán)自主化。

            內(nèi)核定制

            一般操作系統(tǒng)的內(nèi)核從體系結(jié)構(gòu)角度可以劃分為兩種:微內(nèi)核體系結(jié)構(gòu)、單內(nèi)核體系結(jié)構(gòu)。微內(nèi)核體系結(jié)構(gòu)只在內(nèi)核中包括了一些基本的內(nèi)核功能,其它部分在用戶內(nèi)存空間運行,這種結(jié)構(gòu)需要在各層之間進(jìn)行調(diào)用,因此會有一定的消耗,使執(zhí)行效率不如單內(nèi)核體系結(jié)構(gòu)。Linux采用單內(nèi)核體系結(jié)構(gòu),內(nèi)核的所有部分都集中在一起,這樣能使系統(tǒng)的各部分直接溝通,有效地縮短任務(wù)之間的切換時間,提高了系統(tǒng)的響應(yīng)速度,實時性好并提高了CPU的利用率,但在系統(tǒng)比較大的時候體積也比較大,與嵌入式系統(tǒng)容量小、資源有限的特點不符合,因此需要進(jìn)行非常精細(xì)的定制以適應(yīng)嵌入式系統(tǒng)的需要。

            內(nèi)核版本

            Linux的源程序是完全公開的,任何人只要遵循GPL,就可以對內(nèi)核加以修改并發(fā)布給他人使用。Linux的開發(fā)采用的是雙樹系統(tǒng)。一個樹是穩(wěn)定樹(stable tree),另一個樹是非穩(wěn)定樹(unstable tree)或稱開發(fā)樹(development tree)。一些新特性、實驗性改進(jìn)等都將首先在開發(fā)樹中進(jìn)行,如果在開發(fā)樹中所做的改進(jìn)也可以應(yīng)用于穩(wěn)定樹,那么在開發(fā)樹中經(jīng)過測試以后,在穩(wěn)定樹中將進(jìn)行相同的改進(jìn)。一旦開發(fā)樹經(jīng)過了足夠的發(fā)展,開發(fā)樹就會成為新的穩(wěn)定樹。開發(fā)樹就體現(xiàn)在源程序的版本號中;源程序版本號的形式為x.y.z,對于穩(wěn)定樹來說,y是偶數(shù);對于開發(fā)樹來說,y比相應(yīng)的穩(wěn)定樹大一(是奇數(shù))。到目前為止,穩(wěn)定樹的最高版本是2.4.21,開發(fā)樹的最新版本是2.5.73。本項目采用的內(nèi)核版本是2.2.20,選擇2.2.20版本內(nèi)核的主要原因有:

            a.版本為2.0及以前內(nèi)核中的設(shè)備驅(qū)動不如2.2版本的全面;

            b.版本為2.2的內(nèi)核增加了很多新特性;

            c.新的版本為2.4的內(nèi)核對PC/104的CPU塊支持不好;

            d.由于不明原因版本為214的內(nèi)核對PC/104 ;

            e.版本為2.4內(nèi)核相對龐大,編譯后的內(nèi)核文件也相對較大;

            f.版本為2.2的內(nèi)核已完全能夠滿足本項目的需要。

            目前,大多數(shù)面向數(shù)據(jù)采集的嵌入式Linux研制工作都是基于版本2.0/2.2內(nèi)核進(jìn)行的。實際上,內(nèi)核版本的提升,其復(fù)雜度也隨之升高,也會給嵌入式系統(tǒng)的定制工作帶來很多的困難。

            內(nèi)核設(shè)置

            內(nèi)核設(shè)置工作可以通過直接修改內(nèi)核源代碼中的Make file文件、Config.in文件和內(nèi)核源代碼根目錄下的.config文件來完成。內(nèi)核源代碼中的每個目錄都有各自的用途,每個子目錄下也都有相應(yīng)的Make file文件。例如,在目錄drivers/block/ Config.in文件中有如下語句:


          上一頁 1 2 3 4 5 6 7 8 9 10 11 12 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();