Qt 海思嵌入式平台GDB调试

本文主要记录Qt在海思嵌入式平台上的GDB调试。

  1. 首先,Qt工程文件.pro增加如下设置,这样编译出来的程序支持gdb:
CONFIG+=debug_and_release
  1. Qt Creator 中依次选择菜单:DebugStart DebuggingAttatch to running debug server... 弹出如下设置界面。

Qt 海思嵌入式平台GDB调试_第1张图片

其中,override server channel 就是板子的IP和端口信息;在 Kit选项中点击Manage 对选用的 gdb和 gcc 工具进行选择配置,界面如下:

Qt 海思嵌入式平台GDB调试_第2张图片
配置选项中 CompilerDebuggerQt version这些必须根据嵌入式开发工具进行正确配置。其中 Debugger 就是 Ubuntu 系统根据源码编译的 GDB 版本,系统默认的版本不能正常使用。

  1. 在嵌入式linux系统默认终端中运行使用交叉编译工具链编译的 gdbserver 程序如下:

    #./gdbserver 192.168.1.119:9000 ./NVR_4
    

注意事项:

嵌入式板上运行的 gdbserver 必须和 ubuntu 系统上运行的 gdb 使用同一份代码编译而成。

  1. 编译PC gdb

    ../configure --target=arm-hisiv600-linux --prefix=/home/luoyang/App/gdb_hisiv600
    
  2. 编译 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
    
    

你可能感兴趣的:(嵌入式,QT,海思)