Qt5远程调试嵌入式linux

本文介绍了如何在Ubuntu 18.04上使用Qt Creator 4.5.0和Qt5.9.4远程调试Linux 3.2.0上的嵌入式应用。首先,主机上安装gdb-multiarch和gdbserver,然后在嵌入式设备上编译gdbserver。接着,配置Qt工程环境,包括设置目标设备、调试器和目标平台。最后,新建工程并测试远程调试功能。

Qt5远程调试嵌入式linux

主机环境:Ubuntu 18.04.4 LTS

嵌入式环境:Linux 3.2.0

Qt版本:Qt Creator 4.5.0, Qt5.9.4(Gcc 5.3.1)

交叉编译器版本:arm-none-linux-gnueabi-gcc

按本记录步骤操作之前需要确保已掌握配置交叉编译工具链、新建Qt工程。

1.安装gdb工具

1.1安装gdb-multiarch

主机安装gdb-multiarch,可直接在终端: sudo apt-get install gdb-multiarch。

我安装的版本是8.1

终端输入gdb-multiarch --version可查询版本。

1.2安装gdbserver

嵌入式端安装gdbserver。安装步骤如下:

(1)下载gdb源码:可在https://ftp.gnu.org/gnu/gdb/下载,这里我下载的版本是7.7。

(2)编译gdbserver。由于主机端使用gdb-multiarch,这里就不编译gdb只编译出gdbserver供嵌入式端使用。

找到下载的gdb-7.7源码,tar -xvf gdb-7.7解压。cd进入../gdb-7.7/gdb/gdbserver目录,配置:./configure --target=arm-linux --host=arm-none-linux-gnueabi

--prefix=/home/ctools/gdb-7.7/gdb/gdbserver/build。

其中--target=arm-linux表示目标主机即嵌入式设备是arm平台;

--host=arm-none-linux-gnueabi表示交叉编译工具链是arm-none-linux-gnueabi-gcc;

--prefix=... 表示生成文件路径。

host和 prefix参数需要根据相应编译器和路径自行替换。

运行即可生成makefile 文件,查看如下:

之后make,等待编译结束,将生成的gdbserver拷贝至嵌入式设备路径/usr/bin处。生成的gdbserver文件在../gdb/gdbserver路径,不在上述--prefix指定路径。

执行gdbserver --version可查询版本及是否安装成功。

至此,主机和嵌入式设备gdb工具都已安装完毕。

2.配置Qt工程环境

2.1 配置目标设备

选择/Tools->Option进入如下界面,选择Device。这里我用的是ssh登录。

Add添加设备,在Name处填入设备名称,这里是”ARM-Debug”,Host name处填入设备的ip地址,SSH port处填入ssh端口号,username和password处填入设备的登录名和登录密码。如果设备已上电与PC连接好可点击Test测试。如果连接成功可弹出如下界面,如果连接失败,可以PC先通过ssh登录arm板再进行测试。

2.2配置调试器

选择Build&Run->Debuggers进入如下界面。选择”Add”新建一个,名称自取,这里是“arm-m335x”,path路径处选择1中gdb-multiarch安装路径,通常为/usr/bin/gdb-multiarch。选择OK保存。

2.3配置目标平台

选择Build&Run->Kits,Add新建一个目标平台。Name处填入名称,这里是ARM。Device处选择2.1中配置的设备,Debugger处选择2.2中配置的调试器。另外,Compiler 和 Qt version 需选择对应的交叉编译环境,这里不做介绍。

至此,Qt环境已配置完毕。

3.新建工程测试

3.1 新建Qt工程,这里不做介绍。

3.2修改目标文件路径

选择.pro文件,加入如下两行。

#add run/debug path: /mnt on arm device

target.path = /mnt

INSTALLS += target

/mnt为可执行文件在嵌入式设备中调试运行目录。

3.3运行

确保Qt工程编译完成,点击运行在嵌入式设备即可运行当前程序。如果程序有调试输出(qDebug)可在软件“Application Output”观察程序输出。

3.4调试

确保Qt工程编译完成,点击调试在嵌入式设备即可运行当前程序,PC端Qt也可打断点调试。

至此,Qt远程调试ARM介绍完成。

评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值