nRF Connect SDK API 2.8.99
|
API for handling DFU of peripheral cores. More...
Files | |
file | pcd_common.h |
Common definitions for the PCD API. | |
Enumerations | |
enum | pcd_status { PCD_STATUS_COPY = 0 , PCD_STATUS_DONE = 1 , PCD_STATUS_FAILED = 2 , PCD_STATUS_READ_VERSION = 3 , PCD_STATUS_LOCK_DEBUG = 4 } |
Functions | |
int | pcd_network_core_update (const void *src_addr, size_t len) |
Sets up the PCD command structure with the location and size of the firmware update. Then boots the network core and checks if the update completed successfully. | |
int | pcd_network_core_update_initiate (const void *src_addr, size_t len) |
Sets up the PCD command structure with the location and size of the firmware update. Then boots the network core and initiates the update procedure. The function will return before the update procedure on the network core has completed or failed, and will indicate success as long as the initialization of the update procedure was successful. The network core will still be in a powered on state when this function returns. | |
void | pcd_lock_ram (bool lock_conf) |
Lock the RAM section used for IPC with the network core bootloader. | |
void | pcd_done (void) |
Update the PCD CMD to indicate that the operation has completed successfully. | |
void | pcd_fw_copy_invalidate (void) |
Invalidate the PCD CMD, indicating that the copy failed. | |
enum pcd_status | pcd_fw_copy_status_get (void) |
Check the PCD CMD to find the status of the update. | |
const void * | pcd_cmd_data_ptr_get (void) |
Get value of 'data' member of pcd cmd. | |
int | pcd_fw_copy (const struct device *fdev) |
Perform the DFU image transfer. | |
API for handling DFU of peripheral cores.
The PCD API provides functions for transferring DFU images from a generic core to a peripheral core to which there is no flash access from the generic core.
The cores communicate through a command structure (CMD) which is stored in a shared memory location.
The nRF5340 is an example of a system with these properties.