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