使用VScode开发ARM核芯片通用配置

针对基于CMake构建的芯片例程开发均可以使用如下配置,本文暂时只讲操作不讲原理,网上资料很多大家可以自己去搜。

建议:在C盘直接新建一个Work/ToolChain来管理各种复杂的环境变量。

首先安装编译器arm-none-eabi-*组件:

其次是cmake工具:

然后是ninja:

在VScode上面安装clangd组件,并且从官网上面下载LLVM组合使用。

clangd直接搜这里:

LLVM需要在VScode中添加路径,首先点这个齿轮找到设置:

然后在这边:

在获取到的工程内新建.vscode,添加下面两个json文件(需要根据你获得的SDK修改)。

launch.json,注意这个gdbPath的路径需要改成你用的。

bash 复制代码
{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "testsuit",
            "cwd": "${workspaceFolder}/testsuite/EVB-NTO",
            "executable": "./GCC/out/testsuite.elf",
            "gdbPath" : "C:/arm-none-eabi/bin/arm-none-eabi-gdb.exe",
            "request": "attach",
            "type": "cortex-debug",
            "servertype" : "external",
            "gdbTarget": "127.0.0.1:3331",
            "rtos": "Azure",
            "overrideResetCommands": [
                // RCURST1: reset core system
                "monitor memU32 0x40040084 0x000055aa",
                "monitor reset",
                "load",
                "monitor reset 1",
                // "monitor reset 4",
            ],
            "overrideRestartCommands": [
                "monitor reset 1",
                // "monitor reset 4",
            ]
        }
        
    ]
}

settings.json,第一行路径决定了编译目标

bash 复制代码
{
    "cmake.sourceDirectory": "${workspaceFolder}/testsuite/EVB-NTO/GCC/scripts/cmake",
    "cortex-debug.variableUseNaturalFormat": false,
    "clangd.arguments": [
        "--all-scopes-completion",
        "--completion-style=detailed",
        "--query-driver=C:/arm-none-eabi/bin/arm-none-eabi*",
        "--compile-commands-dir=${workspaceFolder}/testsuite/EVB-NTO/GCC/out",
        "--pretty",
        "--background-index"
    ],
    "C_Cpp.intelliSenseEngine": "disabled",
    "commentTranslate.targetLanguage": "zh-CN"
}

注意第一个路径,对应着你的"目标构建文件"的CMakelists和CMakePresets,这是一种目前很流行的工程固件编译管理模式,通过编译脚本编译出不同的开发板、产品板适配的固件。

最后ctrl+shift+p,reload重启一下VScode,可以实现精准跳转了,来到CMake栏目下就可以生成和清理编译文件了。

相关推荐
monsion11 小时前
OpenCode 学习指南
人工智能·vscode·架构
ARM+FPGA+AI工业主板定制专家12 小时前
基于ARM+FPGA+AI的船舶状态智能监测系统(二)软硬件设计,模拟量,温度等采集与分析
arm开发·人工智能·目标检测·fpga开发
非鱼䲆鱻䲜13 小时前
vscode开发stm32添加新的头文件路径和包含源文件
ide·vscode·stm32·cmake·包含头文件·包含源文件
梅尔文.古13 小时前
ADCU-Ethernet-以太网在AUTOSAR与Linux架构下对比
arm开发·单片机·汽车
szxinmai主板定制专家14 小时前
基于ZYNQ MPSOC船舶数据采集仪器设计(一)总体设计方案,包括振动、压力、温度、流量等参数
arm开发·人工智能·嵌入式硬件·fpga开发
liurunlin88816 小时前
Go环境搭建(vscode调试)
开发语言·vscode·golang
坤坤藤椒牛肉面17 小时前
ARM基础内容
arm开发
szxinmai主板定制专家19 小时前
基于ZYNQ MPSOC船舶数据采集仪器设计(三)振动,流量,功耗,EMC,可靠性测试
arm开发·人工智能·嵌入式硬件·fpga开发
Willliam_william21 小时前
QEMU学习之路(11)— 使用VSCode调试qemu-system-riscv64
ide·vscode·学习
TroubleMakerQi1 天前
[虚拟机环境配置]07_Ubuntu中安装vscode教程
linux·人工智能·vscode·ubuntu