首页 > 开发工具 > VSCode > 正文

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

星夢妙者
发布: 2025-08-12 22:11:01
原创
384人浏览过

要搭建嵌入式#%#$#%@%@%$#%$#%#%#$%@_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
登录后复制
文件配置正确,包含了正确的头文件路径和编译器路径。

琅琅配音
琅琅配音

全能AI配音神器

琅琅配音 208
查看详情 琅琅配音

解决方案:

  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开发环境,开始你的嵌入式之旅!

以上就是VSCode配置嵌入式Linux开发 完整VSCode搭建C环境教程的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号