Linux已被移植到Atmel的ATmega微控制器
Ubuntu Linux發(fā)行版已經(jīng)被移植到最便宜、最便攜的平臺中:一個Atmel的ATmega微控制器。
擁有一個20MHz的8位AVR處理器,128KB的閃存和整塊16KB的SRAM,ATmega1284P并不是建立微型計算機(jī)最合乎邏輯的選擇。它是在Arduino原型平臺中找到的同樣基礎(chǔ)的設(shè)計:一個微控制器,設(shè)計使用它的32引腳接口與如傳感器、電機(jī)和LED等外部硬件相連接。
德米特里·格林伯格的設(shè)計,可以在一個Atmel微控制器上運(yùn)行完整的GNU/Linux操作系統(tǒng),盡管速度緩慢
但是,這并沒有阻止出生在俄羅斯現(xiàn)居住于加利福尼亞州的程序員德米特里·格林伯格進(jìn)行向該器件中移植Linux內(nèi)核和完整的桌面操作系統(tǒng)的挑戰(zhàn)。
“經(jīng)??梢钥吹匠鯇W(xué)者在微控制器論壇上詢問能否在他們微不足道的8位小微處理器中運(yùn)行Linux”,格林伯格在博客中對于他的靈感解釋說?!斑@些問題的結(jié)果通常是笑聲。這種問題在Linux論壇中也是經(jīng)常見到的,詢問Linux運(yùn)行的最低要求是什么。通常答案是Linux要求一個32位架構(gòu)和一個MMU并至少有1MB的RAM來滿足內(nèi)核的需要?!?/P>
格林伯格決定不用軟件而是用硬件仿真ATmega芯片,這樣的限制可能被打破。設(shè)計他自己的ARM仿真器——“移植別人的代碼沒有樂趣,再加上沒有仿真器;我發(fā)現(xiàn)以一種方式寫這些代碼可以使它們易于移植到8位的設(shè)備中”,他解釋說——格林伯格可以使ATmega1284P芯片假裝成PXA255 ARMMv5TE處理器。
將芯片從原有的20MHz超頻到24MHz,并增加一個16MB的SIMM模塊用于RAM,以及1GB的SD卡用于操作系統(tǒng)本身,格林伯格能夠成功的加載一個Ubuntu Linux的老副本到設(shè)備上,連同圖形用戶界面。
雖然它可以工作,但結(jié)果并不是完全的快速守護(hù)進(jìn)程:格林伯格計算的啟動過程大約需要兩個小時才能運(yùn)行到BASH Shell(同樣的事情上網(wǎng)本可以在平均2秒鐘左右完成),進(jìn)一步需要四個小時來加載操作系統(tǒng)的其他部分?!皢覺(圖形用戶界面)需要花費(fèi)更多的時間”,格林伯格補(bǔ)充道。
一個命令并在1分鐘內(nèi)獲得一個回應(yīng)。也就是說,實際上你可以使用它。比如今天我用它格式化了一個SD卡”。這絕對不是最快的,但我覺得它可能是最便宜、最慢、最簡單的手工組裝、最低的部件數(shù)量以及最低端的Linux PC。電路板是使用導(dǎo)線手工焊接的,甚至沒有使用印刷電路板(PCB)的必要。
格林伯格的設(shè)計,是在非商業(yè)化得開源許可證下發(fā)布的,它可以移植到其他的微控制器,如更便宜的ATmega644。當(dāng)你在討論關(guān)于僅僅值8英鎊的芯片時,然而,可能值得選擇更強(qiáng)大的ATmega1284P。
這相當(dāng)于一塊ARMv5TE處理器運(yùn)行在大約6.5KHz(沒錯,我就是要輸入KHz而不是MHz),構(gòu)建的全部細(xì)節(jié)可以在格林伯格的個人網(wǎng)站上找到。
評論