Infuse-IoT SDK API 0.0.1
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
DFU from SD card APIs

Functions

int dfu_exfat_app_upgrade_exists (const struct device *dev, struct mcuboot_img_sem_ver *upgrade)
 Check whether a valid DFU file exists on the filesystem.
int dfu_exfat_app_upgrade_copy (const struct device *dev, struct mcuboot_img_sem_ver upgrade, uint8_t flash_area_id, infuse_progress_cb_t erase_progress_cb, infuse_progress_cb_t write_progress_cb)
 Copy DFU file from filesystem onto flash area.

Detailed Description

Function Documentation

◆ dfu_exfat_app_upgrade_copy()

int dfu_exfat_app_upgrade_copy ( const struct device * dev,
struct mcuboot_img_sem_ver upgrade,
uint8_t flash_area_id,
infuse_progress_cb_t erase_progress_cb,
infuse_progress_cb_t write_progress_cb )

#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/include/infuse/dfu/exfat.h>

Copy DFU file from filesystem onto flash area.

Parameters
devexFAT data logger device
upgradeNew version from dfu_exfat_app_upgrade_exists
flash_area_idOutput flash area ID
erase_progress_cbOptional erase progress callback
write_progress_cbOptional write progress callback
Return values
0On success
-errnoOn error

◆ dfu_exfat_app_upgrade_exists()

int dfu_exfat_app_upgrade_exists ( const struct device * dev,
struct mcuboot_img_sem_ver * upgrade )

#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/include/infuse/dfu/exfat.h>

Check whether a valid DFU file exists on the filesystem.

Expected usage:

const struct device *logger = DEVICE_DT_GET_ONE(embeint_data_logger_exfat);
uint8_t upgrade_partition = FIXED_PARTITION_ID(slot1_partition);
struct infuse_version upgrade_version;
if (dfu_exfat_app_upgrade_exists(logger, &upgrade_version) == 1) {
if (dfu_exfat_app_upgrade_copy(logger, upgrade_version, upgrade_partition, NULL) == 0) {
if (boot_request_upgrade_multi(0, 0) == 0) {
}
}
}
int dfu_exfat_app_upgrade_copy(const struct device *dev, struct mcuboot_img_sem_ver upgrade, uint8_t flash_area_id, infuse_progress_cb_t erase_progress_cb, infuse_progress_cb_t write_progress_cb)
Copy DFU file from filesystem onto flash area.
int dfu_exfat_app_upgrade_exists(const struct device *dev, struct mcuboot_img_sem_ver *upgrade)
Check whether a valid DFU file exists on the filesystem.
_NORETURN void infuse_reboot(enum infuse_reboot_reason reason, uint32_t info1, uint32_t info2)
Trigger a system reboot.
@ INFUSE_REBOOT_DFU
Rebooting for device firmware update.
Definition reboot.h:56
#define infuse_version
Definition version.h:37
Parameters
devexFAT data logger device
upgradeStorage location for upgrade version
Return values
0No valid upgrade file exists
1Valid upgrade file exists, upgrade is valid
-errnoOn error