【嵌入式】樹莓派3b+搭建gdb和gdbserver教程
阿新 • • 發佈:2018-12-23
目錄
(一)樹莓派端配置gdbserver
a)下載
- 進入pi開啟火狐搜尋器,輸入該下載連結:http://ftp.gnu.org/gnu/gdb/,我下載的版本是
gdb-8.2.tar.gz
- 火狐瀏覽器下載目錄:/home/pi/Downloads
- 將壓縮包copy到/home/pi目錄下(進入資料夾copy就行)
- 到(/home/pi目錄)解壓安裝包:
tar xvzf gdb-8.2.tar.gz
b)配置gdb
- 進入解壓後的安裝包:
cd gdb-8.2
- 配置環境:
./configure --target=arm-linux --prefix=/usr/local/arm-gdb -v
注意:如果你之前有配置過gdb,且環境和我這裡設定不一樣;
請刪掉你之前解壓過的包,重新解壓一次,
再配置.
完成如圖:
- 編譯:(1小時左右,耐心等待~)
make
完成如圖:
- 執行命令:
sudo make install
完成:
-
如果配置成功:(生成arm-linux-gdb,並存入/usr/local/arm-gdb /bin/,查詢確認下)
-
將生成的arm-linux-gdb檔案拷貝到系統/usr/bin/目錄下,這樣便可以在任何地方很方便的呼叫。
cd /usr/local/arm-gdb/bin
ls
sudo cp arm-linux-gdb /usr/bin/
gdb配置完成!
c)配置gdbserver
- 進入/home/pi/gdb-8.2/gdb/gdbserver資料夾:
cd /home/pi/gdb-8.2 /gdb/gdbserver
export PATH=$PATH:/usr/local/arm-gdb/bin
- 環境
./configure --target=arm-linux --host=arm-linux
完成如圖:
- 編譯
make CC=arm-linux-gcc
前提:gcc已經配置在環境變數中了
編譯gdbserver不需要執行make install
命令,make
之後在當前目錄下會生成可執行程式gdbserver,將其拷貝到目標系統中。
(二)Win10安裝arm-linux-gnueabihf-gdb
輔助工具下載連結:
http://gnutoolchains.com/raspberry/
安裝raspberry-gcc6.3.0-r3.exe,我的系統是Win10:
解壓安裝包,執行安裝.exe檔案:
可選擇自定義安裝路徑,建議不要改包名;
最後安裝到99.99%位置貌似卡住,忽略,直接Cancel
你將獲得如下目錄:(我們需要的arm-linux-gnueabihf-gdb.exe
等包都在~\bin
目錄下)
(三)交叉編譯test
樹莓派端紫色標識
- 登入樹莓派pi(putty、teamviewer均可)
- 新建 test.cpp測試程式
vim test.cpp
- 拷貝 程式碼
#include <stdio.h>
int main()
{
printf("Hello, world\n");
return 0;
}
- gcc編譯可執行檔案
gcc test.cpp -o test
- 開啟gdbserver ,以test檔案作為
gdbserver :1234 test
PC端藍色標識
- 執行 arm-linux-gnueabihf-gdb.exe
- 在 gdb中輸入以下命令以連線到Raspberry PI並開始除錯你的程式:
target remote <Raspberry IP address>:1234
我的pi的ip地址為192.168.43.24;電腦端的ip地址為192.168.43.241
(gdb)target remote 192.168.43.24:1234
- 現在可以在樹莓派端看見pc端已成功連線gdbserver
- pc端除錯
b main
c
樹莓派端執行pc端的指令,輸出hello,world:
- 輸入n退出
n