<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > Embedded Linux 技術(shù)與概念解析

Embedded Linux 技術(shù)與概念解析

作者: 時(shí)間:2016-09-12 來(lái)源:網(wǎng)絡(luò ) 收藏

引言

本文引用地址:http://dyxdggzs.com/article/201609/305175.htm

Embedded Linux技術(shù)基于開(kāi)放源碼的資源,并且已經(jīng)是當今最重要的嵌入式應用技術(shù)之一。Embedded Linux是燒錄在目標裝置上的系統,1個(gè)Embedded Linux系統包含Linux kernel與 root filesystem 2大部分,Embedded Linux系統到底包含哪些組成要素構成,本文將由概念的層面進(jìn)行解析。

本文

由于目前的目標裝置,都必須嵌入極為復雜的功能,所以嵌入式操作系統(Embedded system)成為嵌入式系統不可或缺的要素。由于嵌入式系統是功能導向的系統,因此必須設計、選擇或購買(mǎi)正確(或適合)的目標裝置,才能開(kāi)始實(shí)作并嵌入嵌入式系統。因此,嵌入式系統技術(shù)是以功能、與目標裝置為分類(lèi)的1種技術(shù)。

例如,與PDA相關(guān)的目標裝置(即硬件)、與MP3播放器相關(guān)的目標裝置、與3G手機相關(guān)的目標裝置...等等;使用這些目標裝置所開(kāi)發(fā)的特定功能系統,便是PDA的嵌入式系統、MP3音樂(lè )播放的嵌入式系統、3G手機的嵌入式系統。

Embedded Linux其實(shí)并不是1個(gè)操作系統,而是代表應用Linux系統于Embedded system的名詞。Embedded Linux的技術(shù)核心主軸是在研究如何將Linux系統嵌入至嵌入式目標裝置里。

Embedded Linux是基于Linux系統的特殊應用,當然也要符合眾多標準才行。LSB與FHS標準是重要的2大標準,跟隨標準不但可以提供系統間的兼容性,也可以提供我們1個(gè)Linux系統的建構依據。

GNU/Linux的2個(gè)標準

由FSG (Free Standards Group) 所主持的 LSB (Linux Standard Base) 項目即是在制定 GNU/Linux 標準。根據LSB標準所發(fā)展的GNU/Linux系統,才能提供應用程序最小的可執行環(huán)境,并且可在依循LSB標準的Linux distributions上執行無(wú)誤。例如,我們可以在符合LSB標準的Red Hat Linux上發(fā)展應用程序,只要自行發(fā)展的Embedded Linux系統符合LSB標準所訂定的規范,應用程序就可以順利移植到Embedded Linux上執行。

LSB標準提供我們發(fā)展Embedded Linux的依據,雖然Embedded Linux系統是最小化的Linux,但因為Embedded Linux是嵌入式系統的軟件平臺,所以我們不能任意精簡(jiǎn)Linux系統,在精簡(jiǎn)的過(guò)程中仍要保留最基本的操作系統環(huán)境,而LSB的標準正是在制定這些基本的需求。

FHS全名為Filesystem Hierarchy Standard,是定義檔案與目錄標準的文件,FHS的標準,定義了目錄與檔案的擺放位置,而UNIX-like的系統則是根據這個(gè)標準,管理整個(gè)檔案結構。因此,不管是系統廠(chǎng)商、Linux/UNIX distribution發(fā)展者、應用程序作者、套件管理者、系統維護人員都應該要依照FHS的標準來(lái)管理UNIX系統的目錄與檔案。

Embedded Linux的特色是大量使用自由軟件、與開(kāi)放源碼軟件(FOSS- Free Open Source Softwar)資源,任何你想要的軟件,幾乎都能在網(wǎng)絡(luò )上找到自由軟件已經(jīng)成為Embedded Linux技術(shù)的重要支柱。自由軟件資源包山包海,舉凡應用程序、系統工具、網(wǎng)絡(luò )工具、鏈接庫、圖形接口、小型瀏覽器、程序發(fā)展工具...等等都能找得到。

Busybox

Busybox是重要的Embedded Linux工具箱,這個(gè)工具箱提供基本的UNIX指令、系統程序(daemon)與開(kāi)機程序(init process)。Busybox用來(lái)建造1個(gè)基本、最小化且可開(kāi)機的Linux系統,由于Busybox里的指令與工具都經(jīng)過(guò)最小化處理,因此已經(jīng)是目前主要應用在Embedded Linux實(shí)作上的開(kāi)放源碼項目了。

Embedded Linux的組成

圖 Embedded Linux整體架構

Embedded Linux平臺除了Linux kernel外,還包含共享鏈接庫(shared library)。shared libraries是Linux kernel的重要支持,并且也是Linux架構里獨立的1層。在應用程序方面,許多現存的開(kāi)放源碼項目都可以直接移植到ARM9平臺。但這里所指的移植是對原始碼進(jìn)行跨平臺編譯(cross compile),并不是BSP(board support package)的移植。

跨平臺編譯

因為開(kāi)放源碼開(kāi)發(fā)工具的特性,在應用程序級別的移植工具上,可以有1套比較系統化的方法,也有相關(guān)的工具與環(huán)境可以使用,目前最熱門(mén)的跨平臺編譯環(huán)境為OpenEmbedded。開(kāi)放源碼軟件采用GNU Autoconf與GNU Automake來(lái)撰寫(xiě)編譯法則(Makefile),因此實(shí)務(wù)上,要將應用程序移植到ARM9平臺,大部分案例只需要做跨平臺編譯即可。要了解如何將原始碼移植到ARM9平臺,需要學(xué)會(huì )GNU Autoconf以及GNU Automake的使用。

GNU Autoconf

Autoconf是m4宏的擴充套件,可以用來(lái)自動(dòng)設定軟件套件的原始碼。Autoconf會(huì )產(chǎn)生1個(gè)協(xié)助程序編譯的設定文稿執行檔(configuration script),以方便編譯原始碼前進(jìn)行系統檢查與設定,使用GNU Autoconf時(shí),必須安裝GNU m4套件。

GNU Automake

Automake是自動(dòng)產(chǎn)生Makefile.in的工具,需配合Autoconf使用,以產(chǎn)生可以讓GNU Make自動(dòng)編譯原始碼的”Makefile”檔案。

GNU Make

GNU Make會(huì )根據“Makefile”來(lái)自動(dòng)編譯程序,而編譯完成的程序為執行文件。GNU Make的重要特點(diǎn),是沒(méi)有特定程序語(yǔ)言限制,甚至可以應用在非程序語(yǔ)言編譯的環(huán)境中,例如:系統維護工作與套件安裝,因此GNU Make可以說(shuō)是系統自動(dòng)化的好工具。

GNU Make根據“Makefile”檔案里所定義的規則,執行Unix命令,簡(jiǎn)單的Makefile規格,可以利用編輯器手動(dòng)撰寫(xiě),但較復雜且與針對不同平臺的設定,則建議采用GNU Autoconf/GNU Automake來(lái)產(chǎn)生“Makefile”。當我們能夠產(chǎn)生使用cross toolchain的Makefile時(shí),就可以將套件編譯成ARM9的執行檔。

ARM 平臺的選擇與支持

嵌入式裝置的硬件選擇當然沒(méi)有所謂的標準,但若是談?wù)摰角度胧絃inux的應用,在平臺的選擇上就會(huì )有一些考慮。最重要的考慮因素,當然就是處理器對于操作系統的支持,如此一來(lái),沒(méi)有MMU(內存管理單元)的ARM7平臺,就不在主要的選擇范圍內。以下列出幾個(gè)目前普遍使用的ARM9應用程序處理器(application processor):


上一頁(yè) 1 2 3 下一頁(yè)

關(guān)鍵詞:

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>