<menu id="w8yyk"><menu id="w8yyk"></menu></menu>
  • <dd id="w8yyk"><nav id="w8yyk"></nav></dd>
    <menu id="w8yyk"></menu>
    <menu id="w8yyk"><code id="w8yyk"></code></menu>
    <menu id="w8yyk"></menu>
    <xmp id="w8yyk">
    <xmp id="w8yyk"><nav id="w8yyk"></nav>
  • 網站首頁 > 物聯資訊 > 技術分享

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

    2016-09-28 00:00:00 廣州睿豐德信息科技有限公司 閱讀
    睿豐德科技 專注RFID識別技術和條碼識別技術與管理軟件的集成項目。質量追溯系統、MES系統、金蝶與條碼系統對接、用友與條碼系統對接

    如何使用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運行界面

    eclipse運行界面

    RFID設備管理軟件

    創建c 工程

    RFID設備管理軟件

    使用缺省的Linux GCC工具鏈

    RFID設備管理軟件

    進入c/c++ 界面

    RFID設備管理軟件

    添加源代碼文件1

    RFID設備管理軟件

    添加源代碼文件2

    RFID設備管理軟件

    編輯代碼

    RFID設備管理軟件

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

    RFID設備管理軟件

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

    RFID設備管理軟件

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

    RFID設備管理軟件

    編譯工程

    RFID設備管理軟件

    已生成arm平臺可執行代碼

    RFID設備管理軟件

    配置調試選項

    RFID設備管理軟件

    設置Debugger和 GDB debugger選項

    RFID設備管理軟件

    設置連接類型為TCP,目標板的ip地址和調試端口號。端口號任意指定,通常大于1024(避免和系統所用端口號沖突)

    RFID設備管理軟件

    在開發板上運行程序,格式如上圖所示:gdbserver是交叉調試輔助程序;192.168.0.150是主機的ip地址;1234是調試端口號,和eclipse調試選項里設定的端口號要一致

    RFID設備管理軟件

    點擊Debug,進入調試界面

    RFID設備管理軟件

    執行到斷點

    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目錄,所以要解壓到根目錄),如下命令:

    tar -jxvf arm-linux-gcc-3.4.1.tar.bz2 -C /

    解壓后的目錄如下圖:

    RFID設備管理軟件

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

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

    echo $PATH

    查看現有的環境變量,顯示如下圖:

    RFID設備管理軟件

    如果你只想臨時添加交叉編譯器的環境變量(注:臨時添加的系統重啟或注銷后又沒有了),只需在命令行輸入如下命令:

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

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

    RFID設備管理軟件

    如果你想這個環境變量永久的添加到系統的環境變量中,則你只需把這個命令添加到/root/.bashrc文件的最后一行即可(這個文件是隱藏文件,你要在文件瀏覽器中單擊查看菜單,勾選顯示隱藏文件才能看到)

        3. 測試建立的交叉編譯環境。新建一個c程序,文件名:test.c, 如下:

     

    #include <stdio.h>

    int main(void)
    {
        printf("Hellow world!\n");
        return 0;
    }

    進行交叉編譯,如下:

    arm-linux-gcc -o test test.c

    將交叉編譯好的目標文件test下載到ARM開發板中并運行,如下:

    ./test

      輸出結果為: Hellow world!

    用集成開發工具Eclipse來開發嵌入式應用程序

    RFID設備管理軟件

    雙擊Eclipse圖標啟動Eclipse

     

    RFID設備管理軟件

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

     

    RFID設備管理軟件

    啟動后的主界面

     

    RFID設備管理軟件

    開始新建一個應用程序工程

     

    RFID設備管理軟件

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

     

    RFID設備管理軟件

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

     

    RFID設備管理軟件

    填寫作者、版權等信息,單擊Next

     

    RFID設備管理軟件

    沒什么選的,點擊Finish

     

    RFID設備管理軟件

    單擊Yes

     

    RFID設備管理軟件

    新建好的項目工程

     

    RFID設備管理軟件

    展開左邊的源代碼目錄,雙擊打開主函數。這里只是輸出一句"Hello World!!!",你可以做一些其他復雜的應用

     

    RFID設備管理軟件

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

     

    RFID設備管理軟件

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

     

    RFID設備管理軟件

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

     

    RFID設備管理軟件

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

     

    RFID設備管理軟件

    這里的Libraries是設置你的應用程序中用到的庫文件,比如應用程序中用到了線程類,則這里在上面添加pthread這個庫,下面就添加這個庫的路徑。如果應用程序沒用到任何庫文件就不用管了

     

    RFID設備管理軟件

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

     

    RFID設備管理軟件

    編譯好后的工程,目標文件在Debug目錄下

    結束語

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

     

     

     

     

     

     

     

    ubuntu上安裝arm交叉編譯環境arm-linux-gcc

       首先下載 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

    RFID管理系統集成商 RFID中間件 條碼系統中間層 物聯網軟件集成
    最近免费观看高清韩国日本大全