nRF52832: Use external MCU to run nRF's application & SDK via SPI

I'm working with a client's existing product. It has an external MCU connected to nRF52832 via SPI.

The nRF application & SDK code are compiled inside the external MCU source code and processed on the nRF. I have done similar setups with other chip brands using integration libs but didn't realize this is available with Nordic BLE.

I have not been able to find documentation or an example of how to reproduce this. I found info related to SPIS (SPI slave) but nothing implying that the nRF app/SDK are compiled on the external MCU.

2 questions:

1) Where can I find information on this? ... ie what firmware actually lives on the nRF that is able to process the softdevice cmds, etc from SPI?

2) Updating the nRF application code is easily done inside the external MCU source, but is it possible to update the softdevice and bootloader on the nRF? If yes, how? I understand normal Button-less DFU Service updates and have created many projects using it, but for some reason I'm struggling with the concept of how this path will work when the application code is on external MCU and softdevice/bootloader is on nRF chip.

The client does not have implementation details for this part of their product because this portion was done several years ago and not the same dev team nowadays. All they have is a .hex file that the manufacturing facility flashes on nRF during production.

Any help is appreciated.

  • Hi , thanks for the above.

    I regularly use SPI for projects, so it's not the actual SPI comms of interest. The question is more related to 'how' SPI is being used. And whether or not Nordic has a supported path for having the Nordic SDK compiled on an external MCU that acts as a master driving the soft device calls made on the slave nRF chip.

    After researching more into the client's code that does this, I'm seeing that it wasn't something supported by Nordic but was an internal development project.

    It is an interesting way to work with nRF's, but I'm not finding this as a common path. I have a path forward so we can close this out.

    Thanks for you time.

Related