vscode嵌入式开发配置

背景

虽然vscode提供了许多嵌入式开发插件,但是质量参差不齐,所以本人大多是情况下依旧还是保留着:嵌入式IDE+VSCode并行的开发模式,VSCode纯粹作为代码编辑器。而VSCode只需要配置c/c++的includepath路径就可以了。这里针对不同嵌入式平台给出不同的c_cpp_properties.json文件

ESP32

经过多次尝试后,还是选择本身的Espressif-IDE配置编译+VSCode代码编辑的开发模式。
c_cpp_properties.json如下

{
    "configurations": [
        {
            "name": "ESP-IDF",
            "compilerPath": "${env:IDF_TOOLS_PATH}\\tools\\xtensa-esp32-elf\\esp-2021r2-patch5-8.4.0\\xtensa-esp32-elf\\bin\\xtensa-esp32-elf-gcc.exe",
            "cStandard": "c11",
            "cppStandard": "c++17",
            "includePath": [
                "${env:IDF_TOOLS_PATH}/frameworks/esp-idf-v4.4.3/components/**",
                "${env:IDF_TOOLS_PATH}/frameworks/esp-idf-v4.4.3/examples/**",
                "${workspaceFolder}/**"
            ],
            "browse": {
                "path": [
                    "${env:IDF_TOOLS_PATH}/frameworks/esp-idf-v4.4.3/components/",
                    "${env:IDF_TOOLS_PATH}/frameworks/esp-idf-v4.4.3/examples/**",
                    "${workspaceFolder}"
                ],
                "limitSymbolsToIncludedHeaders": false
            },
            "configurationProvider": "ms-vscode.makefile-tools"
        }
    ],
    "version": 4
}

QT

{
    "env": {
        "qtPath": "D:\\soft\\Qt5.15\\5.15.2\\mingw81_32",
        "qtToolPath":"D:\\soft\\Qt5.15\\Tools\\mingw81_32\\i686-w64-mingw32",
        "qtbuildPath":"D:\\data\\.buildCashe\\PID_prj\\pidCtrl_winapp\\build-TempCtrlTool-Desktop_Qt_5_15_2_MSVC2019_32bit-Debug\\**"
    },
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceFolder}/**",
                "${qtbuildPath}",
                "${qtPath}/include",
                "${qtPath}/include/QtCore",
                "${qtPath}/include/QtGui",
                "${qtPath}/include/QtWidgets",
                "${qtPath}/include/QtNetwork",
                "${qtPath}/include/QtSerialPort",
                "${qtPath}/include/QtSerialBus",
                "${qtPath}/include/QtCharts",
                "${qtToolPath}/include"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE"
            ],
            "browse": {
                "path": [
                    "${workspaceFolder}",
                    "${qtPath}/include",
                    "${qtToolPath}/include",
                    "${qtbuildPath}",
                ],
                "limitSymbolsToIncludedHeaders": true
            },
            "intelliSenseMode": "${default}",
            "compilerPath": "${qtPath}/bin/cl.exe",
            "cStandard": "c11",
            "cppStandard": "c++17"
        }
    ],
    "version": 4
}

STM32

{
    "env": {
        "MDK5Path": "C:\\Keil_v5"
    },
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceFolder}/**",
                "${MDK5Path}/ARM/ARMCLAN/include",
                "${MDK5Path}/ARM/ARMCC/include"
                
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE",
                "USE_STDPERIPH_DRIVER",
                "GD32F30X_HD",
                "__CC_ARM"
            ],
            "browse": {
                "path": [
                    "${workspaceFolder}",
                    "${MDK5Path}/ARM/ARMCLAN/include",
                    "${MDK5Path}/ARM/ARMCC/include"
                ],
                "limitSymbolsToIncludedHeaders": true
            },
            "intelliSenseMode": "${default}",
            "cStandard": "c11",
            "cppStandard": "c++17"
        }
    ],
    "version": 4
}

DSP F28335

后续更新。。。

DSP 6678

后续更新。。。

VxWorks

后续更新。。。

Linux内核

{
    "configurations": [
        {
            "name": "Linux",
            "includePath": [

                "${workspaceFolder}/arch/arm64/include/**",
                "${workspaceFolder}/include/**",
                "${workspaceFolder}/include/linux/**",
                "${workspaceFolder}/arch/arm64/**",
                "${workspaceFolder}/**"
            ],
            "defines": [
                "__KERNEL__"
            ],
            "compilerPath": "/usr/bin/gcc",
            "cStandard": "c17",
            "cppStandard": "gnu++14",
            "intelliSenseMode": "linux-gcc-x64",
            "browse": {
                "limitSymbolsToIncludedHeaders": true,
                "databaseFilename": "${workspaceFolder}/.vscode/browse.VC.db"
            }
        }
    ],
    "version": 4
}
{
    "search.exclude": {
        "**/node_modules": true,
        "**/bower_components": true,
        "**/*.o":true,
        "**/*.su":true, 
        "**/*.cmd":true,
        "Documentation":true, 
 
        /* 屏蔽不用的架构相关的文件 */
        "arch/alpha":true,
        "arch/arc":true,
        "arch/arm64":true,
        "arch/avr32":true,
        "arch/[b-z]*":true,
        "arch/arm/plat*":true,   
        "arch/arm/mach-[a-h]*":true,   
        "arch/arm/mach-[n-z]*":true,  
        "arch/arm/mach-i[n-z]*":true, 
        "arch/arm/mach-m[e-v]*":true, 
        "arch/arm/mach-k*":true, 
        "arch/arm/mach-l*":true, 
 
        /* 屏蔽排除不用的配置文件 */
        "arch/arm/configs/[a-h]*":true, 
        "arch/arm/configs/[j-z]*":true, 
        "arch/arm/configs/imo*":true, 
        "arch/arm/configs/in*":true, 
        "arch/arm/configs/io*":true, 
        "arch/arm/configs/ix*":true, 
 
        /* 屏蔽掉不用的DTB文件 */
        "arch/arm/boot/dts/[a-h]*":true, 
        "arch/arm/boot/dts/[k-z]*":true, 
        "arch/arm/boot/dts/in*":true, 
        "arch/arm/boot/dts/imx1*":true, 
        "arch/arm/boot/dts/imx7*":true, 
        "arch/arm/boot/dts/imx2*":true, 
        "arch/arm/boot/dts/imx3*":true, 
        "arch/arm/boot/dts/imx5*":true, 
        "arch/arm/boot/dts/imx6d*":true, 
        "arch/arm/boot/dts/imx6q*":true, 
        "arch/arm/boot/dts/imx6s*":true, 
        "arch/arm/boot/dts/imx6ull-9x9*":true, 
        "arch/arm/boot/dts/imx6ull-14x14-ddr*":true, 
        "arch/arm/boot/dts/*.tmp":true,       
    },
    "files.exclude": {
        "**/.git": true,
        "**/.svn": true,
        "**/.hg": true,
        "**/CVS": true,
        "**/.DS_Store": true,  
        "**/*.o":true,
        "**/*.su":true, 
        "**/*.cmd":true,
        "Documentation":true, 
 
        /* 屏蔽不用的架构相关的文件 */
        "arch/alpha":true,
        "arch/arc":true,
        "arch/arm64":true,
        "arch/avr32":true,
        "arch/[b-z]*":true,
        "arch/arm/plat*":true,   
        "arch/arm/mach-[a-h]*":true,   
        "arch/arm/mach-[n-z]*":true,  
        "arch/arm/mach-i[n-z]*":true, 
        "arch/arm/mach-m[e-v]*":true, 
        "arch/arm/mach-k*":true, 
        "arch/arm/mach-l*":true, 
 
        /* 屏蔽排除不用的配置文件 */
        "arch/arm/configs/[a-h]*":true, 
        "arch/arm/configs/[j-z]*":true, 
        "arch/arm/configs/imo*":true, 
        "arch/arm/configs/in*":true, 
        "arch/arm/configs/io*":true, 
        "arch/arm/configs/ix*":true, 
 
        /* 屏蔽掉不用的DTB文件 */
        "arch/arm/boot/dts/[a-h]*":true, 
        "arch/arm/boot/dts/[k-z]*":true, 
        "arch/arm/boot/dts/in*":true, 
        "arch/arm/boot/dts/imx1*":true, 
        "arch/arm/boot/dts/imx7*":true, 
        "arch/arm/boot/dts/imx2*":true, 
        "arch/arm/boot/dts/imx3*":true, 
        "arch/arm/boot/dts/imx5*":true, 
        "arch/arm/boot/dts/imx6d*":true, 
        "arch/arm/boot/dts/imx6q*":true, 
        "arch/arm/boot/dts/imx6s*":true, 
        "arch/arm/boot/dts/imx6ull-9x9*":true, 
        "arch/arm/boot/dts/imx6ull-14x14-ddr*":true, 
        "arch/arm/boot/dts/*.tmp":true, 
    }
}
posted @ 2023-01-16 22:16  峰绘の琴师  阅读(521)  评论(0编辑  收藏  举报