aboutsummaryrefslogtreecommitdiffstats
path: root/.vscode
diff options
context:
space:
mode:
Diffstat (limited to '.vscode')
-rw-r--r--.vscode/c_cpp_properties.json22
-rw-r--r--.vscode/cmake-kits.json6
-rw-r--r--.vscode/launch.json45
-rw-r--r--.vscode/settings.json15
-rw-r--r--.vscode/tasks.json22
5 files changed, 72 insertions, 38 deletions
diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json
index 392f4151..c5f88a82 100644
--- a/.vscode/c_cpp_properties.json
+++ b/.vscode/c_cpp_properties.json
@@ -1,4 +1,9 @@
{
+ "env": {
+ // TODO: This is a duplication of the configuration set in /docker/build.sh!
+ "TOOLS_DIR": "/opt",
+ "GCC_ARM_PATH": "gcc-arm-none-eabi-10.3-2021.10"
+ },
"configurations": [
{
"name": "nrfCC",
@@ -14,7 +19,22 @@
"intelliSenseMode": "linux-gcc-arm",
"configurationProvider": "ms-vscode.cpp-tools",
"compileCommands": "${workspaceFolder}/build/compile_commands.json"
+ },
+ {
+ "name": "nrfCC Devcontainer",
+ "includePath": [
+ "${workspaceFolder}/**",
+ "${workspaceFolder}/src/**",
+ "${workspaceFolder}/src"
+ ],
+ "defines": [],
+ "compilerPath": "${TOOLS_DIR}/${GCC_ARM_PATH}/bin/arm-none-eabi-gcc",
+ "cStandard": "c99",
+ "cppStandard": "c++20",
+ "intelliSenseMode": "linux-gcc-arm",
+ "configurationProvider": "ms-vscode.cpp-tools",
+ "compileCommands": "${workspaceFolder}/build/compile_commands.json"
}
],
"version": 4
-} \ No newline at end of file
+}
diff --git a/.vscode/cmake-kits.json b/.vscode/cmake-kits.json
new file mode 100644
index 00000000..95bb600b
--- /dev/null
+++ b/.vscode/cmake-kits.json
@@ -0,0 +1,6 @@
+[
+ {
+ "name": "InfiniTime Compiler",
+ "environmentSetupScript": "${workspaceFolder}/docker/build.sh"
+ }
+]
diff --git a/.vscode/launch.json b/.vscode/launch.json
index a50270d2..7d3f17a1 100644
--- a/.vscode/launch.json
+++ b/.vscode/launch.json
@@ -1,20 +1,18 @@
- {
+{
"version": "0.1.0",
"configurations": [
{
"name": "Debug - Openocd docker Remote",
- "type":"cortex-debug",
- "cortex-debug.armToolchainPath":"${env:ARM_NONE_EABI_TOOLCHAIN_PATH}/bin",
+ "type": "cortex-debug",
"cwd": "${workspaceRoot}",
"executable": "${command:cmake.launchTargetPath}",
"request": "launch",
"servertype": "external",
- // This may need to be arm-none-eabi-gdb depending on your system
- "gdbPath" : "${env:ARM_NONE_EABI_TOOLCHAIN_PATH}/bin/arm-none-eabi-gdb",
+ "gdbPath": "${env:ARM_NONE_EABI_TOOLCHAIN_PATH}/bin/arm-none-eabi-gdb",
// Connect to an already running OpenOCD instance
"gdbTarget": "host.docker.internal:3333",
"svdFile": "${workspaceRoot}/nrf52.svd",
- "runToMain": true,
+ "runToEntryPoint": "main",
// Work around for stopping at main on restart
"postRestartCommands": [
"break main",
@@ -23,18 +21,16 @@
},
{
"name": "Debug - Openocd Local",
- "type":"cortex-debug",
- "cortex-debug.armToolchainPath":"${env:ARM_NONE_EABI_TOOLCHAIN_PATH}/bin",
+ "type": "cortex-debug",
"cwd": "${workspaceRoot}",
"executable": "${command:cmake.launchTargetPath}",
"request": "launch",
"servertype": "openocd",
- // This may need to be arm-none-eabi-gdb depending on your system
- "gdbPath" : "${env:ARM_NONE_EABI_TOOLCHAIN_PATH}/bin/arm-none-eabi-gdb",
+ "gdbPath": "${env:ARM_NONE_EABI_TOOLCHAIN_PATH}/bin/arm-none-eabi-gdb",
// Connect to an already running OpenOCD instance
"gdbTarget": "localhost:3333",
"svdFile": "${workspaceRoot}/nrf52.svd",
- "runToMain": true,
+ "runToEntryPoint": "main",
// Work around for stopping at main on restart
"postRestartCommands": [
"break main",
@@ -51,6 +47,11 @@
"showDevDebugOutput": false,
"servertype": "openocd",
"runToMain": true,
+ // Work around for stopping at main on restart
+ "postRestartCommands": [
+ "break main",
+ "continue"
+ ],
// Only use armToolchainPath if your arm-none-eabi-gdb is not in your path (some GCC packages does not contain arm-none-eabi-gdb)
"armToolchainPath": "${workspaceRoot}/../gcc-arm-none-eabi-10.3-2021.10/bin",
"svdFile": "${workspaceRoot}/nrf52.svd",
@@ -58,7 +59,25 @@
"interface/stlink.cfg",
"target/nrf52.cfg"
],
- }
-
+ },
+ {
+ "name": "Debug - Openocd Devcontainer",
+ "type": "cortex-debug",
+ "cwd": "${workspaceRoot}",
+ "executable": "${command:cmake.launchTargetPath}",
+ "request": "launch",
+ "servertype": "external",
+ // FIXME: This is hardcoded. I have no idea how to use the values set in build.sh here
+ "gdbPath": "/opt/gcc-arm-none-eabi-10.3-2021.10/bin/arm-none-eabi-gdb",
+ // Connect to an already running OpenOCD instance
+ "gdbTarget": "host.docker.internal:3333",
+ "svdFile": "${workspaceRoot}/nrf52.svd",
+ "runToEntryPoint": "main",
+ // Work around for stopping at main on restart
+ "postRestartCommands": [
+ "break main",
+ "continue"
+ ]
+ },
]
}
diff --git a/.vscode/settings.json b/.vscode/settings.json
index f1cc3a81..a7b04eea 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -1,9 +1,20 @@
{
"C_Cpp.default.configurationProvider": "ms-vscode.cmake-tools",
"cmake.configureArgs": [
- "-DARM_NONE_EABI_TOOLCHAIN_PATH=${env:ARM_NONE_EABI_TOOLCHAIN_PATH}",
- "-DNRF5_SDK_PATH=${env:NRF5_SDK_PATH}",
+ "-DARM_NONE_EABI_TOOLCHAIN_PATH=${env:TOOLS_DIR}/${env:GCC_ARM_PATH}",
+ "-DNRF5_SDK_PATH=${env:TOOLS_DIR}/${env:NRF_SDK_VER}",
],
+ "cmake.statusbar.advanced": {
+ "launch": {
+ "visibility": "hidden"
+ },
+ "launchTarget": {
+ "visibility": "hidden"
+ },
+ "debug": {
+ "visibility": "hidden"
+ }
+ },
"cmake.generator": "Unix Makefiles",
"clang-tidy.buildPath": "build/compile_commands.json",
"files.associations": {
diff --git a/.vscode/tasks.json b/.vscode/tasks.json
index 17f51f5e..06a08bfc 100644
--- a/.vscode/tasks.json
+++ b/.vscode/tasks.json
@@ -2,20 +2,6 @@
"version": "2.0.0",
"tasks": [
{
- "label": "create openocd build",
- "type": "shell",
- "command": "/opt/create_build_openocd.sh",
- "group": {
- "kind": "build",
- "isDefault": true
- },
- "presentation": {
- "reveal": "always",
- "panel": "shared"
- },
- "problemMatcher": []
- },
- {
"label": "update submodules",
"type": "shell",
"command": "git submodule update --init",
@@ -31,14 +17,6 @@
"panel": "shared"
},
"problemMatcher": []
- },
- {
- "label": "BuildInit",
- "dependsOn": [
- "update submodules",
- "create openocd build"
- ],
- "problemMatcher": []
}
]
} \ No newline at end of file