【嵌入式Linux编译调试】VisualStdio+VisualGDB
在嵌入式Linux开发中,常见的方式是通过sourceinsight编辑程序,然后拷贝到Linux虚拟机,编写Makefile文件,然后make,这样就可以得到对应的bin运行文件,最后把该运行文件拷贝到嵌入式Linux板子上,运行程序。而调试的话,一般是用在Linux虚拟机中用交叉编译工具的gdb进行调试,这样做就会存在Windows与虚拟机不断去切换,编辑,编译,运行,调试。作为一个合格的懒人,是很排斥这种开发方式的,麻烦,效率低,并且编程主要的核心是实现代码功能,而不是去用各种花里胡哨的开发步骤,能快速进行开发、调试才是我们技术人应该所追寻的。但是熟悉以上的开发步骤也是一个合格的嵌入式工程师所需要掌握的技能。 说了这么多废话,开始分享怎么使用宇宙第一强IDE进行嵌入式Linux开发。
一、安装开发工具
1.安装VS,17版本之后的都可以的。我安装的是19版,下图是需要安装的包,主要是Linux这一块需要勾选上。
2.安装VisualGDB,下载链接:https://download.csdn.net/download/weixin_44578474/15116908
二、建立工程
1.打开VS,创建新项目,选择需要建立工程的类型
2.创建项目,然后会天弹出VisualGDB插件相关选项
3.选择生成文件类型,执行文件、动态库、静态库,选择标准库版本
4.选择Linux宿主机和在宿主机上运行的交叉编译工具链, 选择嵌入式LInux板子,注意:宿主机和板子都需要有ssh功能。
5.点击finish
三、编辑程序与调试
1.建成工程后,会自动创建个helloworld的程序,如下图
2.此时就可以编辑程序,编辑完后就可以直接点击运行或按F5,这时程序就会直接自动执行一下几个步骤
1)拷贝相关文件包括.c .h等文件到宿主Linux中
2)生成cmake,然后生成makefile
3)编译成可执行文件
4)拷贝到嵌入式Linux中
5)开启gdb调试
以上过程都是自动完成的,不需要人工操作。就像开发Windows的c工程一样的。
3.可以设置断点,也可一步一步运行,还可以查看、监视变量的值,也可查看内存的值,十分方便。
3.此时还可以看一下嵌入式Linux中该程序运行情况,可以看到该程序正常运行,并且有个gdbserver进程也在运行,说明使用的gdb+gdbserver进行调试的。
四、设置交叉编译相关参数
之前的例子是helloworld,所以比较简单,没有涉及到调用库和引用外部头文件的情况,这一节,就来聊聊怎么设置交叉编译的一些参数。靠下面一图解决
结语:
至此,VS+visualGDB开发方式已经交流完毕了,如有什么不足之处还请各位大佬们指出,有细节之处没有讲到的,想要问的也可以在评论区提问,大家一起进步。