Developing with coprocessors
Caution
The High-Performance Framework (HPF) support in the nRF Connect SDK is experimental and is limited to the nRF54L15 and nRF54LM20 devices.
You can use the VPR coprocessor (Fast Lightweight Peripheral Processor - FLPR) as follows:
As an additional core in a multicore system using Zephyr in multithreaded mode (see the nRF54L and nRF54H20 devices pages).
As a peripheral emulator, 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 will allow 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.
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 |
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, and nRF54H20) |
Experimental (nRF54L15, nRF54LM20) |
Supported (see Soft peripherals documentation for the list of supported devices) |
Example use case |
Utilizes VPR as a standard CPU and offloads tasks to VPR. |
Develops custom protocol emulators. |
Replaces conventional hardware peripherals. |