/* [WOLFBOOT_ROOT]/IDE/VSCode/wolfBoot.code-workspace * * Copyright (C) 2025 wolfSSL Inc. * * This file is part of wolfBoot. * * wolfBoot is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wolfBoot is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA */ { "folders": [ { "name": "wolfBoot", /* This workspace is found two directories deep in [WOLFBOOT_ROOT]/IDE/VSCode */ "path": "../.." } ], /* Extension expected */ "extensions": { "recommendations": [ "ms-vscode.cmake-tools", "ms-vscode.cpptools", "marus25.cortex-debug" ] }, /* Alternative to [WOLFBOOT_ROOT]/.vscode/settings.json */ "settings": { /* Pick a default config to work immediately upon opening project */ "cmake.defaultConfigurePreset": "stm32l4", "cmake.defaultBuildPreset": "stm32l4", /* current, unified switch. Enables using all presets from CMakePresets.json file: * configure, build, test, package, workflow - and drives the UI accordingly. */ "cmake.useCMakePresets": "always", /* This is a legacy setting for older versions */ "cmake.useConfigurePresets": "always", "cmake.configureOnOpen": true, /* Ensure Status Bar icons are enabled. The default is "hidden". * * Ctrl-Shift-P CMake:Open CMake Tools Extension Settings * * Status Bar Visibility: * * @ext:ms-vscode.cmake-tools stat * * See also CMake icon (3D Triangle with Wrench) */ "cmake.options.statusBarVisibility": "visible", "cmake.loggingLevel": "info", /* Make the project root the source dir no matter where VS Code is opened */ "cmake.sourceDirectory": "${workspaceFolder:wolfBoot}", /* One build dir per preset under the repo root */ "cmake.buildDirectory": "${workspaceFolder:wolfBoot}/build-vsc-${buildPresetName}", "cmake.preferredGenerators": [ "Ninja", "Ninja Multi-Config", "Unix Makefiles", "Visual Studio 17 2022" ], "cmake.generator": "Ninja", "C_Cpp.default.configurationProvider": "ms-vscode.cmake-tools", "files.encoding": "utf8", "files.eol": "\n" }, /* Alternative to [WOLFBOOT_ROOT]/.vscode/tasks.json */ "tasks": { "version": "2.0.0", "tasks": [ { "label": "CMake: Configure (active)", "command": "cmake", "args": [ "--preset", "${command:cmake.activeConfigurePresetName}" ], "options": { "cwd": "${workspaceFolder:wolfBoot}" }, "problemMatcher": [] }, { "label": "CMake: Build (active)", "command": "cmake", "args": [ "--build", "--preset", "${command:cmake.activeBuildPresetName}" ], "options": { "cwd": "${workspaceFolder:wolfBoot}" }, "group": "build", "problemMatcher": "$gcc" }, { "label": "CMake: Clean (active)", "command": "cmake", "args": [ "--build", "--preset", "${command:cmake.activeBuildPresetName}", "--target", "clean" ], "options": { "cwd": "${workspaceFolder:wolfBoot}" }, "problemMatcher": [] }, { "label": "OpenOCD: Flash wolfBoot (active)", "type": "shell", "command": "openocd", "args": [ "-f", "interface/stlink-dap.cfg", "-f", "target/stm32l4x.cfg", "-c", "program ${command:cmake.buildDirectory}/wolfboot.elf verify reset exit" ], "options": { "cwd": "${workspaceFolder:wolfBoot}" }, "problemMatcher": [] } ] }, /* Alternative to [WOLFBOOT_ROOT]/.vscode/launch.json */ "launch": { "version": "0.2.0", "configurations": [ { "name": "STM32L4 - OpenOCD (active preset)", "type": "cortex-debug", "request": "launch", "servertype": "openocd", "cwd": "${workspaceFolder:wolfBoot}", "device": "STM32L475VG", "svdFile": "${workspaceFolder:wolfBoot}/hal/stm32l4/STM32L4x.svd", "executable": "${command:cmake.buildDirectory}/wolfboot.elf", "configFiles": [ "interface/stlink-dap.cfg", "target/stm32l4x.cfg" ], "runToMain": true, "preLaunchTask": "CMake: Build (active)" } ] } }