Quantcast
Channel: Raspberry Pi Forums
Viewing all articles
Browse latest Browse all 7995

SDK • RP2350: memcpy called in flash despite PICO_MEM_IN_RAM

$
0
0
Many years ago on the RP2040 I was trying to write flash without saving/disabling interrupts, so I cannot access any flash while the write is happening. I forced queue and multicore functions into RAM in the linker script, and kilograham gave me the final piece which was to set PICO_MEM_IN_RAM since memcpy is used somewhere in there.

I'm now on the RP2350 and I'm seeing:

Code:

(gdb) bt#0  0xeffffffe in ?? ()#1  <signal handler called>#2  0x1000b470 in memcpy ()#3  0x20000730 in queue_add_internal (block=false, data=0x20002640 <undo_buffer+312>,    q=0x200024f4 <ui_snapshot_queue>)    at firmware/pico-sdk/src/common/pico_util/queue.c:48#4  queue_try_add (q=q@entry=0x200024f4 <ui_snapshot_queue>,    data=data@entry=0x200416b4 <engine+320>)    at firmware/pico-sdk/src/common/pico_util/queue.c:102#5  0x20041538 in run_engine () at firmware/main.c:67#6  0x10009552 in main () at firmware/main.c:135
This is where the core locks up as far as I can tell. I do still have PUBLIC PICO_MEM_IN_RAM=1 set in target_compile_definitions. But it seems like memcpy is being called in flash here? What's going on?

Thank you!

Statistics: Posted by waveshaper — Mon Feb 23, 2026 3:29 am



Viewing all articles
Browse latest Browse all 7995

Trending Articles