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

Failed build of led_ws2812 in ncs v1.5.0

The error is 

CMake Error at ../../../cmake/extensions.cmake:416 (add_library):

   No SOURCES given to target: drivers__spi

This similar to

https://devzone.nordicsemi.com/f/nordic-q-a/72810/custom-board-build-fails-with-sdk-1-5-0-works-with-1-4-0/299782#299782

BUT

It builds OK when building for nrf9160-dk but not when building for actinius_icarus_som

Other builds for actinius_icarus_som work OK.  I guess this is SPI-related?

Any suggestions pls?

Parents
  • Hello Paul,

    the board actinius_icarus_som, did you add that yourself to your Zephyr repository? I’m working with NCS v1.5.1 currently and it only supports the actinius_icarus by default.

    Otherwise, without having seen your application code, I assume that this is a configuration issue as the Build and Running chapter of the WS2812 Sample Application states.

    Regards,

    Markus

  • Thx Markus.

    I do not remember adding actinius_icarus_som but other samples build ok in v1.5.0 so maybe I did.

    The main.c code is unmodified and the overlay file exactly as referenced above.
    #include "../nrf52-bindings.h"

    &spi3 {
    compatible = "nordic,nrf-spim";
    mosi-pin = <31>;
    led_strip: ws2812@0 {
    compatible = "worldsemi,ws2812-spi";
    label = "WS2812";

    /* SPI */
    reg = <0>; /* ignored, but necessary for SPI bindings */
    spi-max-frequency = <4000000>;

    /* WS2812 */
    chain-length = <1>; /* arbitrary; change at will */
    spi-one-frame = <0x70>;
    spi-zero-frame = <0x40>;
    };
    };

    / {
    aliases {
    led-strip = &led_strip;
    };
    };

    I am wondering if CONFIG_WS2812_STRIP_SPI=y (in prj.conf) is supposed to bring in some code that is missing from the v1.5.0 distribution?

    Regards, Paul

Reply
  • Thx Markus.

    I do not remember adding actinius_icarus_som but other samples build ok in v1.5.0 so maybe I did.

    The main.c code is unmodified and the overlay file exactly as referenced above.
    #include "../nrf52-bindings.h"

    &spi3 {
    compatible = "nordic,nrf-spim";
    mosi-pin = <31>;
    led_strip: ws2812@0 {
    compatible = "worldsemi,ws2812-spi";
    label = "WS2812";

    /* SPI */
    reg = <0>; /* ignored, but necessary for SPI bindings */
    spi-max-frequency = <4000000>;

    /* WS2812 */
    chain-length = <1>; /* arbitrary; change at will */
    spi-one-frame = <0x70>;
    spi-zero-frame = <0x40>;
    };
    };

    / {
    aliases {
    led-strip = &led_strip;
    };
    };

    I am wondering if CONFIG_WS2812_STRIP_SPI=y (in prj.conf) is supposed to bring in some code that is missing from the v1.5.0 distribution?

    Regards, Paul

Children
No Data
Related