LINUX在嵌入式系統上的實踐和探討(轉)

post0發表於2007-08-11
LINUX在嵌入式系統上的實踐和探討(轉)[@more@]

LINUX在嵌入式系統上的實踐和探討

1。實踐目的

在一個成熟的嵌入式硬體平臺上,安裝KERNEL 2.6的LINUX;以實踐一個嵌入式系統的開發初步。

2。硬體平臺

VIA公司的EmCore-V611V12r/E533

其平臺主要應用於瘦客戶機、機頂盒、查詢機、閘道器防火牆、伺服器等。相對硬體配置高,條件也不苛刻,但對軟體的擴充套件、升級等要求高。

VIA公司的VEPD是X86架構在Embedded系統的延伸,所以軟體的可移殖利用性強,開發週期短等特點。

3。安裝LINUX

A. 初始化CF卡

將CF卡插在宿主機的ID1上。格式化CF卡,建立檔案系統。CF卡出廠的時候分割槽一般如下:

0....Bootloader

1....Factory  configuration

2

.

. 核心和根檔案

.

.

N

分割槽0....放置Bootloader

分割槽1....放置Factory configuration

分割槽2...N放置 核心、根檔案系統 等

一般不同的硬體和LINUX的Bootloader 也不盡相同。如UCLinux 一般用COLILO等。

嵌入式系統所用的檔案格式一般有JFFS、JFFS2、EXT2。而我們現在的系統可以支援EXT3。

1)fdisk /dev/sda

2)mkfs.ext3 /dev/sda1

當然也可以用圖形化工具完成1)2)步驟。

B. 在CF卡上建立和CP相關的必要檔案

1)mount CF卡

2)建立/mnt/cf/boot、/mnt/cf/boot/grub 等目錄。

3)CP grub下的檔案到/mnt/cf/boot/grub,CP 其他的根系統檔案。

C. 編譯針對目標機的2.6核心

我的原始檔目錄為/data/linux-2.6.6,輸出目錄設定為/data/cf

1)cd /data/linux-2.6.6

2)make mrproper

3)make O=/data/cf gconfig

這裡主要是對目標機的硬體選相關的硬體選項,捨去不要的選項。CPU選VIA FAMILY、FLASH驅動選在MTD裡,還有網路卡、USB、音效卡等

4)make O=/data/cf

5)cp /data/cf/arch/i386/boot下的vlimuz、initrid.img 到 /mnt/cf/boot下

D. install grub

1) 按目標機修改grub.conf

2) 執行grub,進入grub的命令模式

3) grub > root (hd1,0)

4) grub > setup (hd1)

5) grub > quit

OK,系統安置完成。

E. 關機,取嚇CF卡,插到目標機上,開機,引導........成功!!!

4。 比較其他的嵌入式系統開發

和其它的系統比較,少實踐了交叉編譯,交叉連結,stub除錯,規劃FLASH在記憶體裡的位置分配,燒寫FLASH的Bootloader等。

但是一個良好的開端是成功的開始。

5。 探討

隨著硬體的發展,嵌入式系統的開發也會更加成熟和容易。早期的嵌入式系統甚至沒有OS只有簡單的迴圈和可程式設計邏輯陣列,程式很難再利用和移植。

後來,有了一些專用的OS。所以,工業計算機+OS是以後Embedded 系統的發展方向。對於一些新的開發人員來說可以把更多的精力放在軟體上,而不

用太多的考慮硬體了,降低了開發難度,縮短了嵌入式系統的開發週期。在以後的資訊家電裡,工業計算機將會得到大大地應用。當然,可程式設計邏輯陣列

也會發展,在一個遙控器裡也只可能用可程式設計邏輯陣列來完成的。

浙江省城鄉規劃設計研究院計算機中心

陳剛 2004.6.

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8225414/viewspace-944762/,如需轉載,請註明出處,否則將追究法律責任。

相關文章