本文主要記錄Qt在海思嵌入式平臺上的GDB調試。
- 首先,Qt工程文件
.pro
增加如下設置,這樣編譯出來的程序支持gdb:
CONFIG+=debug_and_release
- Qt Creator 中依次選擇菜單:
Debug
–Start Debugging
–Attatch to running debug server...
彈出如下設置界面。
其中,override server channel
就是板子的IP和端口信息;在 Kit
選項中點擊Manage
對選用的 gdb和 gcc 工具進行選擇配置,界面如下:
配置選項中 Compiler
、 Debugger
、 Qt version
這些必須根據嵌入式開發工具進行正確配置。其中 Debugger
就是 Ubuntu 系統根據源碼編譯的 GDB 版本,系統默認的版本不能正常使用。
-
在嵌入式linux系統默認終端中運行使用交叉編譯工具鏈編譯的 gdbserver 程序如下:
#./gdbserver 192.168.1.119:9000 ./NVR_4
注意事項:
嵌入式板上運行的 gdbserver 必須和 ubuntu 系統上運行的 gdb 使用同一份代碼編譯而成。
-
編譯PC gdb
../configure --target=arm-hisiv600-linux --prefix=/home/luoyang/App/gdb_hisiv600
-
編譯 Hisi gdb
#!/bin/bash cd ncurses-6.0 ./configure --host=arm-hisiv600-linux CFLAGS="-mcpu=cortex-a9 -mfloat-abi=softfp -mfpu=neon" LDFLAGS="-mcpu=cortex-a9 -mfloat-abi=softfp -mfpu=neon" --prefix=/media/luoyang/Workspace/Hi3531DV100_SDK_V2.0.4.0/osdrv/tools/board/gdb/inst cd gdb-7.9.1 ./configure --host=arm-hisiv600-linux CFLAGS="-mcpu=cortex-a9 -mfloat-abi=softfp -mfpu=neon -lm" LDFLAGS="-mcpu=cortex-a9 -mfloat-abi=softfp -mfpu=neon -L/media/luoyang/Workspace/Hi3531DV100_SDK_V2.0.4.0/osdrv/tools/board/gdb/inst/lib" --disable-tui --prefix=/media/luoyang/Workspace/Hi3531DV100_SDK_V2.0.4.0/osdrv/tools/board/gdb/bin