I use the nrf connect sdk together with vscode.
My application is a workspace application with the following structure:
.├── application│ ├── build│ ├── CMakeLists.txt│ ├── prj.conf│ ├── README.rst│ ├── sample.yaml│ ├── src│ └── west.yml├── boards│ └── arm└── external ├── bootloader ├── modules ├── nrf ├── nrfxlib ├── test ├── tools └── zephyr
I have a working build configuration with my custom board. So the zephyr build systems seems to recognize everything correctly.
Unfortunately if I open my boards .dts file, vscode does no find the included nordic/nrf52840_qiaa.dtsi file. furthermore the visual devicetree editor only shows the nodes defined in the boards .dts file but nothing from the included file from nordic.
So to my understanding, the extension does not (at least in my case) look for devicetree files in $ZEPHYR_BASE/dts/arm. If I open a board .dts file from withing $ZEPHYR_BASE, everything seems to work fine though.
{ "platform": { "os": "linux", "osVersion": "#14-Ubuntu SMP PREEMPT_DYNAMIC Tue Jan 16 08:57:02 UTC 2024", "osKernel": "6.5.0-1013-oem", "vscode": "1.86.1", "electron": "27.2.3", "node": "v18.17.1" }, "system": { "date": "2024-02-14T10:47:14.300Z", "vscodeRoot": "/usr/share/code/resources/app", "nrfConnectForDesktopInstalled": "unknown", "vscodeUptime": "02:36:32", "osUptime": "265:36:10", "cpu": "11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz" }, "workspace": { "name": "nrf-test-project", "workspaceFile": null, "folders": [ "/home/bearsh/projects/nrf-test-project" ] }, "sdks": [ { "version": "v2.5.2", "path": "/home/bearsh/ncs/v2.5.2" }, { "version": "v2.5.2", "path": "/home/bearsh/projects/nrf-test-project" } ], "activeBuild": "/home/bearsh/projects/nrf-test-project/application/build", "apps": [ { "workspace": "/home/bearsh/projects/nrf-test-project", "uri": "/home/bearsh/projects/nrf-test-project/application", "buildConfigurations": [ { "id": "/home/bearsh/projects/nrf-test-project/application/build", "name": "build", "boardId": "nina-b3_msr-a11", "type": "Zephyr", "isChild": false, "isStale": false, "taskBindings": { "build": [], "pristineBuild": [], "flash": [], "eraseAndFlash": [] } } ] } ], "topdir": "/home/bearsh/projects/nrf-test-project", "workspaceState": "workspace-ready", "toolchains": [ { "version": "2.5.2", "path": "/home/bearsh/ncs/toolchains/7795df4459" } ], "connectedDevices": [ { "serialNumber": "000504500059" } ], "deviceProvider": "nrfutil", "tools": { "/home/bearsh/ncs/toolchains/7795df4459/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc": "0.16.1", "/opt/SEGGER/JLink/JLinkExe": "7.92k", "/usr/local/bin/nrfjprog": "10.24.0", "/home/bearsh/.local/bin/nrfutil": null, "/home/bearsh/ncs/toolchains/7795df4459/usr/local/bin/cmake": "3.20.5", "/home/bearsh/ncs/toolchains/7795df4459/usr/local/bin/west": "1.1.0", "/home/bearsh/ncs/toolchains/7795df4459/usr/local/bin/python3": "3.8.2", "/home/bearsh/ncs/toolchains/7795df4459/usr/local/bin/ninja": "1.9.0", "/home/bearsh/ncs/toolchains/7795df4459/usr/bin/gperf": "3.1", "/home/bearsh/ncs/toolchains/7795df4459/usr/bin/dtc": "1.4.7", "/home/bearsh/ncs/toolchains/7795df4459/opt/bin/gn": "1871", "/home/bearsh/ncs/toolchains/7795df4459/usr/local/bin/git": "2.37.3", "gdbPath": "/home/bearsh/ncs/toolchains/7795df4459/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-gdb" }, "nrfutil": { "nrfutil-device": { "version": "2.0.0", "binPath": "/home/bearsh/.vscode/extensions/nordic-semiconductor.nrf-connect-2023.11.301-linux-x64/platform/nrfutil/bin/nrfutil-device" }, "nrfutil-toolchain-manager": { "version": "0.14.1", "binPath": "/home/bearsh/.vscode/extensions/nordic-semiconductor.nrf-connect-2023.11.301-linux-x64/platform/nrfutil/bin/nrfutil-toolchain-manager" } }, "environment": { "westEnv": { "ELECTRON_RUN_AS_NODE": "1", "GIT_EXEC_PATH": "/home/bearsh/ncs/toolchains/7795df4459/usr/local/libexec/git-core", "HOME": "/home/bearsh", "PATH": "/home/bearsh/ncs/toolchains/7795df4459/usr/bin:/home/bearsh/ncs/toolchains/7795df4459/usr/bin:/home/bearsh/ncs/toolchains/7795df4459/usr/local/bin:/home/bearsh/ncs/toolchains/7795df4459/opt/bin:/home/bearsh/ncs/toolchains/7795df4459/opt/nanopb/generator-bin:/home/bearsh/ncs/toolchains/7795df4459/opt/zephyr-sdk/aarch64-zephyr-elf/bin:/home/bearsh/ncs/toolchains/7795df4459/opt/zephyr-sdk/x86_64-zephyr-elf/bin:/home/bearsh/ncs/toolchains/7795df4459/opt/zephyr-sdk/arm-zephyr-eabi/bin:/home/bearsh/opt/flutter/bin:/home/bearsh/go/bin:/home/bearsh/.npm/bin:/home/bearsh/.local/bin:/home/bearsh/bin:/home/bearsh/opt/flutter/bin:/home/bearsh/go/bin:/home/bearsh/.npm/bin:/home/bearsh/.local/bin:/home/bearsh/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/local/go/bin:/usr/local/go/bin:/home/bearsh/opt/flutter/bin:/home/bearsh/go/bin:/home/bearsh/.npm/bin:/home/bearsh/.local/bin:/home/bearsh/bin:/home/bearsh/opt/flutter/bin:/home/bearsh/go/bin:/home/bearsh/.npm/bin:/home/bearsh/.local/bin:/home/bearsh/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/local/go/bin:/usr/local/go/bin", "ZEPHYR_BASE": "/home/bearsh/projects/nrf-test-project/zephyr", "ZEPHYR_TOOLCHAIN_VARIANT": "zephyr", "ZEPHYR_SDK_INSTALL_DIR": "/home/bearsh/ncs/toolchains/7795df4459/opt/zephyr-sdk", "PYTHONPATH": "/home/bearsh/ncs/toolchains/7795df4459/usr/local/lib/python3.8:/home/bearsh/ncs/toolchains/7795df4459/usr/local/lib/python3.8/site-packages", "USER": "bearsh" }, "inherited": { "ELECTRON_RUN_AS_NODE": "1", "HOME": "/home/bearsh", "PATH": "/home/bearsh/opt/flutter/bin:/home/bearsh/go/bin:/home/bearsh/.npm/bin:/home/bearsh/.local/bin:/home/bearsh/bin:/home/bearsh/opt/flutter/bin:/home/bearsh/go/bin:/home/bearsh/.npm/bin:/home/bearsh/.local/bin:/home/bearsh/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/local/go/bin:/usr/local/go/bin", "USER": "bearsh" }, "toolchainPath": "/home/bearsh/ncs/toolchains/7795df4459", "toolchainBinPath": "/home/bearsh/ncs/toolchains/7795df4459/opt/zephyr-sdk/arm-zephyr-eabi/bin", "toolchainVersion": "2.5.2" }, "terminal": { "defaultProfile": null }, "config": { "nordic-semiconductor.nrf-connect": { "topdir": "", "toolchain": { "path": "" }, "ozonePath": "", "applications": [ "${workspaceFolder}/application" ], "applicationOptions": {}, "kconfig": { "interface": "kconfig" }, "west": { "env": { "$base": "terminal" } }, "boardRoots": [], "taskBindings": {}, "debugging": { "flash": true, "bindings": {}, "justMyCode": true }, "activeAppFollowActiveEditor": true, "deviceProvider": "", "flash": { "softreset": false, "erase": false, "recover": false }, "enableTelemetry": null, "thirdpartyIntegration": {}, "toolchainManager": { "indexURL": null, "installDirectory": null }, "nrfutil": { "home": null }, "defaultOpenAction": "ask" }, "nordic-semiconductor.nrf-terminal": { "terminalMode": "character" }, "marus25.cortex-debug": { "variableUseNaturalFormat": true, "liveWatchRefreshRate": "300", "armToolchainPath": null, "armToolchainPrefix": "arm-none-eabi", "gdbPath": null, "objdumpPath": null, "JLinkGDBServerPath": null, "openocdPath": null, "pyocdPath": null, "PEGDBServerPath": null, "stutilPath": null, "stlinkPath": null, "stm32cubeprogrammer": null, "enableTelemetry": false, "dbgServerLogfile": null } }, "extensions": { "internal": { "nordic-semiconductor.nrf-connect": { "version": "2023.11.301", "path": "/home/bearsh/.vscode/extensions/nordic-semiconductor.nrf-connect-2023.11.301-linux-x64", "isActive": true }, "nordic-semiconductor.nrf-terminal": { "version": "2023.10.17", "path": "/home/bearsh/.vscode/extensions/nordic-semiconductor.nrf-terminal-2023.10.17", "isActive": true }, "nordic-semiconductor.nrf-devicetree": { "version": "2023.11.120", "path": "/home/bearsh/.vscode/extensions/nordic-semiconductor.nrf-devicetree-2023.11.120", "isActive": true }, "nordic-semiconductor.nrf-kconfig": { "version": "2023.11.64", "path": "/home/bearsh/.vscode/extensions/nordic-semiconductor.nrf-kconfig-2023.11.64", "isActive": true } }, "external": { "marus25.cortex-debug": "1.12.1", "ms-vscode.cpptools": "1.18.5", "ms-vscode.js-debug": "1.86.1", "ms-vscode.js-debug-companion": "1.1.2", "ms-vscode.vscode-js-profile-table": "1.0.8", "dan-c-underwood.arm": "1.7.4", "EditorConfig.EditorConfig": "0.16.4", "Gruntfuggly.todo-tree": "0.0.226", "josetr.cmake-language-support-vscode": "0.0.9", "mcu-debug.debug-tracker-vscode": "0.0.15", "mcu-debug.memory-view": "0.0.25", "mcu-debug.peripheral-viewer": "1.4.6", "mcu-debug.rtos-views": "0.0.7", "mechatroner.rainbow-csv": "3.11.0", "MS-CEINTL.vscode-language-pack-de": "1.85.2024020709", "ms-dotnettools.vscode-dotnet-runtime": "2.0.1", "ms-vscode-remote.remote-ssh": "0.108.0", "ms-vscode-remote.remote-ssh-edit": "0.86.0", "ms-vscode.cpptools-themes": "2.0.0", "ms-vscode.hexeditor": "1.9.13", "ms-vscode.remote-explorer": "0.4.1", "stkb.rewrap": "1.16.3", "streetsidesoftware.code-spell-checker": "3.0.1", "streetsidesoftware.code-spell-checker-swiss-german": "1.2.1", "trond-snekvik.gnu-mapfiles": "1.1.0", "ZixuanWang.linkerscript": "1.0.4" } }}