本文主要记录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