【SoC FPGA學習】四、使用gdbserver遠程調試Linux應用程序
gdbserver遠程調試流程
首先保證電腦能夠網絡訪問開發板(參考第三節進行網絡配置)
使用passwd命令,為root賬號設置密碼
將希望調試的程序拷貝到開發板中
為程序添加可執行權限 chmod 777 hello_world
在DS-5軟件里面設置調試相關配置,在菜單欄選擇Run->Debug Configurations打開配置界面
Debugger:gbdserver
選擇gdb.exe
Connection:TCP、IP
在開發板上輸入以下命令啟動調試:gdbserver :10000 hello_world
在DS-5里面點擊debug開始調試
斷點、查看變量、單步運行
參考教程中的以下章節
一、編寫測試程序
編寫mian.c如下
#include
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
二、DS-5配置
點擊菜單欄的Run選項,然后選擇其中的Debug Configurations…,如下圖所示
雙擊其中的C/C++ Application,會自動識別到hello_world程序
選擇Debugger標簽,
然后選擇下方的Select other…
然后選擇Change Workspace Settings
點擊C/C++ Application下的[Debug],然后選擇下面的Legacy Create Process Launcher,然后OK即可,如下圖所示
然后切換到Debugger標簽,將其中的Debugger:選擇為gdbserver
將開發板光盤配套軟件中的arm-linux-gnueabihf-gdb.exe拷貝到Quartus的D:\intelFPGA\17.1\embedded\ds-5\sw\gcc\bin文件下,如下圖所示
然后將上述添加的arm-linux-gnueabihf-gdb.exe,添加到配置中,如下圖所示
然后將Connection下的選項配置為如下圖所示,配置完成后點擊Apply進行保存,先不要點擊Debug!!!
接著在串口終端中,輸入gdbserver :10000 hello_world,如下圖所示
三、DS-5的Debug過程
然后回到DS-5,點擊其中的Debug,接著會彈出切換Debug視圖的提示,這里選擇Yes
切換視圖后的樣子,如下圖所示
在串口終端也會顯示開啟遠程調試的打印信息
箭頭默認指在第一行,前面的箭頭表示程序運行的位置
從Variables窗口可以查看到變量值,如下圖所示
點擊其中的step over可以進行單步運行,如下圖所示
可以看到在變量區變量的變化,如下圖所示
也可以在串口終端看到信息的打印,如下圖所示
調試完畢后,如何退出調試視圖到普通視圖呢?在軟件的右上角,點擊如下圖所示選項即可!
然后,可以依次按照如下圖所示步驟還原最最初的視圖界面
EDS-5中文注釋字體過小解決辦法:
解決無法打斷點的問題
問題:在DS-5中打斷點會有如下提示信息?
解決方案:
參考:http://www.corecourse.cn/forum.php?mod=viewthread&tid=27911&highlight=%E6%96%AD%E7%82%B9
在DS5中調試Linux程序時候無法設置斷點,這個主要是軟件的斷點類型默認為DS5類斷點,而非C++類斷點導致的。
如需設置斷點并調試,只需要在設置斷點處先鼠標右擊,可以看到默認的是DS-5 C/C++ Breakpoints。選擇Breakpoints為C/C++ Breakpoints即可正常設置斷點了。如下圖所示:
FPGA Linux
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。