Is there an nrfx API call to allocate an unused IPC channel on the nrf5340?

I need to use an IPC channel between the Application and Network CPUs to notify one side when the other side has modified data in shared SRAM (region 0x20070000). My system also uses rpmsg_service to exchange data messages and that service uses a couple of IPC channels. I can empirically discover which IPC channels are being used by looking at the .config file after my application has been compiled and linked, but I was hoping there would be a call similar to:

nrfx_dppi_channel_alloc(uint8_t *p_channel);
I use this call to safely allocate DPPI channels quite frequently. If there's a similar call for allocating IPC channels I've not been able to find it.
Thanks much,
Kevin
Parents Reply
  • Hello again

    I've asked around internally about this, and it's currently not possible to do this with the IPC API.

    But if the information you need is available in the Zephyr devicetree (you can check in build/zephyr/zephyr.dts), then you could use the devicetree API to make this available at runtime for example by populating a struct with the DT_NODELABEL macro.

    Best regards,

    Einar

Children
No Data
Related