Saving core dump to flash on NRF54L15

Hello everyone,

I need to save a core dump on my NRF54L15 internal flash in order to debug an issue. I've been following the "Debugging and Troubleshooting section" of the intermediate academy course (https://academy.nordicsemi.com/courses/nrf-connect-sdk-intermediate/lessons/lesson-2-debugging/topic/build-errors-and-fatal-errors/).
Beside the fact that most configuration options listed as necessary are undefined an result in a failed build (see CONFIG_BOOT_DELAY_S, CONFIG_BOOT_DELAY_MS, CONFIG_BOOT_DELAY_SLEEPY_TICKS, CONFIG_BOOT_DELAY_SLEEPY_TIME and CONFIG_COREDUMP_FLASH_OFFSET), I cannot even enable the FLASH component.

Adding CONFIG_FLASH=y to my prj.conf causes an error because the symbol DT_N_S_soc_S_peripheral_50000000_S_vpr_4c000_IRQ_IDX_0_VAL_priority is undefined.
I am not sure of the reason behind it, but I did notice that instead of a flash0 node the nrf54l15 dts files list a cpuapp_rram node (see nrf54l15dk_nrf54l15_cpuapp.dts). Should I define the flash controller differently? What's exactly the difference between using cpuapp_rram and something like flash0? Does the NRF54L15 require a particular procedure to work with its internal storage?

 

  • I upgraded to v3.1.1. The course I linked however displays a version range between 2.7.0 and 3.1.0, is it a documentation issue?

    With the new version your example compiles but my own project still doesn't. It complains about a missing node that I cannot recognize:

    [278/688] Building C object zephyr/drivers/mspi/CMakeFiles/drivers__mspi.dir/home/maldus/Source/sdk-nrf/v3.1.1/nrf/drivers/mspi/mspi_sqspi.c.obj
    FAILED: zephyr/drivers/mspi/CMakeFiles/drivers__mspi.dir/home/maldus/Source/sdk-nrf/v3.1.1/nrf/drivers/mspi/mspi_sqspi.c.obj 
    ccache /home/maldus/Local/ncs/toolchains/b2ecd2435d/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc -DKERNEL -DK_HEAP_MEM_POOL_SIZE=0 -DLV_CONF_INCLUDE_SIMPLE=1 -DLV_CONF_PATH=\"/home/maldus/Source/sdk-nrf/v3.1.1/zephyr/modules/lvgl
    /include/lv_conf.h\" -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 -DNRF_SQSPI_ENABLED=1 -DNRF_SQSPI_MAX_NUM_DATA_LINES=4 -DNRF_SQSPI_SP_FIRMWARE_ADDR=537116864 -DUSE_PARTITION_MANAGER=1 -D_ANSI_SOURCE -D__LINUX_ERRNO_EXTENSIONS__ -D__PROGRAM_START -D__ZEPHYR_SUPERVISOR__ -D__ZEPHYR__=1 -
    I/home/maldus/Source/sdk-nrf/v3.1.1/nrfxlib/softperipheral/include -I/home/maldus/Source/sdk-nrf/v3.1.1/nrfxlib/softperipheral/sQSPI/include -I/home/maldus/Source/sdk-nrf/v3.1.1/nrfxlib/softperipheral/sQSPI/include/nrf54l15 -I/home/maldus/
    Source/sdk-nrf/v3.1.1/nrf/drivers/mpsl/clock_control -I/home/maldus/Projects/Treedom/dive-computer/build/dive-computer/zephyr/include/generated/zephyr -I/home/maldus/Source/sdk-nrf/v3.1.1/zephyr/include -I/home/maldus/Projects/Treedom/dive
    -computer/build/dive-computer/zephyr/include/generated -I/home/maldus/Source/sdk-nrf/v3.1.1/zephyr/soc/nordic -I/home/maldus/Source/sdk-nrf/v3.1.1/zephyr/lib/libc/newlib/include -I/home/maldus/Source/sdk-nrf/v3.1.1/zephyr/soc/nordic/nrf54l
    /. -I/home/maldus/Source/sdk-nrf/v3.1.1/zephyr/soc/nordic/common/. -I/home/maldus/Source/sdk-nrf/v3.1.1/zephyr/subsys/bluetooth -I/home/maldus/Source/sdk-nrf/v3.1.1/nrf/include -I/home/maldus/Source/sdk-nrf/v3.1.1/nrf/lib/multithreading_lo
    ck/. -I/home/maldus/Source/sdk-nrf/v3.1.1/nrf/subsys/bluetooth/controller/. -I/home/maldus/Source/sdk-nrf/v3.1.1/zephyr/drivers/flash -I/home/maldus/Source/sdk-nrf/v3.1.1/nrf/tests/include -I/home/maldus/Source/sdk-nrf/v3.1.1/modules/hal/c
    msis/CMSIS/Core/Include -I/home/maldus/Source/sdk-nrf/v3.1.1/modules/hal/cmsis_6/CMSIS/Core/Include -I/home/maldus/Source/sdk-nrf/v3.1.1/zephyr/modules/cmsis_6/. -I/home/maldus/Source/sdk-nrf/v3.1.1/nrf/modules/hal_nordic/. -I/home/maldus/
    Source/sdk-nrf/v3.1.1/modules/hal/nordic/nrfx -I/home/maldus/Source/sdk-nrf/v3.1.1/modules/hal/nordic/nrfx/drivers/include -I/home/maldus/Source/sdk-nrf/v3.1.1/modules/hal/nordic/nrfx/mdk -I/home/maldus/Source/sdk-nrf/v3.1.1/zephyr/modules
    /hal_nordic/nrfx/. -I/home/maldus/Source/sdk-nrf/v3.1.1/modules/lib/gui/lvgl/src -I/home/maldus/Source/sdk-nrf/v3.1.1/zephyr/modules/lvgl/include -I/home/maldus/Source/sdk-nrf/v3.1.1/nrfxlib/softdevice_controller/include -I/home/maldus/Sou
    rce/sdk-nrf/v3.1.1/nrfxlib/mpsl/fem/common/include -I/home/maldus/Source/sdk-nrf/v3.1.1/nrfxlib/mpsl/fem/nrf21540_gpio/include -I/home/maldus/Source/sdk-nrf/v3.1.1/nrfxlib/mpsl/fem/nrf21540_gpio_spi/include -I/home/maldus/Source/sdk-nrf/v3
    .1.1/nrfxlib/mpsl/fem/nrf2220/include -I/home/maldus/Source/sdk-nrf/v3.1.1/nrfxlib/mpsl/fem/nrf2240/include -I/home/maldus/Source/sdk-nrf/v3.1.1/nrfxlib/mpsl/fem/nrf22xx/include -I/home/maldus/Source/sdk-nrf/v3.1.1/nrfxlib/mpsl/fem/simple_
    gpio/include -I/home/maldus/Source/sdk-nrf/v3.1.1/nrfxlib/mpsl/fem/include -I/home/maldus/Source/sdk-nrf/v3.1.1/nrfxlib/mpsl/fem/include/protocol -I/home/maldus/Source/sdk-nrf/v3.1.1/nrfxlib/mpsl/include -I/home/maldus/Source/sdk-nrf/v3.1.
    1/nrfxlib/mpsl/include/protocol -I/home/maldus/Projects/Treedom/dive-computer/build/dive-computer/generated/library_nrf_security_psa -I/home/maldus/Source/sdk-nrf/v3.1.1/nrf/subsys/nrf_security/include -I/home/maldus/Source/sdk-nrf/v3.1.1/
    modules/crypto/oberon-psa-crypto/oberon/drivers -I/home/maldus/Source/sdk-nrf/v3.1.1/nrf/subsys/nrf_security/src/threading/include -I/home/maldus/Source/sdk-nrf/v3.1.1/nrf/subsys/nrf_security/src/utils -I/home/maldus/Source/sdk-nrf/v3.1.1/
    nrf/subsys/nrf_security/src/drivers/cracen/common/include -I/home/maldus/Source/sdk-nrf/v3.1.1/nrf/subsys/nrf_security/src/drivers/cracen/sxsymcrypt/include -I/home/maldus/Source/sdk-nrf/v3.1.1/nrf/subsys/nrf_security/src/drivers/cracen/si
    lexpk/target/baremetal_ba414e_with_ik -I/home/maldus/Source/sdk-nrf/v3.1.1/nrf/subsys/nrf_security/src/drivers/cracen/silexpk/include -I/home/maldus/Source/sdk-nrf/v3.1.1/nrf/subsys/nrf_security/src/drivers/cracen/cracenpsa/include -I/home
    /maldus/Source/sdk-nrf/v3.1.1/modules/crypto/oberon-psa-crypto/include -I/home/maldus/Source/sdk-nrf/v3.1.1/modules/crypto/oberon-psa-crypto/library -I/home/maldus/Source/sdk-nrf/v3.1.1/modules/crypto/mbedtls/library -I/home/maldus/Source/
    sdk-nrf/v3.1.1/modules/crypto/mbedtls/include -I/home/maldus/Source/sdk-nrf/v3.1.1/modules/crypto/mbedtls/include/library -isystem /home/maldus/Source/sdk-nrf/v3.1.1/zephyr/lib/libc/common/include -Wshadow -fno-strict-aliasing -O2 -imacros
     /home/maldus/Projects/Treedom/dive-computer/build/dive-computer/zephyr/include/generated/zephyr/autoconf.h -fno-common -g -gdwarf-4 -fdiagnostics-color=always -mcpu=cortex-m33 -mthumb -mabi=aapcs -mfp16-format=ieee --sysroot=/home/maldus/
    Local/ncs/toolchains/b2ecd2435d/opt/zephyr-sdk/arm-zephyr-eabi/arm-zephyr-eabi -imacros /home/maldus/Source/sdk-nrf/v3.1.1/zephyr/include/zephyr/toolchain/zephyr_stdint.h -Wall -Wformat -Wformat-security -Wno-format-zero-length -Wdouble-pr
    omotion -Wno-pointer-sign -Wpointer-arith -Wexpansion-to-defined -Wno-unused-but-set-variable -Werror=implicit-int -fno-pic -fno-pie -fno-asynchronous-unwind-tables -fno-reorder-functions --param=min-pagesize=0 -fno-defer-pop -fmacro-prefi
    x-map=/home/maldus/Projects/Treedom/dive-computer=CMAKE_SOURCE_DIR -fmacro-prefix-map=/home/maldus/Source/sdk-nrf/v3.1.1/zephyr=ZEPHYR_BASE -fmacro-prefix-map=/home/maldus/Source/sdk-nrf/v3.1.1=WEST_TOPDIR -ffunction-sections -fdata-sectio
    ns -specs=nano.specs -std=c99 -MD -MT zephyr/drivers/mspi/CMakeFiles/drivers__mspi.dir/home/maldus/Source/sdk-nrf/v3.1.1/nrf/drivers/mspi/mspi_sqspi.c.obj -MF zephyr/drivers/mspi/CMakeFiles/drivers__mspi.dir/home/maldus/Source/sdk-nrf/v3.1
    .1/nrf/drivers/mspi/mspi_sqspi.c.obj.d -o zephyr/drivers/mspi/CMakeFiles/drivers__mspi.dir/home/maldus/Source/sdk-nrf/v3.1.1/nrf/drivers/mspi/mspi_sqspi.c.obj -c /home/maldus/Source/sdk-nrf/v3.1.1/nrf/drivers/mspi/mspi_sqspi.c
    In file included from /home/maldus/Source/sdk-nrf/v3.1.1/zephyr/include/zephyr/toolchain.h:52,
                     from /home/maldus/Source/sdk-nrf/v3.1.1/zephyr/include/zephyr/sys/__assert.h:11,
                     from /home/maldus/Source/sdk-nrf/v3.1.1/zephyr/include/zephyr/drivers/mspi.h:19,
                     from /home/maldus/Source/sdk-nrf/v3.1.1/nrf/drivers/mspi/mspi_sqspi.c:9:
    /home/maldus/Source/sdk-nrf/v3.1.1/nrf/drivers/mspi/mspi_sqspi.c: In function 'dev_init':
    /home/maldus/Projects/Treedom/dive-computer/build/dive-computer/zephyr/include/generated/zephyr/devicetree_generated.h:16548:48: error: 'DT_N_S_soc_S_peripheral_50000000_S_vpr_4c000_IRQ_IDX_0_VAL_priority' undeclared (first use in this fun
    ction); did you mean 'DT_N_S_soc_S_peripheral_50000000_S_spi_4a000_IRQ_IDX_0_VAL_priority'?
    16548 | #define DT_N_NODELABEL_cpuflpr_vpr             DT_N_S_soc_S_peripheral_50000000_S_vpr_4c000
          |                                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /home/maldus/Source/sdk-nrf/v3.1.1/zephyr/include/zephyr/toolchain/gcc.h:87:52: note: in definition of macro 'BUILD_ASSERT'
       87 | #define BUILD_ASSERT(EXPR, MSG...) _Static_assert((EXPR), "" MSG)
          |                                                    ^~~~
    /home/maldus/Source/sdk-nrf/v3.1.1/zephyr/include/zephyr/arch/arm/irq.h:123:9: note: in expansion of macro '_CHECK_PRIO'
      123 |         _CHECK_PRIO(priority_p, flags_p) \
          |         ^~~~~~~~~~~
    /home/maldus/Source/sdk-nrf/v3.1.1/zephyr/include/zephyr/irq.h:49:9: note: in expansion of macro 'ARCH_IRQ_CONNECT'
       49 |         ARCH_IRQ_CONNECT(irq_p, priority_p, isr_p, isr_param_p, flags_p)
          |         ^~~~~~~~~~~~~~~~
    /home/maldus/Source/sdk-nrf/v3.1.1/nrf/drivers/mspi/mspi_sqspi.c:510:9: note: in expansion of macro 'IRQ_CONNECT'
      510 |         IRQ_CONNECT(DT_IRQN(VPR_NODE), DT_IRQ(VPR_NODE, priority),
          |         ^~~~~~~~~~~
    /home/maldus/Source/sdk-nrf/v3.1.1/zephyr/include/zephyr/devicetree.h:2679:9: note: in expansion of macro 'DT_CAT5'
     2679 |         DT_CAT5(node_id, _IRQ_IDX_, idx, _VAL_, cell)
          |         ^~~~~~~
    /home/maldus/Source/sdk-nrf/v3.1.1/zephyr/include/zephyr/devicetree.h:2706:31: note: in expansion of macro 'DT_IRQ_BY_IDX'
     2706 | #define DT_IRQ(node_id, cell) DT_IRQ_BY_IDX(node_id, 0, cell)
          |                               ^~~~~~~~~~~~~
    /home/maldus/Source/sdk-nrf/v3.1.1/nrf/drivers/mspi/mspi_sqspi.c:510:40: note: in expansion of macro 'DT_IRQ'
      510 |         IRQ_CONNECT(DT_IRQN(VPR_NODE), DT_IRQ(VPR_NODE, priority),
          |                                        ^~~~~~
    /home/maldus/Source/sdk-nrf/v3.1.1/zephyr/include/zephyr/devicetree.h:5269:24: note: in expansion of macro 'DT_N_NODELABEL_cpuflpr_vpr'
     5269 | #define DT_CAT(a1, a2) a1 ## a2
          |                        ^~
    /home/maldus/Source/sdk-nrf/v3.1.1/zephyr/include/zephyr/devicetree.h:196:29: note: in expansion of macro 'DT_CAT'
      196 | #define DT_NODELABEL(label) DT_CAT(DT_N_NODELABEL_, label)
          |                             ^~~~~~
    /home/maldus/Source/sdk-nrf/v3.1.1/nrf/drivers/mspi/mspi_sqspi.c:28:18: note: in expansion of macro 'DT_NODELABEL'
       28 | #define VPR_NODE DT_NODELABEL(cpuflpr_vpr)
          |                  ^~~~~~~~~~~~
    /home/maldus/Source/sdk-nrf/v3.1.1/nrf/drivers/mspi/mspi_sqspi.c:510:47: note: in expansion of macro 'VPR_NODE'
      510 |         IRQ_CONNECT(DT_IRQN(VPR_NODE), DT_IRQ(VPR_NODE, priority),
          |                                               ^~~~~~~~
    /home/maldus/Projects/Treedom/dive-computer/build/dive-computer/zephyr/include/generated/zephyr/devicetree_generated.h:16548:48: note: each undeclared identifier is reported only once for each function it appears in
    16548 | #define DT_N_NODELABEL_cpuflpr_vpr             DT_N_S_soc_S_peripheral_50000000_S_vpr_4c000
          |                                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /home/maldus/Source/sdk-nrf/v3.1.1/zephyr/include/zephyr/toolchain/gcc.h:87:52: note: in definition of macro 'BUILD_ASSERT'
       87 | #define BUILD_ASSERT(EXPR, MSG...) _Static_assert((EXPR), "" MSG)
          |                                                    ^~~~
    /home/maldus/Source/sdk-nrf/v3.1.1/zephyr/include/zephyr/arch/arm/irq.h:123:9: note: in expansion of macro '_CHECK_PRIO'
      123 |         _CHECK_PRIO(priority_p, flags_p) \
          |         ^~~~~~~~~~~
    /home/maldus/Source/sdk-nrf/v3.1.1/zephyr/include/zephyr/irq.h:49:9: note: in expansion of macro 'ARCH_IRQ_CONNECT'
       49 |         ARCH_IRQ_CONNECT(irq_p, priority_p, isr_p, isr_param_p, flags_p)
          |         ^~~~~~~~~~~~~~~~
    /home/maldus/Source/sdk-nrf/v3.1.1/nrf/drivers/mspi/mspi_sqspi.c:510:9: note: in expansion of macro 'IRQ_CONNECT'
      510 |         IRQ_CONNECT(DT_IRQN(VPR_NODE), DT_IRQ(VPR_NODE, priority),
          |         ^~~~~~~~~~~
    /home/maldus/Source/sdk-nrf/v3.1.1/zephyr/include/zephyr/devicetree.h:2679:9: note: in expansion of macro 'DT_CAT5'
     2679 |         DT_CAT5(node_id, _IRQ_IDX_, idx, _VAL_, cell)
          |         ^~~~~~~
    /home/maldus/Source/sdk-nrf/v3.1.1/zephyr/include/zephyr/devicetree.h:2706:31: note: in expansion of macro 'DT_IRQ_BY_IDX'
     2706 | #define DT_IRQ(node_id, cell) DT_IRQ_BY_IDX(node_id, 0, cell)
          |                               ^~~~~~~~~~~~~
    /home/maldus/Source/sdk-nrf/v3.1.1/nrf/drivers/mspi/mspi_sqspi.c:510:40: note: in expansion of macro 'DT_IRQ'
      510 |         IRQ_CONNECT(DT_IRQN(VPR_NODE), DT_IRQ(VPR_NODE, priority),
          |                                        ^~~~~~
    /home/maldus/Source/sdk-nrf/v3.1.1/zephyr/include/zephyr/devicetree.h:5269:24: note: in expansion of macro 'DT_N_NODELABEL_cpuflpr_vpr'
     5269 | #define DT_CAT(a1, a2) a1 ## a2
          |                        ^~
    /home/maldus/Source/sdk-nrf/v3.1.1/zephyr/include/zephyr/devicetree.h:196:29: note: in expansion of macro 'DT_CAT'
      196 | #define DT_NODELABEL(label) DT_CAT(DT_N_NODELABEL_, label)
          |                             ^~~~~~
    /home/maldus/Source/sdk-nrf/v3.1.1/nrf/drivers/mspi/mspi_sqspi.c:28:18: note: in expansion of macro 'DT_NODELABEL'
       28 | #define VPR_NODE DT_NODELABEL(cpuflpr_vpr)
          |                  ^~~~~~~~~~~~
    /home/maldus/Source/sdk-nrf/v3.1.1/nrf/drivers/mspi/mspi_sqspi.c:510:47: note: in expansion of macro 'VPR_NODE'
      510 |         IRQ_CONNECT(DT_IRQN(VPR_NODE), DT_IRQ(VPR_NODE, priority),
          |                                               ^~~~~~~~
    /home/maldus/Source/sdk-nrf/v3.1.1/zephyr/include/zephyr/toolchain/gcc.h:87:51: error: expression in static assertion is not an integer
       87 | #define BUILD_ASSERT(EXPR, MSG...) _Static_assert((EXPR), "" MSG)
          |                                                   ^
    /home/maldus/Source/sdk-nrf/v3.1.1/zephyr/include/zephyr/arch/arm/irq.h:100:9: note: in expansion of macro 'BUILD_ASSERT'
      100 |         BUILD_ASSERT(((flags_p & IRQ_ZERO_LATENCY) && \
          |         ^~~~~~~~~~~~
    /home/maldus/Source/sdk-nrf/v3.1.1/zephyr/include/zephyr/arch/arm/irq.h:123:9: note: in expansion of macro '_CHECK_PRIO'
      123 |         _CHECK_PRIO(priority_p, flags_p) \
          |         ^~~~~~~~~~~
    /home/maldus/Source/sdk-nrf/v3.1.1/zephyr/include/zephyr/irq.h:49:9: note: in expansion of macro 'ARCH_IRQ_CONNECT'
       49 |         ARCH_IRQ_CONNECT(irq_p, priority_p, isr_p, isr_param_p, flags_p)
          |         ^~~~~~~~~~~~~~~~
    /home/maldus/Source/sdk-nrf/v3.1.1/nrf/drivers/mspi/mspi_sqspi.c:510:9: note: in expansion of macro 'IRQ_CONNECT'
      510 |         IRQ_CONNECT(DT_IRQN(VPR_NODE), DT_IRQ(VPR_NODE, priority),
          |         ^~~~~~~~~~~
    In file included from /home/maldus/Source/sdk-nrf/v3.1.1/zephyr/include/zephyr/arch/arm/irq.h:19,
                     from /home/maldus/Source/sdk-nrf/v3.1.1/zephyr/include/zephyr/arch/arm/arch.h:24,
                     from /home/maldus/Source/sdk-nrf/v3.1.1/zephyr/include/zephyr/arch/cpu.h:19,
                     from /home/maldus/Source/sdk-nrf/v3.1.1/zephyr/include/zephyr/kernel_includes.h:36,
                     from /home/maldus/Source/sdk-nrf/v3.1.1/zephyr/include/zephyr/kernel.h:17,
                     from /home/maldus/Source/sdk-nrf/v3.1.1/zephyr/include/zephyr/drivers/mspi.h:21:
    /home/maldus/Projects/Treedom/dive-computer/build/dive-computer/zephyr/include/generated/zephyr/devicetree_generated.h:16548:48: error: 'DT_N_S_soc_S_peripheral_50000000_S_vpr_4c000_IRQ_IDX_0_VAL_irq' undeclared (first use in this function
    ); did you mean 'DT_N_S_soc_S_peripheral_50000000_S_spi_4a000_IRQ_IDX_0_VAL_irq'?
    16548 | #define DT_N_NODELABEL_cpuflpr_vpr             DT_N_S_soc_S_peripheral_50000000_S_vpr_4c000
          |                                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /home/maldus/Source/sdk-nrf/v3.1.1/zephyr/include/zephyr/sw_isr_table.h:276:26: note: in definition of macro 'Z_ISR_DECLARE'
      276 |                         {irq, flags, (void *)&func, (const void *)param}
          |                          ^~~
    /home/maldus/Source/sdk-nrf/v3.1.1/zephyr/include/zephyr/irq.h:49:9: note: in expansion of macro 'ARCH_IRQ_CONNECT'
       49 |         ARCH_IRQ_CONNECT(irq_p, priority_p, isr_p, isr_param_p, flags_p)
          |         ^~~~~~~~~~~~~~~~
    /home/maldus/Source/sdk-nrf/v3.1.1/nrf/drivers/mspi/mspi_sqspi.c:510:9: note: in expansion of macro 'IRQ_CONNECT'
      510 |         IRQ_CONNECT(DT_IRQN(VPR_NODE), DT_IRQ(VPR_NODE, priority),
          |         ^~~~~~~~~~~
    /home/maldus/Source/sdk-nrf/v3.1.1/zephyr/include/zephyr/sys/util_internal.h:69:53: note: in expansion of macro '__DEBRACKET'
       69 | #define __GET_ARG2_DEBRACKET(ignore_this, val, ...) __DEBRACKET val
          |                                                     ^~~~~~~~~~~
    /home/maldus/Source/sdk-nrf/v3.1.1/zephyr/include/zephyr/sys/util_internal.h:64:9: note: in expansion of macro '__GET_ARG2_DEBRACKET'
       64 |         __GET_ARG2_DEBRACKET(one_or_two_args _if_code, _else_code)
          |         ^~~~~~~~~~~~~~~~~~~~
    /home/maldus/Source/sdk-nrf/v3.1.1/zephyr/include/zephyr/sys/util_internal.h:59:9: note: in expansion of macro '__COND_CODE'
       59 |         __COND_CODE(_XXXX##_flag, _if_1_code, _else_code)
          |         ^~~~~~~~~~~
    /home/maldus/Source/sdk-nrf/v3.1.1/zephyr/include/zephyr/sys/util_macro.h:204:9: note: in expansion of macro 'Z_COND_CODE_1'
      204 |         Z_COND_CODE_1(_flag, _if_1_code, _else_code)
          |         ^~~~~~~~~~~~~
    /home/maldus/Source/sdk-nrf/v3.1.1/zephyr/include/zephyr/devicetree.h:2880:9: note: in expansion of macro 'COND_CODE_1'
     2880 |         COND_CODE_1(IS_ENABLED(CONFIG_MULTI_LEVEL_INTERRUPTS),                                     \
          |         ^~~~~~~~~~~
    /home/maldus/Source/sdk-nrf/v3.1.1/zephyr/include/zephyr/devicetree.h:2679:9: note: in expansion of macro 'DT_CAT5'
     2679 |         DT_CAT5(node_id, _IRQ_IDX_, idx, _VAL_, cell)
          |         ^~~~~~~
    /home/maldus/Source/sdk-nrf/v3.1.1/zephyr/include/zephyr/devicetree.h:2882:22: note: in expansion of macro 'DT_IRQ_BY_IDX'
     2882 |                     (DT_IRQ_BY_IDX(node_id, idx, irq)))
          |                      ^~~~~~~~~~~~~
    /home/maldus/Source/sdk-nrf/v3.1.1/zephyr/include/zephyr/devicetree.h:2894:26: note: in expansion of macro 'DT_IRQN_BY_IDX'
     2894 | #define DT_IRQN(node_id) DT_IRQN_BY_IDX(node_id, 0)
          |                          ^~~~~~~~~~~~~~
    /home/maldus/Source/sdk-nrf/v3.1.1/nrf/drivers/mspi/mspi_sqspi.c:510:21: note: in expansion of macro 'DT_IRQN'
      510 |         IRQ_CONNECT(DT_IRQN(VPR_NODE), DT_IRQ(VPR_NODE, priority),
          |                     ^~~~~~~
    /home/maldus/Source/sdk-nrf/v3.1.1/zephyr/include/zephyr/devicetree.h:5269:24: note: in expansion of macro 'DT_N_NODELABEL_cpuflpr_vpr'
     5269 | #define DT_CAT(a1, a2) a1 ## a2
          |                        ^~
    /home/maldus/Source/sdk-nrf/v3.1.1/zephyr/include/zephyr/devicetree.h:196:29: note: in expansion of macro 'DT_CAT'
      196 | #define DT_NODELABEL(label) DT_CAT(DT_N_NODELABEL_, label)
          |                             ^~~~~~
    /home/maldus/Source/sdk-nrf/v3.1.1/nrf/drivers/mspi/mspi_sqspi.c:28:18: note: in expansion of macro 'DT_NODELABEL'
       28 | #define VPR_NODE DT_NODELABEL(cpuflpr_vpr)
          |                  ^~~~~~~~~~~~
    /home/maldus/Source/sdk-nrf/v3.1.1/nrf/drivers/mspi/mspi_sqspi.c:510:29: note: in expansion of macro 'VPR_NODE'
      510 |         IRQ_CONNECT(DT_IRQN(VPR_NODE), DT_IRQ(VPR_NODE, priority),
          |                             ^~~~~~~~
    [291/688] Building C object zephyr/drivers/serial/CMakeFiles/drivers__serial.dir/uart_nrfx_uarte.c.obj
    ninja: build stopped: subcommand failed.
    FAILED: _sysbuild/sysbuild/images/dive-computer-prefix/src/dive-computer-stamp/dive-computer-build /home/maldus/Projects/Treedom/dive-computer/build/_sysbuild/sysbuild/images/dive-computer-prefix/src/dive-computer-stamp/dive-computer-build
     
    cd /home/maldus/Projects/Treedom/dive-computer/build/dive-computer && /home/maldus/Local/ncs/toolchains/b2ecd2435d/usr/local/bin/cmake --build .
    ninja: build stopped: subcommand failed.
    FATAL ERROR: command exited with status 1: /home/maldus/Local/ncs/toolchains/b2ecd2435d/usr/local/bin/cmake --build /home/maldus/Projects/Treedom/dive-computer/build

    I have setup a similar DTS tree, with a coredump_partition in cpuapp_rram:

    &cpuapp_rram {
    	partitions {
    		compatible = "fixed-partitions";
    		#address-cells = <1>;
    		#size-cells = <1>;
    		boot_partition: partition@0 {
    			label = "mcuboot";
    			reg = <0x0 DT_SIZE_K(64)>;
    		};
    		slot0_partition: partition@10000 {
    			label = "image-0";
    			reg = <0x10000 DT_SIZE_K(324)>;
    		};
    		slot1_partition: partition@61000 {
    			label = "image-1";
    			reg = <0x61000 DT_SIZE_K(324)>;
    		};
                    coredump_partition: partition@b2000 {
                            label = "coredump-partition";
                            reg = <0xb2000 DT_SIZE_K(4)>;
                    };
    	};
    };
    

  • The errors are related to the sQSPI peripheral which is not used by coredump, but it means you can free up the 64K of RAM allocated to FLPR as I did in my test sample. 

    Maldus512 said:
    I upgraded to v3.1.1. The course I linked however displays a version range between 2.7.0 and 3.1.0, is it a documentation issue?

    SDK v3.1.0 introduced a new backend for coredump that is better suited for handling NV storage in the fault handler, but the course has not been updated to reflect this change yet, so it is still suggesting the old backend which does still work if you dont have CONFIG_ASSSERT enabled.

    The configurations below are wrong and should not be used. Not sure when they got added there. I will report it internally. 

Related