Hello,
I am trying to understand a published software program on the subject of DDS.
The configuration is as follows:
core_1 performs the calculation,
core_0 transfers it to DAC.
Communication via multicore_fifo.
During the test, I had some doubts. It wasn't working properly. After fiddling around with it for a while,
I reduced core_1 to a simple loop.and core_0 to It works perfectly when I start it with the debugger (VS Code - Pico Project - Debug Project). All 4096 values of ‘k’ sent by core_1 to the FIFO arrive at core_0.
Without using breakpoints, just started via debugger and left to run.
The fun stops when I transfer the programme via ‘Flash Project(SWD)’.
Core_1 runs, delivers the first 4 to 6 values and then stops. Nothing else happens, no sign of life.
What to check - How to fix?
Martin
I am trying to understand a published software program on the subject of DDS.
The configuration is as follows:
core_1 performs the calculation,
core_0 transfers it to DAC.
Communication via multicore_fifo.
During the test, I had some doubts. It wasn't working properly. After fiddling around with it for a while,
I reduced core_1 to a simple loop.
Code:
void core1_entry() { for(int k=0 ; k<4096 ; k++){ DDStable[k]=60.0*sin(twopi*k/4096.0) ; multicore_fifo_push_blocking( k ) ; } ....Code:
while(1){ int data; //data=(2048+ multicore_fifo_pop_blocking()); data=(multicore_fifo_pop_blocking()); printf("data is %d\n", data); }Without using breakpoints, just started via debugger and left to run.
The fun stops when I transfer the programme via ‘Flash Project(SWD)’.
Core_1 runs, delivers the first 4 to 6 values and then stops. Nothing else happens, no sign of life.
What to check - How to fix?
Martin
Statistics: Posted by MartinHill — Thu Feb 19, 2026 8:45 pm — Replies 1 — Views 32