Developing with coprocessors
Caution
The High-Performance Framework (HPF) support in the nRF Connect SDK is experimental and is limited to the nRF54L15, nRF54LM20, nRF54LC10A, and nRF54LV10A devices.
VPR coprocessors can be primarily used to perform one of the following tasks:
As an additional core in a multicore system using Zephyr in multithreaded mode (see the nRF54L and nRF54H20 devices pages). In this mode, the VPR core acts as a standard CPU and can be used for either of the following purposes:
Extra performance - Offload compute-heavy tasks from the application core to the Fast Lightweight Processor (FLPR) core to increase the processing capacity available to the application.
Power optimization - Move simple, low-duty-cycle tasks to the PPR (Peripheral Processor) core so that the application core can stay idle or enter a low-power state for longer periods. The PPR core runs in a low-power domain, so it uses significantly less power for these tasks than the application core. For an example, see the VPR offloading sample.
As a peripheral emulator on the FLPR core, using one of the following methods depending on the use case:
Note
In these usage modes, it is important to clearly differentiate between the Soft Peripheral and HPF solutions. Soft Peripherals serve as a direct replacement for hardware peripherals, offering guaranteed performance. In contrast, the HPF allows you to accelerate protocol operations, but performance depends on your implementation. Nordic Semiconductor recommends using the Soft Peripheral solution if it meets your product’s requirements.
Peripheral emulation is only supported on the FLPR core, not on the PPR core. Both HPF and Soft Peripherals rely on the real-time peripherals of the FLPR core: VPR IO (VIO) and VPR TIMER (VTIM). These peripherals provide the cycle-accurate GPIO control and timing required to emulate serial communication peripherals in software.
The following table outlines the main differences between the usage modes. For detailed comparison see the Introduction to Soft Peripherals and High-Performance Framework page.
Comparison category |
Zephyr application |
High-Performance Framework (HPF) |
Soft Peripherals |
|---|---|---|---|
Overview |
Comprehensive Zephyr application with full feature access. |
Bare-metal build from source featuring real-time I/O capabilities. |
Custom binary that emulates a hardware peripheral. |
Advantages |
Full access to Zephyr’s capabilities including drivers, libraries, and OS primitives. |
Enables custom protocol support with optimized execution latency and minimized code footprint. |
|
Limitations |
Larger code size and higher execution latency. |
Requires development of custom code. |
Provided as a binary making modifications impossible. |
Build system |
Built from source using Zephyr’s sysbuild. |
Built from source using Zephyr’s sysbuild. |
Custom HEX file loaded by the application core. VPR is exposed to build system. Only the GPIO ports and pins utilized by the VPR are configured within an overlay. |
Inter-processor communication |
Zephyr’s IPC service or mbox API. |
Zephyr’s IPC service or mbox API. |
Managed through the peripheral driver API. |
Work offloading |
Supports any task, including those requiring Zephyr libraries. |
Handles simple data pre-processing or post-processing based on specific protocol needs. |
Not supported. |
Maturity level |
Experimental (nRF54L15, nRF54LM20, nRF54LC10A, nRF54LV10A, and nRF54H20) |
Experimental (nRF54L15, nRF54LM20, nRF54LC10A, and nRF54LV10A) |
Supported (see Soft peripherals documentation for the list of supported devices) |
Example use case |
|
Develops custom protocol emulators. |
Replaces conventional hardware peripherals. |