I'm trying to enable saving of coredump to flash. I'm running on nrf52840 with NRF SDK 1.6.1.
I have defined the following:
label = "coredump_partition";
reg = <0x000ff000 DT_SIZE_K(4)>;
};
00> coredump erase
00> Stored coredump erased.
I'm trying to enable saving of coredump to flash. I'm running on nrf52840 with NRF SDK 1.6.1.
I have defined the following:
Hi,
You only see this issue on samples that uses Bluetooth?
Could you try setting these configs? (taken from this .config file)
CONFIG_LOG=y CONFIG_LOG_MODE_MINIMAL=y CONFIG_DEBUG_COREDUMP=y CONFIG_DEBUG_COREDUMP_BACKEND_FLASH_PARTITION=y CONFIG_MP_NUM_CPUS=1 CONFIG_FLASH=y CONFIG_DEBUG_COREDUMP_MEMORY_DUMP_MIN=y CONFIG_DEBUG_COREDUMP_MEMORY_DUMP_LINKER_RAM=n
Our application does use Bluetooth. I don't have a sample application without Bluetooth that I can try on our board or even the DK board.
We already had most of these set. The only difference was LOG_MODE. I updated LOG_MODE to be minimal but that did not make any difference. Still getting:
00> =====> Crashing system... (this is expected crash)
00> E: r0/a1: 0x00000003 r1/a2: 0x20013680 r2/a3: 0x00000040
00> E: r3/a4: 0x00000000 r12/ip: 0x00000000 r14/lr: 0x0002532b
00> E: xpsr: 0x41000000
00> E: Faulting instruction address (r15/pc): 0x00042352
00> E: >>> ZEPHYR FATAL ERROR 3: Kernel oops on CPU 0
00> E: Current thread: 0x200031b0 (shell_rtt)
// This is where it's trying to dump the core to flash but is failing
00> E: timeout
00> E: Cannot start coredump!
Any update on this? Is there a plan to support coredump to flash with BT enabled?
Yes, user15146 , has there been any follow up?
Hi,
I'm checking with the developers.
Hi,
I got some feedback from the team. We have not heard of anyone using Zephyr's built-in coredump functionality on Nordic ICs (or Arm in general), though it does seem to be supported.
Most nRF Connect customers use memfault instead, would that be an option?
https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/libraries/others/memfault_ncs.html
(Otherwise we will investigate using Zephyr's coredump)
Memfault's integration supports storing coredumps in flash:
CONFIG_MEMFAULT_NCS_INTERNAL_FLASH_BACKED_COREDUMP
Note that memfault has its own coredump handling, it doesn't use the upstream Zephyr one.
Thanks, user15146. We will go with Memfault.
Thanks, user15146. We will go with Memfault.