Channel sounding not enough memory to store step data (530 > 512)

Hi, 

I am currently working with the channel_sounding/connected_cs sample for nrf54l15 and I keep getting the error: Not enough memory to store step data (530 > 512). I tried increasing CONFIG_MAIN_STACK_SIZE but the same error still showed up. Do you have any advice on how to resolve this issue?

  • Hi,

    Before I got it to work this was the error:

    -- west build: generating a build system
    Loading Zephyr module(s) (Zephyr base): sysbuild_default
    -- 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.1/zephyr/.cache
    -- Found west (found suitable version "1.2.0", minimum required is "0.14.0")
    -- Board: nrf54l15dk, qualifiers: nrf54l15/cpuapp
    Parsing c:/sdk-nrf/samples/bluetooth/channel_sounding_ras_initiator/Kconfig.sysbuild
    Loaded configuration 'C:/sdk-nrf/samples/bluetooth/channel_sounding_ras_initiator/build/_sysbuild/empty.conf'
    Merged configuration 'C:/sdk-nrf/samples/bluetooth/channel_sounding_ras_initiator/build/_sysbuild/empty.conf'
    Configuration saved to 'C:/sdk-nrf/samples/bluetooth/channel_sounding_ras_initiator/build/zephyr/.config'
    Kconfig header saved to 'C:/sdk-nrf/samples/bluetooth/channel_sounding_ras_initiator/build/_sysbuild/autoconf.h'
    -- 
       ****************************************************
       * Running CMake for channel_sounding_ras_initiator *
       ****************************************************
    
    Loading Zephyr default modules (Zephyr base).
    -- Application: C:/sdk-nrf/samples/bluetooth/channel_sounding_ras_initiator
    -- 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.1/zephyr/.cache
    -- Zephyr version: 4.0.99 (C:/ncs/v3.0.1/zephyr)
    -- Found west (found suitable version "1.2.0", minimum required is "0.14.0")
    -- Board: nrf54l15dk, qualifiers: nrf54l15/cpuapp
    -- 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.1/zephyr/boards/nordic/nrf54l15dk/nrf54l15dk_nrf54l15_cpuapp.dts
    -- Found devicetree overlay: boards/nrf54l15dk_nrf54l15_cpuapp.overlay
    -- Generated zephyr.dts: C:/sdk-nrf/samples/bluetooth/channel_sounding_ras_initiator/build/channel_sounding_ras_initiator/zephyr/zephyr.dts
    -- Generated pickled edt: C:/sdk-nrf/samples/bluetooth/channel_sounding_ras_initiator/build/channel_sounding_ras_initiator/zephyr/edt.pickle
    -- Generated zephyr.dts: C:/sdk-nrf/samples/bluetooth/channel_sounding_ras_initiator/build/channel_sounding_ras_initiator/zephyr/zephyr.dts
    -- Generated devicetree_generated.h: C:/sdk-nrf/samples/bluetooth/channel_sounding_ras_initiator/build/channel_sounding_ras_initiator/zephyr/include/generated/zephyr/devicetree_generated.h
    -- Including generated dts.cmake file: C:/sdk-nrf/samples/bluetooth/channel_sounding_ras_initiator/build/channel_sounding_ras_initiator/zephyr/dts.cmake
    
    warning: Experimental symbol BT_CS_DE is enabled.
    
    
    warning: Experimental symbol BT_CHANNEL_SOUNDING is enabled.
    
    Parsing C:/ncs/v3.0.1/zephyr/Kconfig
    Loaded configuration 'C:/ncs/v3.0.1/zephyr/boards/nordic/nrf54l15dk/nrf54l15dk_nrf54l15_cpuapp_defconfig'
    Merged configuration 'C:/sdk-nrf/samples/bluetooth/channel_sounding_ras_initiator/prj.conf'
    Merged configuration 'C:/sdk-nrf/samples/bluetooth/channel_sounding_ras_initiator/build/channel_sounding_ras_initiator/zephyr/.config.sysbuild'
    Configuration saved to 'C:/sdk-nrf/samples/bluetooth/channel_sounding_ras_initiator/build/channel_sounding_ras_initiator/zephyr/.config'
    Kconfig header saved to 'C:/sdk-nrf/samples/bluetooth/channel_sounding_ras_initiator/build/channel_sounding_ras_initiator/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
    =========== Generating psa_crypto_config ===============
    Backup: CONFIG_MBEDTLS_PSA_CRYPTO_SPM: False
    Backup: CONFIG_MBEDTLS_PSA_CRYPTO_C: True
    Backup: CONFIG_MBEDTLS_PSA_CRYPTO_KEY_ID_ENCODES_OWNER: False
    Backup: CONFIG_MBEDTLS_PLATFORM_SETUP_TEARDOWN_ALT: False
    Backup: CONFIG_MBEDTLS_THREADING: False
    Backup: CONFIG_MBEDTLS_THREADING_ALT: True
    =========== Checkpoint: backup ===============
    Restore: CONFIG_MBEDTLS_PSA_CRYPTO_SPM: False
    Restore: CONFIG_MBEDTLS_PSA_CRYPTO_C: True
    Restore: CONFIG_MBEDTLS_PSA_CRYPTO_KEY_ID_ENCODES_OWNER: False
    Restore: CONFIG_MBEDTLS_PLATFORM_SETUP_TEARDOWN_ALT: False
    Restore: CONFIG_MBEDTLS_THREADING: False
    Restore: CONFIG_MBEDTLS_THREADING_ALT: True
    =========== End psa_crypto_config ===============
    =========== Generating psa_crypto_library_config ===============
    Backup: CONFIG_MBEDTLS_PSA_CRYPTO_C: True
    Backup: CONFIG_MBEDTLS_PSA_CRYPTO_KEY_ID_ENCODES_OWNER: False
    Backup: CONFIG_MBEDTLS_PSA_CRYPTO_SPM: False
    Backup: CONFIG_MBEDTLS_USE_PSA_CRYPTO: True
    Backup: CONFIG_MBEDTLS_PLATFORM_PRINTF_ALT: False
    Backup: CONFIG_MBEDTLS_THREADING: False
    Backup: CONFIG_MBEDTLS_THREADING_ALT: True
    =========== Checkpoint: backup ===============
    Restore: CONFIG_MBEDTLS_PSA_CRYPTO_C: True
    Restore: CONFIG_MBEDTLS_PSA_CRYPTO_KEY_ID_ENCODES_OWNER: False
    Restore: CONFIG_MBEDTLS_PSA_CRYPTO_SPM: False
    Restore: CONFIG_MBEDTLS_USE_PSA_CRYPTO: True
    Restore: CONFIG_MBEDTLS_PLATFORM_PRINTF_ALT: False
    Restore: CONFIG_MBEDTLS_THREADING: False
    Restore: CONFIG_MBEDTLS_THREADING_ALT: True
    =========== End psa_crypto_library_config ===============
    CMake Warning at C:/ncs/v3.0.1/zephyr/CMakeLists.txt:2180 (message):
      __ASSERT() statements are globally ENABLED-- Configuring done
    -- Generating done
    -- Build files have been written to: C:/sdk-nrf/samples/bluetooth/channel_sounding_ras_initiator/build/channel_sounding_ras_initiator
    -- Configuring done
    -- Generating done
    -- Build files have been written to: C:/sdk-nrf/samples/bluetooth/channel_sounding_ras_initiator/build
    -- west build: building application
    [4/568] Generating include/generated/zephyr/version.h
    -- Zephyr version: 4.0.99 (C:/ncs/v3.0.1/zephyr), build: v4.0.99-ncs1-1
    [178/568] Building C object CMakeFiles/app.dir/src/main.c.obj
    FAILED: CMakeFiles/app.dir/src/main.c.obj 
    C:\ncs\toolchains\0b393f9e1b\opt\zephyr-sdk\arm-zephyr-eabi\bin\arm-zephyr-eabi-gcc.exe -DKERNEL -DK_HEAP_MEM_POOL_SIZE=512 -DMBEDTLS_CONFIG_FILE=\"nrf-config.h\" -DMBEDTLS_PSA_CRYPTO_CONFIG_FILE=\"nrf-psa-crypto-config.h\" -DMBEDTLS_PSA_CRYPTO_USER_CONFIG_FILE=\"nrf-psa-crypto-user-config.h\" -DNRF54L15_XXAA -DNRF_APPLICATION -DNRF_CONFIG_CPU_FREQ_MHZ=128 -DPICOLIBC_DOUBLE_PRINTF_SCANF -DUSE_PARTITION_MANAGER=1 -D__LINUX_ERRNO_EXTENSIONS__ -D__PROGRAM_START -D__ZEPHYR__=1 -IC:/ncs/v3.0.1/nrf/drivers/mpsl/clock_control -IC:/sdk-nrf/samples/bluetooth/channel_sounding_ras_initiator/build/channel_sounding_ras_initiator/zephyr/include/generated/zephyr -IC:/ncs/v3.0.1/zephyr/include -IC:/sdk-nrf/samples/bluetooth/channel_sounding_ras_initiator/build/channel_sounding_ras_initiator/zephyr/include/generated -IC:/ncs/v3.0.1/zephyr/soc/nordic -IC:/ncs/v3.0.1/zephyr/soc/nordic/nrf54l/. -IC:/ncs/v3.0.1/zephyr/soc/nordic/common/. -IC:/ncs/v3.0.1/zephyr/subsys/bluetooth -IC:/ncs/v3.0.1/nrf/include -IC:/ncs/v3.0.1/nrf/lib/multithreading_lock/. -IC:/ncs/v3.0.1/nrf/subsys/bluetooth/controller/. -IC:/ncs/v3.0.1/nrf/tests/include -IC:/ncs/v3.0.1/modules/hal/cmsis/CMSIS/Core/Include -IC:/ncs/v3.0.1/zephyr/modules/cmsis/. -IC:/ncs/v3.0.1/modules/lib/cmsis-dsp/Include -IC:/ncs/v3.0.1/nrf/modules/hal_nordic/. -IC:/ncs/v3.0.1/modules/hal/nordic/nrfx -IC:/ncs/v3.0.1/modules/hal/nordic/nrfx/drivers/include -IC:/ncs/v3.0.1/modules/hal/nordic/nrfx/mdk -IC:/ncs/v3.0.1/zephyr/modules/hal_nordic/nrfx/. -IC:/ncs/v3.0.1/nrfxlib/softdevice_controller/include -IC:/ncs/v3.0.1/nrfxlib/mpsl/fem/common/include -IC:/ncs/v3.0.1/nrfxlib/mpsl/fem/nrf21540_gpio/include -IC:/ncs/v3.0.1/nrfxlib/mpsl/fem/nrf21540_gpio_spi/include -IC:/ncs/v3.0.1/nrfxlib/mpsl/fem/nrf2220/include -IC:/ncs/v3.0.1/nrfxlib/mpsl/fem/nrf2240/include -IC:/ncs/v3.0.1/nrfxlib/mpsl/fem/nrf22xx/include -IC:/ncs/v3.0.1/nrfxlib/mpsl/fem/simple_gpio/include -IC:/ncs/v3.0.1/nrfxlib/mpsl/fem/include -IC:/ncs/v3.0.1/nrfxlib/mpsl/fem/include/protocol -IC:/ncs/v3.0.1/nrfxlib/mpsl/include -IC:/ncs/v3.0.1/nrfxlib/mpsl/include/protocol -IC:/sdk-nrf/samples/bluetooth/channel_sounding_ras_initiator/build/channel_sounding_ras_initiator/generated/library_nrf_security_psa -IC:/ncs/v3.0.1/nrf/subsys/nrf_security/include -IC:/ncs/v3.0.1/modules/crypto/oberon-psa-crypto/oberon/drivers -IC:/ncs/v3.0.1/nrf/subsys/nrf_security/src/threading/include -IC:/ncs/v3.0.1/nrf/subsys/nrf_security/src/utils -IC:/ncs/v3.0.1/nrf/subsys/nrf_security/src/drivers/cracen/common/include -IC:/ncs/v3.0.1/nrf/subsys/nrf_security/src/drivers/cracen/sxsymcrypt/include -IC:/ncs/v3.0.1/nrf/subsys/nrf_security/src/drivers/cracen/sxsymcrypt/src -IC:/ncs/v3.0.1/nrf/subsys/nrf_security/src/drivers/cracen/silexpk/target/baremetal_ba414e_with_ik -IC:/ncs/v3.0.1/nrf/subsys/nrf_security/src/drivers/cracen/silexpk/include -IC:/ncs/v3.0.1/nrf/subsys/nrf_security/src/drivers/cracen/sicrypto/include -IC:/ncs/v3.0.1/nrf/subsys/nrf_security/src/drivers/cracen/cracenpsa/include -IC:/ncs/v3.0.1/modules/crypto/oberon-psa-crypto/include -IC:/ncs/v3.0.1/modules/crypto/oberon-psa-crypto/library -IC:/ncs/v3.0.1/modules/crypto/mbedtls/library -IC:/ncs/v3.0.1/modules/crypto/mbedtls/include -IC:/ncs/v3.0.1/modules/crypto/mbedtls/include/library -isystem C:/ncs/v3.0.1/zephyr/lib/libc/common/include -fno-strict-aliasing -Os -imacros C:/sdk-nrf/samples/bluetooth/channel_sounding_ras_initiator/build/channel_sounding_ras_initiator/zephyr/include/generated/zephyr/autoconf.h -fno-common -g -gdwarf-4 -fdiagnostics-color=always -mcpu=cortex-m33 -mthumb -mabi=aapcs -mfpu=fpv5-sp-d16 -mfloat-abi=hard -mfp16-format=ieee -mtp=soft --sysroot=C:/ncs/toolchains/0b393f9e1b/opt/zephyr-sdk/arm-zephyr-eabi/arm-zephyr-eabi -imacros C:/ncs/v3.0.1/zephyr/include/zephyr/toolchain/zephyr_stdint.h -Wall -Wformat -Wformat-security -Wno-format-zero-length -Wdouble-promotion -Wno-pointer-sign -Wpointer-arith -Wexpansion-to-defined -Wno-unused-but-set-variable -Werror=implicit-int -fno-pic -fno-pie -fno-asynchronous-unwind-tables -ftls-model=local-exec -fno-reorder-functions --param=min-pagesize=0 -fno-defer-pop -fmacro-prefix-map=C:/sdk-nrf/samples/bluetooth/channel_sounding_ras_initiator=CMAKE_SOURCE_DIR -fmacro-prefix-map=C:/ncs/v3.0.1/zephyr=ZEPHYR_BASE -fmacro-prefix-map=C:/ncs/v3.0.1=WEST_TOPDIR -ffunction-sections -fdata-sections -specs=picolibc.specs -std=c99 -MD -MT CMakeFiles/app.dir/src/main.c.obj -MF CMakeFiles\app.dir\src\main.c.obj.d -o CMakeFiles/app.dir/src/main.c.obj -c C:/sdk-nrf/samples/bluetooth/channel_sounding_ras_initiator/src/main.c
    C:/sdk-nrf/samples/bluetooth/channel_sounding_ras_initiator/src/main.c: In function 'ranging_data_cb':
    C:/sdk-nrf/samples/bluetooth/channel_sounding_ras_initiator/src/main.c:176:34: error: 'RAS_FEAT_REALTIME_RD' undeclared (first use in this function)
      176 |         if (!(ras_feature_bits & RAS_FEAT_REALTIME_RD)) {
          |                                  ^~~~~~~~~~~~~~~~~~~~
    C:/sdk-nrf/samples/bluetooth/channel_sounding_ras_initiator/src/main.c:176:34: note: each undeclared identifier is reported only once for each function it appears in
    C:/sdk-nrf/samples/bluetooth/channel_sounding_ras_initiator/src/main.c: In function 'main':
    C:/sdk-nrf/samples/bluetooth/channel_sounding_ras_initiator/src/main.c:593:53: error: 'RAS_FEAT_REALTIME_RD' undeclared (first use in this function)
      593 |         const bool realtime_rd = ras_feature_bits & RAS_FEAT_REALTIME_RD;
          |                                                     ^~~~~~~~~~~~~~~~~~~~
    C:/sdk-nrf/samples/bluetooth/channel_sounding_ras_initiator/src/main.c:596:23: warning: implicit declaration of function 'bt_ras_rreq_realtime_rd_subscribe'; did you mean 'bt_ras_rreq_rd_ready_subscribe'? [-Wimplicit-function-declaration]
      596 |                 err = bt_ras_rreq_realtime_rd_subscribe(connection,
          |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          |                       bt_ras_rreq_rd_ready_subscribe
    [185/568] Building C object zephyr/CMakeFiles/zephyr.dir/lib/utils/bitarray.c.obj
    ninja: build stopped: subcommand failed.
    Now when I got it to work it says:

    I: Distance estimates on antenna path 0: ifft: 0.585532, phase_slope: 1.027580, rtt: 1.500325
    I: Sleeping for a few seconds...
    E: Tried to parse empty step data.
    E: Tried to parse empty step data.
    E: Tried to parse empty step data.
    E: Tried to parse empty step data.
    I: Distance estimates on antenna path 0: ifft: 0.585532, phase_slope: 1.217534, rtt: 1.221137
    I: Sleeping for a few seconds...
    E: Tried to parse empty step data.
    E: Tried to parse empty step data.
    E: Tried to parse empty step data.
    I: Distance estimates on antenna path 0: ifft: 0.585532, phase_slope: 1.055818, rtt: 1.346389

    Is there a way to reduce the number of empty step data?

    Thank you.

  • Hmm I see, this should supposedly not happen in main. And I am just a bit surprised that I am not seeing any of this on my side. Could you do a quick check if you are seeing it with these hex files I've built here?

    merged_i.hexmerged_r.hex

    Regards,

    Elfving

  • Hi Elfving, I tried out the hex files you provided, it does not show the empty step data I was encountering earlier.

  • Hi

    Håkon is currently out of office, so I have been assigned this ticket in his place. Glad to hear the .hex file works for you, but that does point toward something being wrong with how you've added to the main nRF Connect SDK and toolchain to your environment. This should also work as expected with NCS v3.0.1, which should be easier to set up from within the VS Code nRF extension instead of needing any extra steps. Biggest thing is that you need to make sure the toolchain matches the SDK version used.

    Best regards,

    Simon

Related