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