I have 3 toolchains and 3 SDK's installed:
2.3.0 - with Zephyr 3.2.99
2.4.0 - with Zephyr 3.3.99
2.5.0 - with Zephyr 3.4.99
With all these SDK versions I am able to build projects nicely when the 'path' is set to 'nrf' in the (hidden) .west/config file.
So the content of this file is like this:
[manifest]
path = nrf
file = west.yml
[zephyr]
base = zephyr
But... not all Zephyr samples (thus samples in the zephyr/samples folder) build successfully when "path = nrf" in the .west/config file.
Usually the build process fails on Kconfig warnings/errors. For example, the central_multilink example supports up to 62 BLE connections (CONFIG_BT_MAX_CONN=62) but the nRF softdevice is limited to only 20.
Changing the path in .west/config file to "path = zephyr" solves this issue: Now I can build zephyr/samples projects!
But this trick ONLY WORKS for SDK 2.3.0 .
Since 2.4.0 I get this strange error I cannot put my finger on.
/home/sander/ncs/v2.4.0/zephyr/scripts/kconfig/kconfig.py: /home/sander/nRFConnectProjects/tests/central_multilink/build_52840/Kconfig/Kconfig.modules:62: Could not open '/home/sander/ncs/v2.4.0/zephyr/' (in 'osource "$(ZEPHYR_MCUBOOT_KCONFIG)"') (EISDIR: Is a directory)
When I inspect the generated Kconfig.modules file, at line 62, I see this block:
menu "mcuboot (/home/sander/ncs/v2.4.0/bootloader/mcuboot)"
osource "$(ZEPHYR_MCUBOOT_KCONFIG)"
config ZEPHYR_MCUBOOT_MODULE
bool
default y
endmenu
This 'MCUBOOT' block does not exist when building against SDK 2.3.0 .
I don't fully follow the whole build process, but is there some way to switch this off to make it work?
And about patching the .west/config file, am I doing something wrong that such is needed to build Zephyr samples with "special needs" ?
Thanks for your help!