Simplest nRF53 dual-core ESB communication?

I want to receive a few bytes over ESB on the NET core, and then forward those values to the APP core to dim a few PWM LEDs.

I thought this would be a good basic beginner's project to apply several previously learned concepts and integrate them into cohesive working code, but I'm already staring down a warren of rabbit holes so deep and blitheringly complicated that I just want to crawl back in bed.

I can dim PWM LEDs on the APP core. Easy.

I can receive bytes over ESB on the NET core. Solved.

But now I face the daunting task of not only choosing one of several bewildering and competing inter-core communication protocols, but also deciphering how to compile and flash multiple CPU images using the staggering Sysbuild, and once again the exhausting learning curve in front of me seems many more distant moons away.

Can Nordic please define the simplest path forward, so that I'll fail miserably in just a few weeks this time, instead of the typical months it usually takes me to accomplish nothing?

Just a few bytes, in one direction, from NET to APP.

Parents
No Data
Reply
  • I wound up down this IPC tangent because, having successfully experimented with ESB radio comms, I challenged myself to remotely control the Audio DK's RGB LEDs wirelessly, and after realizing that the NET core did not have a PWM peripheral of its own, I reasoned that IPC would be necessary to share duty-cycle data with the APP core.

    But upon deeper study, the nRF53 Product Specification states that the NET core can in fact control the APP core's peripherals via DCNF/SPU memory mapping, though I'm still unsure of the specifics. I'm aware that there are several registers that control peripheral and memory access among domains, but are there NCS libraries that simplify this?

    I'm starting to believe that a dual-core IPC solution is increasingly within my reach, but I'm also interested in exploring a simpler(?) single-core application running on NET that just directly controls the APP core's PWM if possible. Both techniques seem worth learning.

    Can Nordic provide any additional summary guidance on this potential single-core approach, other than just linking to the docs?

Children
Related