CONFIG_BT_RPC_STACK on a custom board

I have a custom board with an nRF5340 on it. I'd like to offload BLE operations to the network core using the RPC library to control it from the application core.

The documentation states to do this by enabling the "CONFIG_BT_RPC_STACK" option. Some questions about this:

  1. How does this actually work? Searching for "BT_RPC_STACK" in the nRF Connect GitHub repo returns the definition of this option, but I don't see where it's used and how its use causes West to build a specific sample as a child image and include it in the overall build/flash.
  2. If I need to use this with a custom board, should I still use this config option? The documentation states that this causes the "rpc_host" sample to be built for the network core, but that sample is designed for the nRF5340DK board which has different pinouts than my custom board. Would it be better to clone and alter this "rpc_host" sample and customize the child image configuration (specifying it in CMake) instead of using the "CONFIG_BT_RPC_STACK" option? Or does this config value enable additional things other than just including that sample as a child image?
  3. I'm not clear on the differences between the CONFIG_BT_RPC_STACK option (includes "rpc_host" as a child image) and the "CONFIG_BT_RPMSG" option (includes "multiprotocol_msg" as a child image). In which cases would you choose one over the other as the child image to run on the network core?
Related