一、前言
前節中主要介紹了編譯虛擬機上主機gdb、編譯可以BBB上運行的gdbserver、eclipse連接BBB的shell及文件系統,同時通過eclipse將gdbsesrver移植到BBB中,此時基本的調試的條件已經具備,可以通過在虛擬機主機中的eclipse與BBB進行聯調,對程序的調試非常方便。
二、eclipse新建工程
在虛擬機主機中,打開eclipse新建C++工程:
工程名就叫BBBtest
,選擇建立一個空工程:
向工程中添加C++文件,名稱就叫做test.cpp
:
將前節中操作BBB普通IO口中的C++程序複製到test.cpp
文件中:
三、工程配置
如果要在宿主機即虛擬機上安裝的ubuntu系統中通過eclipse來編譯並運行BBB目標板上的程序時主要要完成以下三種配置:
- eclipse配置默認編譯器爲交叉編譯器
- eclipse配置通過ssh來訪問BBB來run程序
- eclipse配置通過ssh來訪問BBB及gdbserver來debug程序
1. 配置交叉編譯器
配置交叉編譯器主要是完成配置默認GCC編譯器、G++編譯器、鏈接器,彙編器的命令、默認路徑及命令參數,同時配置工程參考庫搜索路徑。
右鍵選擇工程屬性:
首先配置GCC命令參數:
-c -fmessage-length=0 -lpthread
其次配置GCC路徑:
/usr/arm-linux-gnueabi/include
最後填寫GCC命令:
arm-linux-gnueabi-gcc
以同樣的方法配置G++編譯器、鏈接器、彙編器:
配置系統路徑:
配置完成後,點擊編譯程序,可以生成交叉編譯後的程序:
2. 配置運行程序環境
右鍵工程選擇運行配置:
選擇運行遠程程序,右鍵新建配置:
在下圖配置中,配置是在本地系統中運行程序,此時要新建BBB遠程系統,配置BBB ssh遠程連接:
配置BBB的ssh,和前節相同。
配置ssh完成後,需要指定程序在BBB上的運行路徑,同時運行程序時要改變其屬性使其可執行:
/root/Desktop/BBBtest
chmod +x /root/Desktop/BBBtest
此時,可以在eclipse上運行已經交叉編譯好的程序:
3. 配置debug環境
右鍵工程選擇debug配置,主要配置同運行配置,如下圖:
因爲要debug,所以要配置gdb及gdbserver:
此時debug本程序:
可以設置斷點、單步運行,非常方便調試: