boxmoe_header_banner_img

Hello! 欢迎来到悠悠畅享网!

文章导读

VSCode配置嵌入式Linux开发 完整VSCode搭建C环境教程


avatar
站长 2025年8月12日 4

要搭建嵌入式#%#$#%@%@%$#%$#%#%#$%@_e206a54e97690c++e50cc872dd70ee896开发的vscode c环境,首先安装vscode及c/c++扩展以获得基本编译调试能力;2. 安装适用于目标架构的交叉编译工具链,如树莓派使用arm-linux-gnueabihf-gcc;3. 配置tasks.json文件指定交叉编译器路径和编译参数,实现代码构建;4. 配置launch.json文件设置gdb远程调试,包括midebuggerpath和目标设备ip端口;5. 在嵌入式设备上启动gdbserver并监听指定端口,准备调试连接;6. 解决权限问题可通过chmod修改设备文件权限、sudo运行gdbserver或配置udev规则;7. 实现代码自动补全和语法检查需正确配置c_cpp_properties.json中的includepath和compilerpath,或安装clangd扩展提升智能感知;8. 使用remote development扩展可实现远程开发,通过remote-ssh连接设备并在远程安装vscode server;9. 用makefile管理复杂项目,编写编译规则并在tasks.json中调用make命令;10. 查看串口输出可安装serial monitor扩展并配置正确串口号和波特率。完整配置后即可高效进行嵌入式linux开发。

VSCode配置嵌入式Linux开发 完整VSCode搭建C环境教程

直接在VSCode里搞嵌入式Linux开发,听起来就挺酷的,对吧? 其实也没那么神秘,关键是把环境搭好。 这篇文章就来说说怎么完整搭建C环境,让你在VSCode里也能飞起来。

搭建嵌入式Linux开发的VSCode C环境。

为什么选择VSCode进行嵌入式Linux开发?

其实选择VSCode,很大程度上是因为它的轻量级和强大的插件生态。 你可以根据自己的需求安装各种插件,比如C/C++ 插件、远程开发插件等等,让你的开发效率嗖嗖地往上涨。 而且,VSCode的界面也比较友好,用起来很舒服。 当然,也有人喜欢用其他的IDE,比如Eclipse,但我觉得VSCode更适合我这种喜欢折腾的人。

解决方案:

  1. 安装VSCode和C/C++ 扩展: 这个不用多说,官网下载安装,然后在扩展商店搜索C/C++,安装。 装完之后,VSCode基本上就有了编译和调试C/C++代码的能力。

  2. 安装交叉编译工具链: 这是关键。 因为嵌入式Linux运行在不同的架构上(比如ARM),所以我们需要一个交叉编译工具链,在PC上编译出能在嵌入式设备上运行的代码。 这个工具链怎么安装,取决于你的嵌入式平台。 比如,如果是树莓派,你可以用

    apt-get install gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf

    来安装。 注意,

    arm-linux-gnueabihf

    这个部分要根据你的平台来修改。

  3. 配置VSCode的

    tasks.json

    文件: 这个文件告诉VSCode怎么编译你的代码。 在VSCode里按

    Ctrl+Shift+P

    ,输入

    Tasks: Configure Task

    ,选择

    Create tasks.json from template

    ,然后选择

    Others

    。 然后,编辑

    tasks.json

    文件,把里面的

    command

    改成你的交叉编译器的路径,比如:

{     "version": "2.0.0",     "tasks": [         {             "type": "shell",             "label": "build",             "command": "/usr/bin/arm-linux-gnueabihf-gcc", // 这里改成你的交叉编译器路径             "args": [                 "-g",                 "${file}",                 "-o",                 "${fileDirname}/${fileBasenameNoExtension}"             ],             "options": {                 "cwd": "${workspaceFolder}"             },             "problemMatcher": [                 "$gcc"             ],             "group": {                 "kind": "build",                 "isDefault": true             }         }     ] }
  1. 配置VSCode的
    launch.json

    文件: 这个文件告诉VSCode怎么调试你的代码。 同样,按

    Ctrl+Shift+P

    ,输入

    Debug: Open launch.json

    。 然后,编辑

    launch.json

    文件。 调试嵌入式Linux程序,通常需要用到GDB远程调试。 所以,你需要配置GDB的路径,以及目标设备的IP地址和端口号。 一个例子如下:

{     "version": "0.2.0",     "configurations": [         {             "name": "(gdb) Launch",             "type": "cppdbg",             "request": "launch",             "program": "${workspaceFolder}/${fileBasenameNoExtension}",             "args": [],             "stopAtEntry": false,             "cwd": "${workspaceFolder}",             "environment": [],             "externalConsole": false,             "MIMode": "gdb",             "miDebuggerPath": "/usr/bin/arm-linux-gnueabihf-gdb", // 这里改成你的GDB路径             "setupCommands": [                 {                     "description": "Enable pretty-printing for gdb",                     "text": "-enable-pretty-printing",                     "ignoreFailures": true                 }             ],             "targetArchitecture": "arm",             "miDebuggerServerAddress": "192.168.1.100:1234" // 这里改成你的目标设备的IP地址和端口号         }     ] }
  1. 在嵌入式设备上启动GDB Server: 在你的嵌入式设备上,需要启动GDB Server,监听来自PC的调试请求。 你可以用
    gdbserver 192.168.1.100:1234 your_program

    来启动,其中

    192.168.1.100

    是你的PC的IP地址,

    1234

    是端口号,

    your_program

    是你要调试的程序。

如何解决VSCode调试嵌入式Linux程序时遇到的权限问题?

权限问题是嵌入式开发中经常遇到的。 比如,你可能没有权限访问某些设备文件,或者没有权限调试某些程序。 解决这个问题,通常需要修改文件权限,或者以root身份运行GDB Server。 但要注意,以root身份运行程序可能会带来安全风险,所以要谨慎操作。

解决方案:

  • 修改文件权限: 使用

    chmod

    命令修改文件权限。 比如,

    chmod 777 /dev/ttyUSB0

    可以给

    /dev/ttyUSB0

    这个设备文件赋予所有用户读写执行的权限。

  • 以root身份运行GDB Server: 使用

    sudo gdbserver 192.168.1.100:1234 your_program

    来以root身份运行GDB Server。

  • 配置udev规则: udev是一个Linux设备管理器,可以根据设备属性自动配置设备文件。 你可以通过配置udev规则,让特定的用户自动拥有特定设备的访问权限。

如何在VSCode中实现代码自动补全和语法检查?

代码自动补全和语法检查是提高开发效率的利器。 VSCode的C/C++ 扩展自带了这些功能,但需要正确配置。 确保你的

c_cpp_properties.json

文件配置正确,包含了正确的头文件路径和编译器路径。

解决方案:

  1. 配置
    c_cpp_properties.json

    文件: 这个文件告诉VSCode你的项目的头文件路径和编译器路径。 按

    Ctrl+Shift+P

    ,输入

    C/C++: Edit Configurations (JSON)

    ,可以打开这个文件。 然后,编辑这个文件,添加你的头文件路径和编译器路径。 一个例子如下:

{     "configurations": [         {             "name": "Linux",             "includePath": [                 "${workspaceFolder}/**",                 "/usr/include",                 "/usr/include/arm-linux-gnueabihf" // 这里添加你的头文件路径             ],             "defines": [],             "compilerPath": "/usr/bin/arm-linux-gnueabihf-gcc", // 这里改成你的交叉编译器路径             "cStandard": "c11",             "cppStandard": "c++17",             "intelliSenseMode": "linux-gcc-arm"         }     ],     "version": 4 }
  1. 安装clangd扩展: clangd是一个C/C++语言服务器,可以提供更强大的代码自动补全和语法检查功能。 在VSCode的扩展商店搜索clangd,安装即可。

如何在VSCode中进行远程开发?

很多时候,我们的代码需要在远程的嵌入式设备上编译和运行。 VSCode的Remote Development 扩展可以让我们直接在远程设备上开发,就像在本地一样。

解决方案:

  1. 安装Remote Development 扩展: 在VSCode的扩展商店搜索Remote Development,安装即可。 这个扩展包含三个子扩展:Remote – SSH、Remote – Containers 和 Remote – WSL。 根据你的需求选择安装。

  2. 配置SSH连接: 使用Remote – SSH 扩展,可以通过SSH连接到远程设备。 点击VSCode左下角的绿色按钮,选择

    Remote-SSH: Connect to Host...

    ,然后输入你的远程设备的IP地址和用户名。

  3. 在远程设备上安装VSCode Server: 第一次连接到远程设备时,VSCode会自动在远程设备上安装VSCode Server。 这个Server负责在远程设备上运行代码,并将结果返回给本地的VSCode。

如何使用Makefile管理项目?

Makefile是一个自动化构建工具,可以简化编译过程。 对于复杂的嵌入式Linux项目,使用Makefile可以大大提高开发效率。

解决方案:

  1. 编写Makefile: Makefile定义了项目的编译规则。 你需要编写Makefile,指定源文件、头文件、编译器选项等等。 一个简单的Makefile例子如下:
CC = arm-linux-gnueabihf-gcc CFLAGS = -g -Wall  TARGET = my_program SOURCES = main.c  all: $(TARGET)  $(TARGET): $(SOURCES)     $(CC) $(CFLAGS) -o $(TARGET) $(SOURCES)  clean:     rm -f $(TARGET)
  1. 配置VSCode的
    tasks.json

    文件: 修改

    tasks.json

    文件,让VSCode使用Makefile来编译项目。

{     "version": "2.0.0",     "tasks": [         {             "type": "shell",             "label": "make",             "command": "make",             "args": [],             "options": {                 "cwd": "${workspaceFolder}"             },             "problemMatcher": [                 "$gcc"             ],             "group": {                 "kind": "build",                 "isDefault": true             }         }     ] }

如何在VSCode中查看嵌入式设备的串口输出?

嵌入式设备的串口输出对于调试非常重要。 VSCode可以通过安装串口插件来查看串口输出。

解决方案:

  1. 安装Serial Monitor 扩展: 在VSCode的扩展商店搜索Serial Monitor,安装即可。

  2. 配置Serial Monitor: 配置Serial Monitor的串口号、波特率等参数。 点击VSCode底部的Serial Monitor图标,可以打开串口监视器。

配置嵌入式Linux开发环境确实需要一些耐心,但一旦配置好,开发效率就会大大提高。 希望这篇文章能帮助你顺利搭建VSCode的嵌入式Linux开发环境,开始你的嵌入式之旅!



评论(已关闭)

评论已关闭