nrf54L15 problems with SDK v3.1.0 and v3.1.1

To generate build configuration and build the app, you first need to:
touch ncs/v3.1.x/bootloader/mcuboot/boot/zephyr/boards/nrf54l15dk_nrf54l15_cpuapp.conf

or copy it from v3.0.2.

Then, if I enable bluetooth:
CONFIG_BT=y

build fails with a bunch of same errors in SDK's nrfx_cracen.c (only from different functions):
ncs/v3.1.0/modules/hal/nordic/nrfx/drivers/src/nrfx_cracen.c:350:34: error: 'NRF_CRACENCORE' undeclared (first use in this function); did you mean 'NRF_CRACENCORE_S'?

What happened to nrf54L15 supported in these newer SDKs?

Any workarounds?

Thanks!

  • So, it turned out the first problem was related to a project sysbuild.cmake, while the other one was only experienced on a custom board.

    That was down to a change in zephyr/boards/nordic/nrf54l15dk/nrf54l15dk_nrf54l10_cpuapp_ns.dts:

    chosen {
    zephyr,code-partition = &slot0_ns_partition;
    zephyr,sram = &sram0_ns;
    zephyr,entropy = &psa_rng;
    };

    /delete-node/ rng;

    psa_rng: psa-rng {
    status = "okay";
    };

    I've been through migration guide, but did not find any mentions of requiring custom board DTS updates. I guess it would not make sense to create new custom boards from scratch each time a new SDK is used?

  • build fails with a bunch of same errors in SDK's nrfx_cracen.c (only from different functions):
    ncs/v3.1.0/modules/hal/nordic/nrfx/drivers/src/nrfx_cracen.c:350:34: error: 'NRF_CRACENCORE' undeclared (first use in this function); did you mean 'NRF_CRACENCORE_S'?

    What happened to nrf54L15 supported in these newer SDKs?

    On nRF54L devices, the CRACEN CTR_DRBG entropy driver must not be used together with the PSA crypto solution. So when PSA is enabled, the chosen entropy provider should be psa_rng. 

    The DK board DTS switched to PSA crypto RNG (through TF-M) and removed the old rng node. If your custom board still has the legacy RNG setup, enabling CONFIG_BT=y pulls in entropy and the build tries to compile CRACEN code paths that reference NRF_CRACENCORE (secure-only), hence the error.

    eboka said:
    I guess it would not make sense to create new custom boards from scratch each time a new SDK is used?

    That's right. You don't need to start from scratch with each new SDK. Just carry forward any relevant changes and take a look to incorporate any updates.

    https://docs.nordicsemi.com/bundle/ncs-latest/page/zephyr/hardware/porting/board_porting.html 

    -Priyanka

  • I've figured that out. 

    But, shouldn't stuff like that be in the migration guide? One sentence would spare whole lot of time for many people.

  • Also, the missing file.

    It is not that much of a trouble to write in the migration guide a sentence that says that nrf54l15dk_nrf54l10_cpuapp_ns.dts has been removed and that you should update your cmake files it they reference it.

  • Sorry for the inconvenience and I totally understand your trouble. I will update this internally to the documentation team and take a look at it.

    Thank you for your inputs and suggestions.

    -Priyanka

Related