天天看點

如何使用eclipse進行嵌入式Linux的開發

如何使用eclipse進行嵌入式Linux的開發

如何使用eclipse進行嵌入式Linux的開發 習慣了在windows環境下開發的程式員在轉到Linux平台時經常會抱怨沒有一個好用的內建開發環境。和windows下常用的一些開發軟體相比,Linux自帶的一些開發環境使用起來要麼界面和操作不夠友善、友好,要麼功能不全。其實我們完全可以在開源社群上找到操作友善,功能強大的開發環境。下面就向大家介紹一個能在Linux上運作,界面和功能與windows上同類軟體相似的開發平台eclipse。

eclipse是著名的跨平台的內建開發環境(IDE),最初是由IBM公司開發的替代商業軟體Visual Age For Jave的下一代開發環境。2001年,IBM将eclipse貢獻給開源社群,現在由eclipse基金會管理。2005年7月,eclipse穩定版3.1.0釋出,目前最新的穩定版本是3.4。

eclipse本身隻是一個架構平台,最初主要用于java語言的開發。但是衆多插件的支援使得eclipse同樣可以用來開發其他的語言,如c/c++、c#、perl、cobol的等等。cdt(c/c++ development toolkit)就是支援c/c++開發的插件。許多軟體開發商也以eclipse為架構推出了自己的內建開發環境。由于eclipse平台用java實作,是以運作時需要jre(java runtime environment)的支援。下面我們以ubuntu(linux發行版的一種)為例,介紹如何在linux上使用 eclipse+cdt來進行嵌入式Linux應用程式的開發。

一、安裝軟體

在ubuntu下安裝軟體有兩種方法:使用apt-get來自動安裝或手動安裝。使用者使用自動安裝非常友善,适合初學者。但是安裝過程過于依賴資源網站的連接配接狀況,可能需要耗費過多的時間。這裡我們推薦手動安裝的方式,花的時間比較短。

1、安裝jdk

jdk(java development kit)即java開發包,其中包含了運作eclipse所需要的jre. ubuntu預設安裝的gnu版本的jre運作效率不高,是以我們需要安裝sun公司的jre. 首先從sun的網站上(http://java.sun.com/javase/downloads/index.jsp)下載下傳安裝包jdk-6u7-linux-i586.bin,然後如下進行安裝:

# mkdir -p /opt/java 

        # ./jdk-6u7-linux-i586.bin // 執行自解壓檔案,生成目錄

        # mv jdk1.6.0_07 /opt/java // 把目錄移到/opt/java下

        # cd /opt/java

        # ln -s jdk1.6.0_07 jdk 

        # mv /etc/alternatives/java /etc/alternatives/java.gnu

        # ln -s /opt/java/jdk/bin/java /etc/alternatives/java

        # export JAVA_HOME=/opt/java/jdk // 設定環境變量

2、安裝eclipse和cdt

從eclipse網站上(http://www.eclipse.org/)下載下傳安裝包eclipse-SDK-3.4-linux-gtk.tar.gz 和cdt-master-5.0.0.zip

# cd /opt

        # tar zxvf eclipse-SDK-3.4-linux-gtk.tar.gz // 解壓生成eclipse目錄

        # export PATH=/opt/eclipse:$PATH

        # mkdir -p /opt/cdt

        # cd /opt/cdt

        # unzip cdt-master-5.0.0.zip

        # cp -r plugins/* /opt/eclipse/plugins/

        # cp -r features/* /opt/eclipse/features/

二、建立c/c++工程

假設我們已經在linux上安裝好了arm交叉工具鍊,下面介紹如何建立、交叉編譯和調試c/c++工程。為了更直覺的說明,我們截取了相關的圖檔:

進入eclipse安裝路徑後,運作eclipse

如何使用eclipse進行嵌入式Linux的開發

eclipse運作界面

如何使用eclipse進行嵌入式Linux的開發

建立c 工程

如何使用eclipse進行嵌入式Linux的開發

使用預設的Linux GCC工具鍊

如何使用eclipse進行嵌入式Linux的開發

進入c/c++ 界面

如何使用eclipse進行嵌入式Linux的開發

添加源代碼檔案1

如何使用eclipse進行嵌入式Linux的開發

添加源代碼檔案2

如何使用eclipse進行嵌入式Linux的開發

編輯代碼

如何使用eclipse進行嵌入式Linux的開發

設定工程屬性,指定交叉工具鍊1

如何使用eclipse進行嵌入式Linux的開發

設定工程屬性,指定交叉工具鍊2

如何使用eclipse進行嵌入式Linux的開發

設定工程屬性,指定交叉工具鍊3

如何使用eclipse進行嵌入式Linux的開發

編譯工程

如何使用eclipse進行嵌入式Linux的開發

已生成arm平台可執行代碼

如何使用eclipse進行嵌入式Linux的開發

配置調試選項

如何使用eclipse進行嵌入式Linux的開發

設定Debugger和 GDB debugger選項

如何使用eclipse進行嵌入式Linux的開發

設定連接配接類型為TCP,目标闆的ip位址和調試端口号。端口号任意指定,通常大于1024(避免和系統所用端口号沖突)

如何使用eclipse進行嵌入式Linux的開發

在開發闆上運作程式,格式如上圖所示:gdbserver是交叉調試輔助程式;192.168.0.150是主機的ip位址;1234是調試端口号,和eclipse調試選項裡設定的端口号要一緻

如何使用eclipse進行嵌入式Linux的開發

點選Debug,進入調試界面

如何使用eclipse進行嵌入式Linux的開發

執行到斷點

eclipse的調試界面和操作和在windows下開發類似,相信到了這一步,大家已經可以很友善來進行應用程式的開發了。

所需開發工具及環境

虛拟機Linux:Fedora 9

交叉編譯工具:arm-linux-gcc-3.4.1.tar.bz2

內建開發工具:Eclipse(Linux安裝包中自帶的,安裝Linux時選中安裝)

安裝ARM交叉編譯器

    1. 安裝。其實很簡單,就是将下載下傳的arm-linux-gcc-3.4.1.tar.bz2解壓到Linux根目錄即可(因為解壓後已經包含了/usr/local目錄,是以要解壓到根目錄),如下指令:

<code>tar -jxvf arm-linux-gcc-3.4.1.tar.bz2 -C /</code>

解壓後的目錄如下圖:

如何使用eclipse進行嵌入式Linux的開發

解壓後的目錄/usr/local/arm/3.4.1/

    2. 設定環境變量。就是把交叉編譯器的路徑設定到系統環境變量裡面去。

<code>echo $PATH</code>

檢視現有的環境變量,顯示如下圖:

如何使用eclipse進行嵌入式Linux的開發

如果你隻想臨時添加交叉編譯器的環境變量(注:臨時添加的系統重新開機或登出後又沒有了),隻需在指令行輸入如下指令:

<code>export PATH=$PATH:/usr/local/arm/3.4.1/bin</code>

添加後的環境變量如下圖:(多了一個/usr/local/arm/3.4.1/bin)

如何使用eclipse進行嵌入式Linux的開發

如果你想這個環境變量永久的添加到系統的環境變量中,則你隻需把這個指令添加到/root/.bashrc檔案的最後一行即可(這個檔案是隐藏檔案,你要在檔案浏覽器中單擊檢視菜單,勾選顯示隐藏檔案才能看到)

    3. 測試建立的交叉編譯環境。建立一個c程式,檔案名:test.c, 如下:

<code>#include &lt;stdio.h&gt; int main(void) {     printf("Hellow world!\n");     return 0; }</code>

進行交叉編譯,如下:

<code>arm-linux-gcc -o test test.c</code>

将交叉編譯好的目标檔案test下載下傳到ARM開發闆中并運作,如下:

<code>./test</code>

輸出結果為:

Hellow world!

用內建開發工具Eclipse來開發嵌入式應用程式

如何使用eclipse進行嵌入式Linux的開發

輕按兩下Eclipse圖示啟動Eclipse

如何使用eclipse進行嵌入式Linux的開發

設定Eclipse的工作空間,就是選個目錄,單擊OK

如何使用eclipse進行嵌入式Linux的開發

啟動後的主界面

如何使用eclipse進行嵌入式Linux的開發

開始建立一個應用程式工程

如何使用eclipse進行嵌入式Linux的開發

選擇建立一個C工程,單擊Next

如何使用eclipse進行嵌入式Linux的開發

給工程取個名字,這裡我就叫test_app;然後選擇工程類型,我選擇了個Hellow world C工程模版,單擊Next

如何使用eclipse進行嵌入式Linux的開發

填寫作者、版權等資訊,單擊Next

如何使用eclipse進行嵌入式Linux的開發

沒什麼選的,點選Finish

如何使用eclipse進行嵌入式Linux的開發

單擊Yes

如何使用eclipse進行嵌入式Linux的開發

建立好的項目工程

如何使用eclipse進行嵌入式Linux的開發

展開左邊的源代碼目錄,輕按兩下打開主函數。這裡隻是輸出一句"Hello World!!!",你可以做一些其他複雜的應用

如何使用eclipse進行嵌入式Linux的開發

單擊Project菜單,去掉Build Automatically的勾選,因為勾選的話,每次修改一個地方工程都會自動進行編譯

如何使用eclipse進行嵌入式Linux的開發

打開工程的屬性對話框進行編譯選項的設定

如何使用eclipse進行嵌入式Linux的開發

我們的應用程式最終要到嵌入式arm上運作,這裡就要把gcc改成arm-linux-gcc編譯器,當然前提是你要在你的開發主機上先安裝arm-linux-gcc

如何使用eclipse進行嵌入式Linux的開發

C連接配接器也要改成arm-linux-gcc

如何使用eclipse進行嵌入式Linux的開發

這裡的Libraries是設定你的應用程式中用到的庫檔案,比如應用程式中用到了線程類,則這裡在上面添加pthread這個庫,下面就添加這個庫的路徑。如果應用程式沒用到任何庫檔案就不用管了

如何使用eclipse進行嵌入式Linux的開發

選中左側的工程名,右鍵,在彈出的菜單中選擇Build Project編譯工程

如何使用eclipse進行嵌入式Linux的開發

編譯好後的工程,目标檔案在Debug目錄下

結束語

    建立交叉編譯環境是開發嵌入式程式的第一步,編譯器版本也有很多,這裡就介紹用的較多的一種。而Eclipse則是本人認為開發嵌入式應用程式最為友善的內建開發工具,他不僅讓整個工程清晰可見,更重要的是他不需要你去為整個工程編寫複雜的Makefile檔案,他會為你自動生成Makefile。

   首先下載下傳 arm-linux-gcc-4.3.2.tgz,這個就不多說了,重點介紹一下怎麼安裝。将 arm-linux-gcc-4.3.2.tgz 檔案拷貝到 Ubuntu 的主檔案夾下,在 Ubuntu 中建立一個終端,以root使用者運作,輸入下面的指令安裝交叉編譯器:

#tar zxvf arm-linux-gcc-4.3.2.tgz

解壓後會産usr檔案夾,将這個目錄下的usr/local/arm的arm檔案夾複制到檔案系統的usr/local目錄下,指令為

#mv usr/local/arm  usr/local

然後把交叉編譯器路徑添加到系統環境變量中,

在終端中執行:

gedit /etc/profile

添加以下四行到該檔案中:

export PATH=/usr/local/arm/4.3.2/bin:$PATH

export TOOLCHAIN=/usr/local/arm/4.3.2

export TB_CC_PREFIX=arm-linux-

export PKG_CONFIG_PREFIX=$TOOLCHAIN/arm-none-linux-gnueabi