1. 概述
在zynq的linux系统上开发应用程序时,对QT程序调试往往是通过TFTP将文件下载到目标板上,然后在目标板上运行,打印调试信息。这样调试很不方便,无法做到单步调试。本文将利用QT和gdbserver在上位机和目标板之间搭建一个远程调试平台。
2. 前期准备
在实现QT远程调试之前,有一些准备工作需要完成。
2.1 实现文件共享
第一步是启动PC端ubuntu系统的NFS服务,实现PC端和目标板之间文件共享。
首先,PC需要安装NFS服务器,运行命令sudo apt-get install nfs-kernel-server -y
其次,PC端设置共文件夹。修改/etc/exports
文件,运行命令sudo vim /etc/exports
,在该文件的最后一行添加如下命令/home/用户名/linux/nfs *(rw,sync,no_root_squash)
。如下图所示。
最后,启动NFS服务。运行指令sudo service nfs-kernel-server restart
第二步目标板上挂载共享文件夹。在目标板上运行指令:
mount -t nfs -o nolock 192.168.1.28:/home/用户名/linux/nfs/ /home/root/nfs
PC端的IP:192.168.1.28
目标板的共享文件夹:/home/root/nfs
PC端共享文件夹:192.168.1.28:/home/用户名/linux/nfs/
注意,目标板如果下电重启,需要重新再运行mount挂载命令。可以将mount -t nfs -o nolock 192.168.1.28:/home/用户名/linux/nfs/ /home/root/nfs
添加到/etc/init.d/rc