NCS v3.0.0 nrfx_spim_spis advanced_non_blocking cannot generate build config

Build configuration is:
SDK: nRF Connect SDK v3.0.0
Toolchain: nRF Connect SDK Toolchain v3.0.1
Board target: nrf52833dk/nrf52833

All other values left at defaults.

There are a few problems with this sample that prevent it from being usable:

  1. If I try to "Create a new application" based on the sample then it cannot find the common-pinctrl.dtsi included by the overlay (since it is included via a relative path that is no longer valid).  Not sure what the "correct" fix is for this.
  2. If I try to "Browse samples" and generate the build config for advanced_non_blocking in its default location the build config generation it fails.  Full output included below.

Add build config output:

   *******************************************
   * Running CMake for advanced_non_blocking *
   *******************************************

CMake Error at CMakeLists.txt:11 (GET_DEVICE_CONFIG_FILES):
  GET_DEVICE_CONFIG_FILES Macro invoked with incorrect arguments for macro
  named: GET_DEVICE_CONFIG_FILES


Loading Zephyr default modules (Zephyr base).
-- Application: C:/ncs/v3.0.0/modules/hal/nordic/nrfx/samples/src/nrfx_spim_spis/advanced_non_blocking
-- CMake version: 3.21.0
-- Found Python3: C:/ncs/toolchains/0b393f9e1b/opt/bin/python.exe (found suitable version "3.12.4", minimum required is "3.10") found components: Interpreter 
-- Cache files will be written to: C:/ncs/v3.0.0/zephyr/.cache
-- Zephyr version: 4.0.99 (C:/ncs/v3.0.0/zephyr)
-- Found west (found suitable version "1.2.0", minimum required is "0.14.0")
-- Board: nrf52833dk, qualifiers: nrf52833
-- Found host-tools: zephyr 0.17.0 (C:/ncs/toolchains/0b393f9e1b/opt/zephyr-sdk)
-- Found toolchain: zephyr 0.17.0 (C:/ncs/toolchains/0b393f9e1b/opt/zephyr-sdk)
-- Found Dtc: C:/ncs/toolchains/0b393f9e1b/opt/bin/dtc.exe (found suitable version "1.4.7", minimum required is "1.4.6") 
-- Found BOARD.dts: C:/ncs/v3.0.0/zephyr/boards/nordic/nrf52833dk/nrf52833dk_nrf52833.dts
-- Generated zephyr.dts: C:/ncs/v3.0.0/modules/hal/nordic/nrfx/samples/src/nrfx_spim_spis/advanced_non_blocking/build/advanced_non_blocking/zephyr/zephyr.dts
-- Generated pickled edt: C:/ncs/v3.0.0/modules/hal/nordic/nrfx/samples/src/nrfx_spim_spis/advanced_non_blocking/build/advanced_non_blocking/zephyr/edt.pickle
-- Generated zephyr.dts: C:/ncs/v3.0.0/modules/hal/nordic/nrfx/samples/src/nrfx_spim_spis/advanced_non_blocking/build/advanced_non_blocking/zephyr/zephyr.dts
-- Generated devicetree_generated.h: C:/ncs/v3.0.0/modules/hal/nordic/nrfx/samples/src/nrfx_spim_spis/advanced_non_blocking/build/advanced_non_blocking/zephyr/include/generated/zephyr/devicetree_generated.h
-- Including generated dts.cmake file: C:/ncs/v3.0.0/modules/hal/nordic/nrfx/samples/src/nrfx_spim_spis/advanced_non_blocking/build/advanced_non_blocking/zephyr/dts.cmake
Parsing C:/ncs/v3.0.0/zephyr/Kconfig
Loaded configuration 'C:/ncs/v3.0.0/zephyr/boards/nordic/nrf52833dk/nrf52833dk_nrf52833_defconfig'
Merged configuration 'C:/ncs/v3.0.0/modules/hal/nordic/nrfx/samples/common/common.conf'
Merged configuration 'C:/ncs/v3.0.0/modules/hal/nordic/nrfx/samples/src/nrfx_spim_spis/advanced_non_blocking/prj.conf'
Merged configuration 'C:/ncs/v3.0.0/modules/hal/nordic/nrfx/samples/src/nrfx_spim_spis/advanced_non_blocking/build/advanced_non_blocking/zephyr/.config.sysbuild'
Configuration saved to 'C:/ncs/v3.0.0/modules/hal/nordic/nrfx/samples/src/nrfx_spim_spis/advanced_non_blocking/build/advanced_non_blocking/zephyr/.config'
Kconfig header saved to 'C:/ncs/v3.0.0/modules/hal/nordic/nrfx/samples/src/nrfx_spim_spis/advanced_non_blocking/build/advanced_non_blocking/zephyr/include/generated/zephyr/autoconf.h'
-- Found GnuLd: c:/ncs/toolchains/0b393f9e1b/opt/zephyr-sdk/arm-zephyr-eabi/arm-zephyr-eabi/bin/ld.bfd.exe (found version "2.38") 
-- The C compiler identification is GNU 12.2.0
-- The CXX compiler identification is GNU 12.2.0
-- The ASM compiler identification is GNU
-- Found assembler: C:/ncs/toolchains/0b393f9e1b/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc.exe
CMake Warning at C:/ncs/v3.0.0/zephyr/CMakeLists.txt:2180 (message):
  __ASSERT() statements are globally ENABLED


-- Configuring incomplete, errors occurred!
See also "C:/ncs/v3.0.0/modules/hal/nordic/nrfx/samples/src/nrfx_spim_spis/advanced_non_blocking/build/advanced_non_blocking/CMakeFiles/CMakeOutput.log".
See also "C:/ncs/v3.0.0/modules/hal/nordic/nrfx/samples/src/nrfx_spim_spis/advanced_non_blocking/build/advanced_non_blocking/CMakeFiles/CMakeError.log".
CMake Error at cmake/modules/sysbuild_extensions.cmake:514 (message):
  CMake configure failed for Zephyr project: advanced_non_blocking

  Location:
  C:/ncs/v3.0.0/modules/hal/nordic/nrfx/samples/src/nrfx_spim_spis/advanced_non_blocking
Call Stack (most recent call first):
  cmake/modules/sysbuild_images.cmake:43 (ExternalZephyrProject_Cmake)
  cmake/modules/sysbuild_default.cmake:21 (include)
  C:/ncs/v3.0.0/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:75 (include)
  C:/ncs/v3.0.0/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:92 (include_boilerplate)
  C:/ncs/v3.0.0/zephyr/share/sysbuild-package/cmake/SysbuildConfig.cmake:8 (include)
  template/CMakeLists.txt:10 (find_package)


-- Configuring incomplete, errors occurred!
See also "C:/ncs/v3.0.0/modules/hal/nordic/nrfx/samples/src/nrfx_spim_spis/advanced_non_blocking/build/CMakeFiles/CMakeOutput.log".
FATAL ERROR: command exited with status 1: 'C:\ncs\toolchains\0b393f9e1b\opt\bin\cmake.EXE' -DWEST_PYTHON=C:/ncs/toolchains/0b393f9e1b/opt/bin/python.exe '-Bc:\ncs\v3.0.0\modules\hal\nordic\nrfx\samples\src\nrfx_spim_spis\advanced_non_blocking\build' -GNinja -DBOARD=nrf52833dk/nrf52833 '-SC:\ncs\v3.0.0\zephyr\share\sysbuild' '-DAPP_DIR:PATH=c:\ncs\v3.0.0\modules\hal\nordic\nrfx\samples\src\nrfx_spim_spis\advanced_non_blocking'

Parents
  • Update: To verify other samples DO work with my setup, I created a new application based on peripheral_lbs and it was able to generate the build config and build without errors.

  • Hi Andrew,

    I was able to reproduce the issue here. Please try the following modifications:

    1. In your overlay file, try to add the actual location of the common-pinctrl.dtsi file. For eg, my dtsi file is in the following location:

    And I have added 

    #include "C:\NCS\academy_workspace\advanced_non_blocking/common/common-pinctrl.dtsi"
    in my nrf52833dk_nrf52833.overlay file
    2. The compiler expects two pinctrl properties in the overlay, default and sleep. Since we have no sleep pinctrl defned, please duplicate the pinctrl as follows:
    3. If you check the common-pinctrl.dtsi file, there are no GPIO pin numbers defined. So please add the GPIO numbers, say:
    Please make these modifications and you should be ale to build successfully.
    -Priyanka
  • Thanks Priyanka.  That almost got me there.  I still get an error due to this line in CMakeLists.txt:

    GET_DEVICE_CONFIG_FILES(${BOARD} boards)

    I did a search specifically for that and it appears the spim_spis samples have not been updated for SysBuild and do not include that GET_DEVICE_CONFIG_FILES macro.  It appears that may no longer be necessary?  If I comment out that line things appear to work.

    It would be extremely helpful if Nordic would implement automated build testing of each of their samples so they could detect and fix things like this before it hits customers like me.  

Reply Children
No Data
Related