新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 嵌入式Linux開發(fā)環(huán)境的搭建之:嵌入式開發(fā)環(huán)境的搭建

        嵌入式Linux開發(fā)環(huán)境的搭建之:嵌入式開發(fā)環(huán)境的搭建

        作者: 時間:2013-09-13 來源:網(wǎng)絡 收藏


        本文引用地址:http://www.104case.com/article/257141.htm

        2.串口下載

        使用串口下載需要配合特定的下載軟件,如優(yōu)龍公司提供的DNW軟件等,一般在Windows下進行操作。雖然串口下載的速度沒有網(wǎng)絡下載快,但由于它很方便,不需要額外的連線和設置IP等操作,因此也廣受用戶的青睞。下面就以DNW軟件為例,介紹串口下載的方式。


        與其他串口通信的軟件一樣,在DNW中也要設置“波特率”、“端口號”等。打開“Configuration”下的“Options”界面,如圖5.17所示。

        圖5.17DNW配置界面


        在配置完之后,單擊“SerialPort”下的“Connect”,再將開發(fā)板上電,選擇“串口下載”,接著再在“SerialPort”下選擇“Transmit”,這時,就可以進行文件傳輸了,如圖5.18和圖5.19所示。這里DNW默認串口下載的地址為0x30200000。


        圖5.18DNW串口下載圖

        圖5.19DNW串口下載情形圖


        5.1.4編譯內(nèi)核

        在做完了前期的準備工作之后,在這一步,讀者就可以編譯的內(nèi)核了。在這里,本書主要介紹內(nèi)核的編譯過程,在下一節(jié)會進一步介紹嵌入式Linux中體系結(jié)構(gòu)相關(guān)的內(nèi)核代碼,讀者在此之后就可以嘗試嵌入式Linux操作系統(tǒng)的移植。


        編譯嵌入式Linux內(nèi)核都是通過make的不同命令來實現(xiàn)的,它的執(zhí)行配置文件就是在第3章中講述的makefile。Linux內(nèi)核中不同的目錄結(jié)構(gòu)里都有相應的makefile,而不同的makefile又通過彼此之間的依賴關(guān)系構(gòu)成統(tǒng)一的整體,共同完成建立依賴關(guān)系、建立內(nèi)核等功能。


        內(nèi)核的編譯根據(jù)不同的情況會有不同的步驟,但其中最主要分別為3個步驟:內(nèi)核配置、建立依賴關(guān)系、創(chuàng)建內(nèi)核映像,除此之外還有一些輔助功能,如清除文件和依賴關(guān)系等。讀者在實際編譯時若出現(xiàn)錯誤等情況,可以考慮采用其他輔助功能。下面分別講述這3步主要的步驟。


        (1)內(nèi)核配置。

        第一步內(nèi)核配置中的選項主要是用戶用來為目標板選擇處理器架構(gòu)的選項,不同的處理器架構(gòu)會有不同的處理器選項,比如ARM就有其專用的選項如“Multimediacapabilitiesportdrivers”等。因此,在此之前,必須確保在根目錄中makefile里“ARCH”的值已設定了目標板的類型,如:

        ARCH:=arm


        接下來就可以進行內(nèi)核配置了,內(nèi)核支持4種不同的配置方法,這幾種方法只是與用戶交互的界面不同,其實現(xiàn)的功能是一樣的。每種方法都會通過讀入一個默認的配置文件—根目錄下“.config”隱藏文件(用戶也可以手動修改該文件,但不推薦使用)。當然,用戶也可以自己加載其他配置文件,也可以將當前的配置保存為其他名字的配置文件。這4種方式如下。

        n makeconfig:基于文本的最為傳統(tǒng)的配置界面,不推薦使用。

        n makemenuconfig:基于文本選單的配置界面,字符終端下推薦使用。

        n makexconfig:基于圖形窗口模式的配置界面,Xwindow下推薦使用。

        n makeoldconfig:自動讀入“.config”配置文件,并且只要求用戶設定前次沒有設定過的選項。

        在這4種模式中,makemenuconfig使用最為廣泛,下面就以makemenuconfig為例進行講解,如圖5.20所示。

        圖5.20makemenuconfig配置界面


        從該圖中可以看出,Linux內(nèi)核允許用戶對其各類功能逐項配置,一共有18類配置選項,這里就不對這18類配置選項進行一一講解了,需要的時候讀者可以參見相關(guān)選項的help。在menuconfig的配置界面中是純鍵盤的操作,用戶可使用上下鍵和“Tab”鍵移動光標以進入相關(guān)子項,圖5.21所示為進入了“SystemType”子項的界面,該子項是一個重要的選項,主要用來選擇處理器的類型。

        圖5.21SystemType子項


        可以看到,每個選項前都有個括號,可以通過按空格鍵或“Y”鍵表示包含該選項,按“N”表示不包含該選項。


        另外,讀者可以注意到,這里的括號有3種,即中括號、尖括號或圓括號。讀者可以用空格鍵選擇相應的選項時可以發(fā)現(xiàn)中括號里要么是空,要么是“*”;尖括號里可以是空,“*”和“M”,分別表示包含選項、不包含選項和編譯成模塊;圓括號的內(nèi)容是要求用戶在所提供的幾個選項中選擇一項。


        此外,要注意2.4和2.6內(nèi)核在串口命名上的一個重要區(qū)別,在2.4內(nèi)核中“COM1”對應的是“ttyS0”,而在2.6內(nèi)核中“COM1”對應“ttySAC0”,因此在啟動參數(shù)的子項要格外注意,如圖5.22所示,否則串口打印不出信息。

        圖5.22啟動參數(shù)配置子項


        一般情況下,使用廠商提供的默認配置文件都能正常運行,所以用戶初次使用時可以不用對其進行額外的配置,在以后需要使用其他功能時再另行添加,這樣可以大大減少出錯的幾率,有利于錯誤定位。在完成配置之后,就可以保存退出,如圖5.23所示。

        圖5.23保存退出


        (2)建立依賴關(guān)系。

        由于內(nèi)核源碼樹中的大多數(shù)文件都與一些頭文件有依賴關(guān)系,因此要順利建立內(nèi)核,內(nèi)核源碼樹中的每個Makefile都必須知道這些依賴關(guān)系。建立依賴關(guān)系通常在第一次編譯內(nèi)核的時候(或者源碼目錄樹的結(jié)構(gòu)發(fā)生變化的時候)進行,它會在內(nèi)核源碼樹中每個子目錄產(chǎn)生一個“.depend”文件。運行“makedep”即可。在編譯2.6版本的內(nèi)核通常不需要這個過程,直接輸入“make”即可。


        (3)建立內(nèi)核

        建立內(nèi)核可以使用“make”、“makezImage”或“makebzImage”,這里建立的為壓縮的內(nèi)核映像。通常在Linux中,內(nèi)核映像分為壓縮的內(nèi)核映像和未壓縮的內(nèi)核映像。其中,壓縮的內(nèi)核映像通常名為zImage,位于“arch/$(ARCH)/boot”目錄中。而未壓縮的內(nèi)核映像通常名為vmlinux,位于源碼樹的根目錄中。

        到這一步就完成了內(nèi)核源代碼的編譯,之后,讀者可以使用上一小節(jié)所講述的方法把內(nèi)核壓縮文件下載到開發(fā)板上運行。


        小知識

        在嵌入式Linux的源碼樹中通常有以下幾個配置文件,“.config”、“autoconf.h”、“config.h”,其中“.config”文件是makemenuconfig默認的配置文件,位于源碼樹的根目錄中?!癮utoconf.h”和“config.h”是以宏的形式表示了內(nèi)核的配置,當用戶使用makemenuconfig做了一定的更改之后,系統(tǒng)自動會在“autoconf.h”和“config.h”中做出相應的更改。它們位于源碼樹的“/include/linux/”下。

        linux相關(guān)文章:linux教程




        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 定结县| 宕昌县| 彭阳县| 绥宁县| 通州区| 普兰店市| 遂平县| 南召县| 贵定县| 邻水| 大新县| 怀化市| 奈曼旗| 钟山县| 那坡县| 柳河县| 紫阳县| 永安市| 阿拉善右旗| 钦州市| 隆化县| 繁昌县| 庄浪县| 哈尔滨市| 双城市| 温泉县| 慈溪市| 卫辉市| 澄迈县| 商洛市| 囊谦县| 喀喇沁旗| 丹阳市| 柘荣县| 龙南县| 瓦房店市| 大石桥市| 梨树县| 天水市| 拜城县| 长葛市|