Nrf54L15 FLPR Timing issues if using multiple threads on the cpuapp

Hi all,

Due to wrong pin assignment on my PCB I am currently bit banging a uart on two P2 pins using the FLPR core. The read bytes and bytes to send are communicated via ipc service between cpuapp and flpr. 

Now I see the following. I have two different cases. The first case A) with only the mainThread (this is on the CPUAPP):

K_THREAD_DEFINE(MainThread, 2048, mainThread, NULL, NULL, NULL, 7, 0, 0);
//K_THREAD_DEFINE(MeasurementThread, 2048, measurementThread, NULL, NULL, NULL, 7, 0, 0);

and case B) with a second "measurementThread" enabled (this is on the CPUAPP).

K_THREAD_DEFINE(MainThread, 2048, mainThread, NULL, NULL, NULL, 7, 0, 0);
K_THREAD_DEFINE(MeasurementThread, 2048, measurementThread, NULL, NULL, NULL, 7, 0, 0);

in case A) the FLPR core bit bang uart works perfectly fine. I receive all the comminication perfectly fine.

in case B) the UART breaks, whats strange is, that this even happens when the measurementThread is empty and does nothing at all:

void measurementThread()
{
    return;
}

How can adding an empty Thread that does nothing destroy my uart bit bang running on another core?

Best regards

Mark

Related