This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Custom board build fails with SDK 1.5.0, works with 1.4.0

We are getting a "No SOURCES given to target: drivers__ipm" error making build fail for our custom board when trying to move to 1.5.0 for official nRF53 production support.
Cmakelists in the sdk's appear identical, and the only change is running west from commandline environment for 1.5.0 instead of 1.4.0.

Parents
  • Hi Kyrre, 

    Can you please elaborate on where you get the message "No SOURCES given to target: drivers__ipm"? What environment are you using i.e. SES og command line?Can you provide full output?

    Thank you.

    Kind regards,
    Øyvind

  • SES just failed with little info so I did this to a new build folder on commandline after starting the commandline from the toolchain manager. It is accessing the correct folder at user/<username>/ncs/1.5.0/ equal to the results from 1.4.0 but the build differs when cmake gets to some libraries.

    -- Looking for include file fcntl.h
    -- Looking for include file fcntl.h - found
    CMake Warning at ../../../CMakeLists.txt:1357 (message):
      __ASSERT() statements are globally ENABLED
    
    
    -- Configuring done
    CMake Error at ../../../cmake/extensions.cmake:416 (add_library):
      No SOURCES given to target: drivers__ipm
    Call Stack (most recent call first):
      ../../../cmake/extensions.cmake:393 (zephyr_library_named)
      ../../../drivers/ipm/CMakeLists.txt:3 (zephyr_library)

    Fow 1.4.0 it looks like this:

    -- Looking for include file fcntl.h
    -- Looking for include file fcntl.h - found
    -- Configuring done
    -- Generating done
    -- Build files have been written to: C:/Users/xxx/Documents/projects/Hy5_AIO/Hy5_AIO_nRF/build/hci_rpmsg
    === child image hci_rpmsg - CPUNET end ===

    I do see multiple warnings in both SDK's but with different "styles":

    CMake Warning (dev) at C:/Users/xxx/ncs/v1.4.0/modules/lib/open-amp/open-amp/cmake/options.cmake:51 (option):
    Policy CMP0077 is not set: option() honors normal variables. Run "cmake
    --help-policy CMP0077" for policy details. Use the cmake_policy command to
    set the policy and suppress this warning.

    For compatibility with older versions of CMake, option is clearing the
    normal variable 'WITH_VIRTIO_MASTER'.
    Call Stack (most recent call first):
    C:/Users/xxx/ncs/v1.4.0/modules/lib/open-amp/open-amp/CMakeLists.txt:21 (include)
    This warning is for project developers. Use -Wno-dev to suppress it.

  • Also, what settings are you using in SES under Tools -> Options -> nRF Connect?

  • I launch SES directly from toolchain manager and it receives the correct paths. I change no other settings.

    The failing compiles/configures also fail in SES but I am simply running them on commandline.
    west build -b Hy5_AIO_nrf5340_cpuapp -d build_1.5.0 >build_1.5.0.txt 2>&1

  • When I work in SES and need to expand the custom devicetree I use the --cmake-only option. I have not found a good way to do this in SES as it just keeps making non permanent overlays if you edit devicetree with SES.

  • Looking at the board definition for nrf5340dk_nrf5340 I see significant changes in 1.5.0 vs 1.4.0; could this be the cause?

    This whole section in Kconfig is new:

    config IPM_NRFX
    	default IPM
    
    config RPMSG_SERVICE_DUAL_IPM_SUPPORT
    	default RPMSG_SERVICE
    
    if RPMSG_SERVICE_DUAL_IPM_SUPPORT
    
    config IPM_MSG_CH_0_ENABLE
    	default y
    
    config IPM_MSG_CH_1_ENABLE
    	default y
    
    config RPMSG_SERVICE_IPM_TX_NAME
    	default "IPM_0" if RPMSG_SERVICE_MODE_MASTER
    	default "IPM_1" if RPMSG_SERVICE_MODE_REMOTE
    
    config RPMSG_SERVICE_IPM_RX_NAME
    	default "IPM_1" if RPMSG_SERVICE_MODE_MASTER
    	default "IPM_0" if RPMSG_SERVICE_MODE_REMOTE
    
    config IPM_MSG_CH_0_TX
    	default RPMSG_SERVICE_MODE_MASTER
    
    config IPM_MSG_CH_0_RX
    	default RPMSG_SERVICE_MODE_REMOTE
    
    config IPM_MSG_CH_1_TX
    	default RPMSG_SERVICE_MODE_REMOTE
    
    config IPM_MSG_CH_1_RX
    	default RPMSG_SERVICE_MODE_MASTER
    
    endif # RPMSG_SERVICE_DUAL_IPM_SUPPORT

  • I added the section to my custom boards Kconfig and it builds!

Reply Children
No Data
Related