保姆级教程:Linux(Ubuntu 18.04)下VSCode配置与嵌入式开发平台X2000_Halley5调试环境搭建

本文是针对Ubuntu 18.04的VSCode配置教程,详细介绍了如何搭建C/C++编译环境、gdb调试环境,以及针对X2000_Halley5嵌入式硬件的编译和调试环境。通过安装插件、配置c_cpp_properties.json、tasks.json和launch.json文件,实现了从源码编译到GDB调试的完整流程。

保姆级教程:Linux(Ubuntu 18.04)下VSCode配置与嵌入式开发平台X2000_Halley5调试环境搭建

写在前面

新人第一次写博客,光是这Markdown编辑器功能介绍,看着就眼花缭乱的了,慢慢来,以后每一篇blog加入一个功能,总能都学会。😃
话不多说,开写:
操作系统:Ubuntu18.04 64bit
已经安装过VSCode,未安装任何插件

配置VSCode的编译环境

  1. 安装C/C++插件,点击最左侧快捷工具栏的【扩展】,或使用快捷键Ctrl+Shift+X,之后依次安装C/C++插件、C/C++Extension Pack插件(这时候不装,后面也会弹提示让安装)
    安装C/C++相关插件

  2. 还有这个Gdb插件,忧伤的鱼的这个。GDB Debug插件

  3. 之后按下F1键,或Ctrl+Shift+P快捷键打开指令窗口,选择C/C++:编辑配置(UI)。点击后打开UI界面配置C/C++,这里使用默认配置,直接关闭即可,之后可以在左侧的文件目录中看到在当前目录下自动生成了.vscode目录,并在该目录下自动创建了c_cpp_properties.json文件,该文件用于配置环境,包括编译头文件、编译工具等参数。指令窗口

  4. 之后点击菜单栏的【终端】->【运行任务】,就会打开指令下拉列表,选择C/C++:gcc生成活动文件(有时会出现已经配置过task之后又删除的情况,这时需要点击右侧的齿轮按钮,就可以重新添加任务配置文件),就可以在左侧看到添加的tasks.json文件。请添加图片描述

  5. 此时,已经完成标准C语言编译环境的配置,点击菜单栏【终端】→【运行生成任务】,就可以在当前目录下得到与*.c同名的可执行文件,可以在终端中执行。接下来是C语言环境下的调试设置。

配置VSCode的gdb调试环境

  1. 点击左侧快捷工具栏的运行和调试(快捷键是Ctrl+Shift+D),点击“创建launch.json文件”按钮,就会自动在编辑区创建launch.json文件。运行和调试窗口请添加图片描述

  2. 这时点击编辑区域的右下角的添加配置按钮(如上图),然后选择“C/C++:(gdb)启动”选项,这样就向其中添加了gdb调试信息。点击配置按钮后

  3. 这里需要修改一下Configuration选项里的program这项的内容,可以参考tasks.json里编译器参数的最后一行的内容,将其赋值为:“${fileDirname}/${fileBasenameNoExtension}
    然后再点击左侧运行和调试按钮,就可以看到已经有可用的调试命令了,如下图所示,点击即可开始调试。gdb调试按钮

配置X2000_Halley5的编译环境

  1. 接下来是修改为适应X2000调试的方法。首先是修改编译器,按F1选择“C/C++编辑配置(UI)”,之后修改编译器路径,从原来的/usr/bin/gcc修改为手册中写的(建议写绝对目录):
******/project_workspace/buildroot/buildroot/output/host/usr/bin/mips-linux-gnu-gcc

(这里在输入完毕后,鼠标点击其他地方,可以检查输入的是否正确,如果错误,会提示找不到编译器)修改编译器路径

  1. 在下面的“包含路径”中加入X2000库的头文件目录:
******/project_workspace/buildroot/buildroot/output/staging/usr/include/
  1. 然后修改tasks.json文件。修改“tasks”配置项里的command配置项,将其修改为上面编译器的绝对地址:
******/project_workspace/buildroot/buildroot/output/host/usr/bin/mips-linux-gnu-gcc

并按照手册加入编译选项,最后配置结果如下所示:

{
	"version": "2.0.0",
	"tasks": [
	{
		"type": "cppbuild",
		"label": "C/C++: gcc 生成活动文件",
		"command": "******/project_workspace/buildroot/buildroot/output/host/usr/bin/mips-linux-gnu-gcc",
		"args": [
			"-fdiagnostics-color=always",
			"-g",		// 这就是是能gdb调试功能
			"${file}",
			"-lhardware2",
			"-o",
			"${fileDirname}/${fileBasenameNoExtension}"
		],
		"options": {
			"cwd": "${fileDirname}"
		},
		"problemMatcher": [
			"$gcc"
		],
		"group": {
			"kind": "build",
			"isDefault": true
		},
		"detail": "编译器: /usr/bin/gcc"
		}
	]
}

至此,基于X2000编译器的修改已经完毕,可以执行菜单栏【终端】->【运行生成任务】命令来进行编译生成文件。

配置X2000_Halley5的gdb调试环境

  1. 接下来来实现gdb调试的配置launch.json文件,内容如下:
{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: Debugging in Visual Studio Code
    "version": "0.2.0",
    "configurations": [
        {
            "name": "X2000调试", //配置名称,显示在配置下拉菜单中
            "type": "cppdbg", //配置类型
            "request": "launch", //请求配置类型,可以是启动或者是附加
            "program": "${fileDirname}/${fileBasenameNoExtension}", // linux上程序可执行文件的完整路径         
            "args": [], //传递给程序的命令行参数
            "stopAtEntry": false,//可选参数,如果为true,调试程序应该在入口(main)处停止
            "cwd": "${workspaceFolder}", //目标的工作目录
            "environment": [], //表示要预设的环境变量
            "externalConsole": false,//如果为true,则为调试对象启动控制台
            "MIMode": "gdb",//要连接到的控制台启动程序
            "setupCommands": [ //为了安装基础调试程序而执行的一个或多个GDB/LLDB命令
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "miDebuggerPath": "******/project_workspace/buildroot/buildroot/output/host/usr/bin/mips-linux-gnu-gdb", // 与编译器对应的gdb工具绝对路径

// gdb程序路径,作为与目标板gdbserver通信的gdb client运行于linux服务器上
            "miDebuggerServerAddress": "192.168.1.33:9090"  //目标板上gdbserver的IP地址(也就是目标板的地址)和端口号
        }
  1. 就此配置完毕。这样,每次编译完毕后,将程序通过adb,push到目标板上,这里目标板的gdbserver位于开发板的/usr/bin目录下,将待调试文件放在/tmp/sdcard/mmcblk0p1目录下,在开发板上执行下面的命令:
# /usr/bin/gdbserver :9090 /tmp/sdcard/mmcblk0p1/test 

即可进入等待模式,等待上位机开始调试,上位机点击下图的三角键运行调试,记得先打好短点就可以了。请添加图片描述
收工撒花✿✿ヽ(°▽°)ノ✿

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值