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

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

在这里插入图片描述

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

在这里插入图片描述
配置选项中 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
    
    
Logo

openvela 操作系统专为 AIoT 领域量身定制,以轻量化、标准兼容、安全性和高度可扩展性为核心特点。openvela 以其卓越的技术优势,已成为众多物联网设备和 AI 硬件的技术首选,涵盖了智能手表、运动手环、智能音箱、耳机、智能家居设备以及机器人等多个领域。

更多推荐