wolfBoot/IDE/VSCode/wolfBoot.code-workspace

169 lines
4.9 KiB
Plaintext

/* [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)"
}
]
}
}