Linux On ARM開發紀要

來源:互聯網
上載者:User

標籤:

    ARM的開發與X86還是有不少區別的,這裡做了一些簡單的介紹,以方便X86下的開發人員能更快地切換到Linux on ARM的體系下面來。   

    ARM近年來的發展可謂如日中天,蘋果和Android的使用是最為快速的推動力,而今Windows也支援ARM了,而更小型的樹莓派和一些超低功耗模組也都有使用ARM的核心了。

    儘管微軟已經耐不住寂寞,大部分使用ARM的裝置還是Linux或是類Linux的系統核心,因為Linux的可裁剪性非常好,而且可用的資源非常非常多了。在“軟體定義程式世界”的思路引領下,Linux on ARM必將是未來的大潮流。

    Linux on ARM與X86體系下的不同點是採用“裝置”的概念,“X86下的BIOS”是可以自己燒進去的(就是那個啟示時按個燒寫鍵,就把引導區少到Flash的指定地區了,這個地址在給定板子上是不能變的),這個叫boot-loader,一般用的u-boot。當然,因為u-boot是開源的,因此出現了很多變體,但基本上都是大同小異。

    boot-loader啟動後,就會跳轉到下一個地址,開始載入Linux核心,這裡頭最重要的是檔案系統。有了檔案系統,就不用再去讀寫Flash的裸扇區了,而是通過檔案系統進行資料檔案的操作。然後將會進入命令列介面,有一個叫Busy-box的小程式把常用的一些命令都打包到了一起,使用起來更方便、體積更小、運行更快。這時候,幾乎能幹shell下能乾的所有事情了。通過ssh就可以實現遠端管理了。

    如果要進入圖形介面,就需要運行一個X11的Server程式,還可以安裝xrdp服務,然後通過“遠端桌面”進行登入、管理,就跟運行一個普通的Linux電腦裝置一模一樣了。因為ARM的功耗和發熱量都比較小,甚至大部分都不需要風扇散熱、完全靜音,非常適合各種裝置的開發。以後的各種智慧型裝置可能都會成為這個樣子,其實就是一台運行Linux的電腦。

    既然是一台Linux電腦,那麼開發軟體也就很簡單了。但是,且慢! 因為ARM的裝置效能還是低一些,一般不適合拿來運行IDE,進行代碼編輯、編譯、打包等工作,所以一般就在PC機上建一個“交叉編譯環境”,編譯完程式,打成二進位包,再燒寫進去。比如Android的ADK就是一套這樣的工具集,可以完成編輯、調試、編譯、打包等等工作。而OpenWRT是採用的另外一套思路,直接可以在X86上面編譯產生多個版本的ipk檔案,然後通過包管理程式下載安裝即可(Android現在也有X86的版本了)。

    當然,這個步驟還是有點麻煩的。很多牛人直接運行Python或者LUA、JavaScript的指令碼,可以直接在所有的平台上運行,現在基於ARM Cortex M0的指令碼引擎都已經出來了(完全開源的,但還在發展中,有的功能還無法完全調用),比如NodeMCU、MicroPython等等。

    但要在嵌入式裝置上得到完全相同的結果,命令列沒有什麼問題,圖形介面就要費點勁了。可以通過支援HTML5的引擎來完成(這個已經蔚然成風了,如nodejs/PhoneGap/Kendo/React等等)。

    Ubuntu Touch通過QML完成類似的功能,使用的是QT來封裝的,可以混合HTML和本地API調用,無論顯示效果和一致性都是非常好的。

    如果以本地顯示為主,還可以直接使用QT或者Pyqt進行開發,可以使用同一套代碼,支援從時鐘到工作站、叢集層級的應用開發和運行(不同CPU和Linux核心版本需要重新編譯,如果CPU和核心相同可以二進位相容)。













Linux On ARM開發紀要

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.