Nordic #Devacademy intermediate course: Ticket for exercise 2 of lesson 2
Dear Colleagues,
I selected the #nRF9151-DK, since it was in the list of recommended boards for this course. It also looked useful for many of the post-evaluation use cases that I have.
So far, my experience is unfortunately that I spend most of the time I have invested in this course in figuring out workarounds for #VSCode problems. I spend very little of my time coding and learning about zephyr and most of it trying to fix VSCode problems. Use of an IDE that is less-ambitious, more-robust, and more-transparent about how it works would add a lot of value to this course. I think most professionals have a lot of other things to work on, too. I look forward to getting lesson 2 of the Nordic Devacademy intermediate course, which is about how to use the VSCode debugging features, behind me and getting on to coding some examples. I don't anticipate using VSCode after this course.
So, here is the current configuration:
SDK: Zephyr v4.1.99
Toolchain: nRF Connect SDK Toolchain v3.0.2
Board target: nrf9151dk/nrf9151/ns (nordic kit)
Optimization level; Use project default (tried "Optimize for debugging (-Og)", but that failed. Went to the default configuration to take GDB out of the problem equation)

Here's the output from View->Command Palette->nRF Connect: Generate Support Information:
// IMPORTANT: The following data can contain sensitive or confidential information about your environment.
// If you do not want others to see this information, make sure to remove it before sharing the data.
// For help and support, visit Nordic Semiconductor's DevZone at https://devzone.nordicsemi.com/.
{
"platform": {
"os": "linux",
"osVersion": "#63~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Tue Apr 22 19:00:15 UTC 2",
"osKernel": "6.8.0-60-generic",
"vscode": "1.100.3",
"electron": "34.5.1",
"node": "v20.19.0",
"name": "Ubuntu",
"id": "ubuntu",
"version": "22.04.4 LTS (Jammy Jellyfish)",
"versionId": "22.04"
},
"system": {
"date": "2025-06-11T17:27:43.283Z",
"vscodeRoot": "/usr/share/code/resources/app",
"nrfConnectForDesktopInstalled": "unknown",
"vscodeUptime": "00:20:49",
"osUptime": "02:06:36",
"cpu": "Intel(R) Core(TM) i3-1005G1 CPU @ 1.20GHz"
},
"workspace": {
"name": "Untitled (Workspace)",
"workspaceFile": "1749659407043",
"folders": [
"/home/user/zephyrproject/l2_e2"
]
},
"sdks": [
{
"version": "v4.1.99",
"path": "/home/user/zephyrproject"
}
],
"apps": [
{
"workspace": "/home/user/zephyrproject/l2_e2",
"uri": "/home/user/zephyrproject/l2_e2",
"buildConfigurations": []
}
],
"toolchains": [
{
"version": "3.0.2",
"path": "/home/user/ncs/toolchains/7cbc0036f4"
},
{
"version": "0.17.0",
"path": "/home/user/zephyr-sdk-0.17.0"
}
],
"connectedDevices": [
{
"serialNumber": "001051221768"
}
],
"tools": {
"/home/user/ncs/toolchains/7cbc0036f4/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc": "0.17.0",
"/opt/SEGGER/JLink/JLinkExe": "8.10i",
"/usr/local/bin/nrfjprog": "10.24.2",
"/home/user/nordic/nrfutil": "8.0.0",
"/home/user/ncs/toolchains/7cbc0036f4/usr/local/bin/cmake": "3.21.0",
"/home/user/ncs/toolchains/7cbc0036f4/usr/local/bin/west": "1.2.0",
"/home/user/ncs/toolchains/7cbc0036f4/usr/local/bin/python3": "3.12.4",
"/home/user/ncs/toolchains/7cbc0036f4/usr/local/bin/ninja": "1.10.2",
"/home/user/ncs/toolchains/7cbc0036f4/usr/bin/gperf": "3.1",
"/home/user/ncs/toolchains/7cbc0036f4/usr/bin/dtc": "1.5.0",
"/home/user/ncs/toolchains/7cbc0036f4/opt/bin/gn": "2132",
"/home/user/ncs/toolchains/7cbc0036f4/usr/local/bin/git": "2.37.3",
"arm-gdbPath": "/home/user/ncs/toolchains/7cbc0036f4/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-gdb",
"riscv-gdbPath": "/home/user/ncs/toolchains/7cbc0036f4/opt/zephyr-sdk/riscv64-zephyr-elf/bin/riscv64-zephyr-elf-gdb"
},
"nrfutil": {
"nrfutil-device": {
"version": "2.8.8",
"binPath": "/home/user/.vscode/extensions/nordic-semiconductor.nrf-connect-2025.5.152-linux-x64/platform/nrfutil/bin/nrfutil-device",
"jlinkInfo": {
"description": "This version of SEGGER J-Link is different from the J-Link version that was used to test nrfutil device commands",
"expectedVersion": {
"version": "JLink_V8.18",
"versionFormat": "string"
},
"name": "JlinkARM",
"version": "JLink_V8.10i",
"versionFormat": "string"
}
},
"nrfutil-sdk-manager": {
"version": "1.3.0",
"binPath": "/home/user/.vscode/extensions/nordic-semiconductor.nrf-connect-2025.5.152-linux-x64/platform/nrfutil/bin/nrfutil-sdk-manager"
}
},
"environment": {
"westEnv": {
"GIT_EXEC_PATH": "/home/user/ncs/toolchains/7cbc0036f4/usr/local/libexec/git-core",
"HOME": "/home/user",
"PATH": "/home/user/ncs/toolchains/7cbc0036f4/usr/bin:/home/user/ncs/toolchains/7cbc0036f4/usr/bin:/home/user/ncs/toolchains/7cbc0036f4/usr/local/bin:/home/user/ncs/toolchains/7cbc0036f4/opt/bin:/home/user/ncs/toolchains/7cbc0036f4/opt/nanopb/generator-bin:/home/user/ncs/toolchains/7cbc0036f4/opt/zephyr-sdk/arm-zephyr-eabi/bin:/home/user/ncs/toolchains/7cbc0036f4/opt/zephyr-sdk/riscv64-zephyr-elf/bin:/home/user/.local/bin:/home/user/zephyrproject/zephyr/samples/tfm_integration:/home/user/zephyrproject/zephyr:/home/user/nordic:/opt/nrf-command-line-tools:/usr/bin:/bin:/home/user/.local/bin:/usr/bin/git:/bin:/usr/bin:/opt/st/stm32cubeclt_1.18.0:/opt/st/stm32cubeclt_1.18.0/STM32CubeProgrammer/bin:/opt/st/stm32cubeclt_1.18.0/STLink-gdb-server/bin:/opt/st/stm32cubeclt_1.18.0/CMake/bin:/opt/st/stm32cubeclt_1.18.0/Ninja/bin:/opt/st/stm32cubeclt_1.18.0/GNU-tools-for-STM32/bin:/home/user/.local/bin:/opt/st/stm32cubeclt_1.18.0:/opt/st/stm32cubeclt_1.18.0/STM32CubeProgrammer/bin:/opt/st/stm32cubeclt_1.18.0/STLink-gdb-server/bin:/opt/st/stm32cubeclt_1.18.0/CMake/bin:/opt/st/stm32cubeclt_1.18.0/Ninja/bin:/opt/st/stm32cubeclt_1.18.0/GNU-tools-for-STM32/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/user:/snap/bin:/snap/bin:/home/user/.local/bin:/home/user/zephyrproject/zephyr/samples/tfm_integration:/home/user/zephyrproject/zephyr:/home/user/nordic:/opt/nrf-command-line-tools:/usr/bin:/bin:/home/user/.local/bin:/usr/bin/git:/bin:/usr/bin:/opt/st/stm32cubeclt_1.18.0:/opt/st/stm32cubeclt_1.18.0/STM32CubeProgrammer/bin:/opt/st/stm32cubeclt_1.18.0/STLink-gdb-server/bin:/opt/st/stm32cubeclt_1.18.0/CMake/bin:/opt/st/stm32cubeclt_1.18.0/Ninja/bin:/opt/st/stm32cubeclt_1.18.0/GNU-tools-for-STM32/bin:/home/user/.local/bin:/opt/st/stm32cubeclt_1.18.0:/opt/st/stm32cubeclt_1.18.0/STM32CubeProgrammer/bin:/opt/st/stm32cubeclt_1.18.0/STLink-gdb-server/bin:/opt/st/stm32cubeclt_1.18.0/CMake/bin:/opt/st/stm32cubeclt_1.18.0/Ninja/bin:/opt/st/stm32cubeclt_1.18.0/GNU-tools-for-STM32/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/user:/snap/bin:/snap/bin",
"ZEPHYR_TOOLCHAIN_VARIANT": "zephyr",
"ZEPHYR_SDK_INSTALL_DIR": "/home/user/ncs/toolchains/7cbc0036f4/opt/zephyr-sdk",
"PYTHONPATH": "/home/user/ncs/toolchains/7cbc0036f4/usr/local/lib/python3.12:/home/user/ncs/toolchains/7cbc0036f4/usr/local/lib/python3.12/site-packages",
"USER": "user"
},
"inherited": {
"ELECTRON_RUN_AS_NODE": "1",
"HOME": "/home/user",
"PATH": "/home/user/.local/bin:/home/user/zephyrproject/zephyr/samples/tfm_integration:/home/user/zephyrproject/zephyr:/home/user/nordic:/opt/nrf-command-line-tools:/usr/bin:/bin:/home/user/.local/bin:/usr/bin/git:/bin:/usr/bin:/opt/st/stm32cubeclt_1.18.0:/opt/st/stm32cubeclt_1.18.0/STM32CubeProgrammer/bin:/opt/st/stm32cubeclt_1.18.0/STLink-gdb-server/bin:/opt/st/stm32cubeclt_1.18.0/CMake/bin:/opt/st/stm32cubeclt_1.18.0/Ninja/bin:/opt/st/stm32cubeclt_1.18.0/GNU-tools-for-STM32/bin:/home/user/.local/bin:/opt/st/stm32cubeclt_1.18.0:/opt/st/stm32cubeclt_1.18.0/STM32CubeProgrammer/bin:/opt/st/stm32cubeclt_1.18.0/STLink-gdb-server/bin:/opt/st/stm32cubeclt_1.18.0/CMake/bin:/opt/st/stm32cubeclt_1.18.0/Ninja/bin:/opt/st/stm32cubeclt_1.18.0/GNU-tools-for-STM32/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/user:/snap/bin:/snap/bin",
"USER": "user"
}
},
"terminal": {
"defaultProfile": null
},
"config": {
"nordic-semiconductor.nrf-connect": {
"topdir": "",
"toolchain": {
"path": ""
},
"ozonePath": "",
"applications": [
"${workspaceFolder}"
],
"applicationOptions": {},
"kconfig": {
"interface": "kconfig"
},
"west": {
"env": {
"$base": "terminal"
}
},
"boardRoots": [],
"taskBindings": {},
"buildTerminal": {
"condensedProgress": true
},
"debugging": {
"flash": true,
"bindings": {},
"justMyCode": false
},
"activeAppFollowActiveEditor": true,
"flash": {
"softreset": false,
"erase": false,
"recover": false
},
"enableTelemetry": false,
"thirdpartyIntegration": {},
"toolchainManager": {
"indexURL": null,
"installDirectory": null
},
"nrfutil": {
"home": null
},
"defaultOpenAction": "ask",
"terminalProfile": {
"shell": null
}
},
"nordic-semiconductor.nrf-terminal": {
"terminalMode": "character"
}
},
"extensions": {
"internal": {
"nordic-semiconductor.nrf-connect": {
"version": "2025.5.152",
"path": "/home/user/.vscode/extensions/nordic-semiconductor.nrf-connect-2025.5.152-linux-x64",
"isActive": true
},
"nordic-semiconductor.nrf-terminal": {
"version": "2024.9.14",
"path": "/home/user/.vscode/extensions/nordic-semiconductor.nrf-terminal-2024.9.14",
"isActive": true
},
"nordic-semiconductor.nrf-devicetree": {
"version": "2025.4.22",
"path": "/home/user/.vscode/extensions/nordic-semiconductor.nrf-devicetree-2025.4.22",
"isActive": true
},
"nordic-semiconductor.nrf-kconfig": {
"version": "2025.4.26",
"path": "/home/user/.vscode/extensions/nordic-semiconductor.nrf-kconfig-2025.4.26",
"isActive": true
}
},
"external": {
"marus25.cortex-debug": null,
"ms-vscode.cpptools": "1.25.3",
"ms-vscode.js-debug": "1.100.1",
"ms-vscode.js-debug-companion": "1.1.3",
"ms-vscode.vscode-js-profile-table": "1.0.10",
"ms-vscode.cmake-tools": "1.20.53",
"ms-vscode.cpptools-extension-pack": "1.3.1",
"ms-vscode.cpptools-themes": "2.0.0",
"trond-snekvik.gnu-mapfiles": "1.1.0"
}
}
}
I would appreciate any serious solution ideas.
Thank you,
sonic4
