環境介紹
- 主機:ubuntu 16.04 虛擬機
- 板卡:hisi3559A
安裝Eclipse
安裝jdk
sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt-get update
sudo apt-get install openjdk-8-jdk
判斷JDK是否安裝成功:
java
javac
安裝eclipse、eclipse-cdt
sudo apt-get install eclipse
sudo apt-get install eclipse-cdt
創建交叉應用工程
在 Eclipse 主界面點擊菜單 File > New > C/C++ Project,在彈出的“C/C++ Project”對話框中,輸入項目名稱。選擇一個項目類型(如Executable/Empty Project),在 Toolchains 中一定要選** Cross GCC**,這是CDT對交叉環境的支持,提供了額外的功能,以方便嵌入式應用程序的開發。
點擊下一步,來到“Select Configurations”頁面,我們采用默認,直接下一步,來到“Cross GCC Command”的設置。這里我們可以填寫交叉編譯工具鏈的交綴和路徑,如:
aarch64-himix100-linux-
/opt/hisi-linux/x86-arm/aarch64-himix100-linux/bin
上面的配置應該根據自己的實際情況進行。
最后點擊完成,一個交叉項目就創建好了。關於交叉編譯前綴和路徑的設置,在項目創建后,可以在項目的屬性中改變它。
測試
#include <iostream>
using namespace std;
int main(int argc, char ** argv)
{
cout<<"This is a message !\n";
return 0;
}
點擊構建,對它進行編譯。編譯后,我們可以在左側的“Project Explorer”中,項目目錄下的Binaries中看到編譯出來的程序。把它拷貝到目標開發板上,運行,結果正確。
搭建遠程調試環境
編譯gdb 和 gdbserver
首選需要編譯gdb 和 gdbserver。可以參考:
安裝gdb-multiarch
sudo apt-get install gdb-multiarch
gdb添加C++ STL的打印支持
開發板端准備
將編譯好的文件和gdbserver拷貝到開發板上,執行:
./gdbserver 192.168.199.101:1234 filename
注意,192.168.199.101
是主機的ip,filename
是可執行文件的名稱。
Eclipse設置
在Eclipse中選擇一個項目,點擊菜單 Run > Debug Configurations,在左側的Dubug類型中找到“C/C++ Remote Application”,右擊點“New”,創建一個遠程調試配置,如下圖:
之后就可以進行調試了。
附錄
取消語法檢查
通常如果我們的都是使用makefile進行編譯的,而Eclipse只是作為一個GUI調試工具,但是使用Eclipse打開源碼時,側邊欄會提示很多的語法錯誤,取消這些顯示的方法是:
Windows->Perferces->C/C++:
快捷鍵
【F5】:跟蹤到方法中,當程序執行到某方法時,可以按【F5】鍵跟蹤到方法中。
【F6】:單步執行程序。
【F7】:執行完方法,返回到調用此方法的后一條語句。
【F8】:繼續執行,到下一個斷點或程序結束。
【F11】:調試最后一次執行的程序。