新聞中心

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

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

作者: 時間:2012-04-05 來源:網絡 收藏
本文就如何對系統(tǒng)的核心實現(xiàn)定制進行論述,主要內容包括部分和,系統(tǒng)定制的硬件平臺是PC/104單片機。之所以將定制、定制單獨討論,是因為在基于任何平臺的Linux系統(tǒng)定制過程中,其的定制工作都具有相似的特征和相似的過程。

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

內核定制

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

內核版本

Linux 的源程序是完全公開的,任何人只要遵循GPL,就可以對內核加以修改并發(fā)布給他人使用。Linux的開發(fā)采用的是雙樹系統(tǒng)。一個樹是穩(wěn)定樹(stable tree),另一個樹是非穩(wěn)定樹(unstable tree)或稱開發(fā)樹(development tree)。一些新特性、實驗性改進等都將首先在開發(fā)樹中進行,如果在開發(fā)樹中所做的改進也可以應用于穩(wěn)定樹,那么在開發(fā)樹中經過測試以后,在穩(wěn)定樹中將進行相同的改進。一旦開發(fā)樹經過了足夠的發(fā)展,開發(fā)樹就會成為新的穩(wěn)定樹。開發(fā)樹就體現(xiàn)在源程序的版本號中;源程序版本號的形式為x.y.z,對于穩(wěn)定樹來說,y是偶數(shù);對于開發(fā)樹來說,y比相應的穩(wěn)定樹大一(是奇數(shù))。到目前為止,穩(wěn)定樹的最高版本是2.4.21,開發(fā)樹的最新版本是2.5.73。本項目采用的內核版本是2.2.20,選擇2.2.20版本內核的主要原因有:
a.版本為2.0及以前內核中的設備驅動不如2.2版本的全面;
b.版本為2.2的內核增加了很多新特性;
c.新的版本為2.4的內核對PC/104的CPU塊支持不好;
d.由于不明原因版本為214的內核對PC/104 ;
e.版本為2.4內核相對龐大,編譯后的內核文件也相對較大;
f.版本為2.2的內核已完全能夠滿足本項目的需要。

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

內核設置

內核設置工作可以通過直接修改內核源代碼中的Make file文件、Config.in文件和內核源代碼根目錄下的.config文件來完成。內核源代碼中的每個目錄都有各自的用途,每個子目錄下也都有相應的Make file文件。例如,在目錄drivers/block/ Config.in文件中有如下語句:
if[“$CONFIG_BLK_DEV_HD_DE”=
“y”-o“$CONFIG_BLK_DEV_HD_ONLY”=
“y”];then
define_boolCONFIG_BLK_DEV_HDy
else
define_boolCONFIG_BLK_DEV_HDn
fi
這段語句的作用是定義在塊設備中DE塊設備驅動可以被編譯在內核中也可以被編譯成內核模塊。采用修改配置文件的方式設置內核比較復雜,而且容易出現(xiàn)錯誤,但是對深入剖析和理解內核幫助很大。比較有效的方式還是直接利用Linux內核提供的工具進行內核設置。在Linux源代碼目錄下,Linux內核設置命令是:
# make menu config
命令執(zhí)行后會顯示一個字符型菜單配置環(huán)境,在該環(huán)境中有以下選項,通過這些選項設置可以定制Linux內核的各項功能,并對內核實現(xiàn)裁減。下面對主要設置選項進行介紹:

(1) Code maturity level options代碼成熟等級。此處只有一項:prompt for development and/or incomplete code/drivers,如果要試驗現(xiàn)在仍處于實驗階段的功能,就必須把該項選擇為Y了;否則可以把它選擇為N。在這部分,設定是否允許內核的一些試驗選項被使用。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

上一頁 1 2 3 4 下一頁

評論


相關推薦

技術專區(qū)

關閉