星期六, 11月 06, 2004

~uClinux~

開始玩embedded因緣際會接觸到的Linux kernel image,滿值得看的,

特點是Kernel Image非常的小喔~

緣起於目前有些embedded的cpu沒支援MMU所以出現了這個project

www.uclinux.org官網

一篇介紹uClinux原理的大陸文章

~ARM Dev. Board~

今天終於到天瓏把相了粉久的版子買起來了,為各位介紹一下囉~

介紹網頁

版子上面的cpu是採用CX74200 network processor 75MHz,2MB的Flash

和64MB的SDRAM(4*512k*32bits),上面有4個LAN port和一個WAN port,

哇勒..這應該可以用來做router耶~ p(^_^)q ,

不過當然啦~得先把必要的modules兜好,

對當前在玩Linux Network Stack的hacker而言,

這個版子無非是一個粉好下手的平台 :-)

另外上面還附上了一排16*2 dots matrix LCD,一個單位的7 segment 數字顯示

用來debug,

另外有兩個9-pin 的 D-Sub RS232, 也就是昔日搖桿接的Serial port,

可以用來接電腦,用Terminal來執行linux命令

在OS方面,

Kernel採用了uClinux Kernel image,現在看到一些projects採用

Arm + uClinux,uClinux是一個Based on linux kernel 2.0所開發,

拿掉了intel的MMU支援,

以滿足部分不支援MMU的CPU在處理OS要求位址時的替代

在一般標準Linux以及標準PC使用的CPU如Intel的Pentium、賽揚系列和

AMD的K、度龍系列裡,

MMU扮演著將 Virtual Memory Address Mapping 為 Physical Memory Address

而在一些用在Embedded等的CPU裡,有些廠商拿掉了MMU,採用了直接對storege

進行physical memory address segmentation 機制,也就是說,Programmer

的Process直接Touch Physical Memory,並未保護 ~

由於拿掉及改寫MMU-less之下的機制,並在新的版本裡支援了動態連結庫.so

也就是Windows系統裡.DLL所扮演的角色

因此使用uClinux的Kernel Image將會非常的~小 :D

在project網站裡說明一般情況下Kernel會小於500K,相較於現在動不動則上MB的

2.0版本以後的Standard Linux Kernel而言,尤其是對記憶體和CPU速度受限制的

Embedded environment而言,無非是一大福音啊 m(_-_)m

另外,在一些System 以及 Networking 的 utilities方面,採用了BusyBox project

這讓我回想起大學時代跟一堆同學在汪柏老師以及余助教上的畢業專題時光 ^^"

接下來會開始摸索好一陣子,有心得會繼續寫下來 :-)

對了,以上如果有侵權的部分煩請告知嘿~