初级会员
- 积分
- 175
- 金钱
- 175
- 注册时间
- 2019-10-5
- 在线时间
- 31 小时
|
先简单说一下自己的情况,本人有一定的linux使用基础,由于项目原因,本人直接跳过驱动开发直接学习Qt的使用,在使用过程中最近踩了几个坑,今天在此总结一下,希望能对广大同行们有所作用。
本人按照原子的教程在虚拟机一步步搭建Qt环境,因为之前安装了高版本的Qt,所以卸载后安装5.5.1版本编译会出现debug文件夹命名报错信息的问题。网上查了一下是由于卸载不完全导致,无奈本人学艺不精,只能重新安装虚拟机,直接安装5.5.1版本,问题解决。
本人已经写好了一个很简陋的界面,按照原子的教程,把生成的可执行文件移植到开发板,运行成功。不过用于调试仍然需要打建调试环境,如果在开发板始终接一根串口线对我们会造成很多不便,于是本人查找了一下Qt远程调试的相关内容,了解了gdb+QTCreater的调试方法。
在使用这种方法远程调试的时候,需要在开发板做好准备,本人在开发板搭建了NFS,并且设置了静态IP地址,具体方式参考了坛友仰望星空之云的帖子:
静态IP:http://www.openedv.com/forum.php?mod=viewthread&tid=302799
NFS环境搭建:http://www.openedv.com/forum.php?mod=viewthread&tid=302907
在设置环境的过程中本人犯了许多低级错误,在此详细说明一下:
1.在按照静态IP设置的方法成功设置后,发现使用XShell远程连接失败,WinSCP访问被拒绝,查找了好多次原因,发现开发板能够ping通主机,然后XShell可以连接到开发板了,百思不得其解,通过查找各种博客尝试,均无法解决,最后发现一条评论,可能换个IP固定就好了。于是本人查了一下网络,果然,手机的IP与开发板的IP冲突了,于是把开发板的IP更换了一下,问题得到解决了。
2.在NFS环境搭建过程,挂载共享文件夹的结果报错,mount.nfs:access denied by server while mounting...,错误出现后,本人按照 http://www.hmjblog.com/system/linux/2998.html 的方式挨个试了一遍,问题得到解决,成功挂载。
开发板环境搭建完成后,需要在虚拟机上的QTCreater添加远程设备,就是在工具→选项→设备,添加设备,如图1:
按照流程添加好设备后,在kit中将imx6的设备类型选择通用设备类型,设备选择刚添加好的设备。
工程建立选择在共享文件夹,写好代码后编译,生成可执行文件,然后在开发板上挂载NFS,在开发板的NFS文件夹可以看到自己的工程文件夹。我的可执行文件命名位helloQtCode,在文件夹路径下运行:
gdbserver 192.168.1.xx:12345 helloQtCode
如果出现Listening on port 12345,在开发板的步骤就可以成功了。
如果报错出现permission denied的问题导致gdbserver退出,则需要给可执行文件添加权限。
在虚拟机的QTCreater中,调试→开始调试→Attach to Running Debug server ,按图2添加内容:
至此可以进行远程调试。
以上就是本人最近踩的坑,都是一些没有注意的细节问题导致,所以在此也希望我的记录能给大家提个醒,步骤正确后关注细节问题,避免踩坑。
|
-
图1
-
图2
|