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