How to use the dual core in a application with NRF54L15?

Hi,

Now, I'm doing a project. A device node sends picture data and the other one receives these data. Then the receiver shows the picture on the SSD1306 display.

At receiver's side, there are two threads, one receives the data and the other handle the display. For these two threads' coordination, I use the mailbox. But this would fail if the picture data was sent too fast.

So, I plan to use the other core - RISC-V, to handle the display data. But I know nothing about this dual core application. I just know this may be related to this example, nrf\samples\ipc\ipc_service. But this example doesn't include NRF54L15.

My question is that someone know which example can help me?  Give me as much information as possible. Thank you very much.

Parents Reply
  • Hi,

    PLease take a look at the following documentation:

    https://docs.nordicsemi.com/bundle/ncs-latest/page/zephyr/kernel/services/smp/smp.html#cpu_mask 

    It's mentioned in the documentation that The functions k_thread_cpu_mask_clear() and k_thread_cpu_mask_enable() are designed to control on which CPUs a thread can run. However, these APIs require that the thread is not currently runnable (i.e., it must be blocked or suspended) when you call them. If you call them on a runnable thread, the function will return an error (-EINVAL) and the operation will not succeed.

    Also, the correct usage is to operate on the thread ID (display_tid), not the thread object itself, when starting the thread. Also, ensure that the thread is not started (i.e., is in the K_FOREVER state) before you manipulate the CPU mask.

    -Priyanka

Children
No Data
Related