Trident IoT Z-Wave SDK
 
Loading...
Searching...
No Matches
zpal_bootloader.h File Reference
#include <stdbool.h>
#include "zpal_status.h"
+ Include dependency graph for zpal_bootloader.h:

Go to the source code of this file.

Data Structures

struct  zpal_bootloader_info_t
 Information about the current bootloader. More...
 

Macros

#define ZPAL_BOOTLOADER_CAPABILITY_STORAGE   (1 << 0)
 Bootloader has the capability of storing data in an internal or external storage medium.
 
#define ZPAL_BOOTLOADER_VERSION_MAJOR_SHIFT   (24U)
 Bootloader version major version shift value.
 
#define ZPAL_BOOTLOADER_VERSION_MINOR_SHIFT   (16U)
 Bootloader version minor version shift value.
 
#define ZPAL_BOOTLOADER_VERSION_BUGFIX_SHIFT   (0U)
 Bootloader version bugfix version shift value.
 
#define ZPAL_BOOTLOADER_VERSION_MAJOR_MASK   (0xFF000000U)
 Bootloader version major version mask.
 
#define ZPAL_BOOTLOADER_VERSION_MINOR_MASK   (0x00FF0000U)
 Bootloader version minor version mask.
 
#define ZPAL_BOOTLOADER_VERSION_BUGFIX_MASK   (0x0000FFFFU)
 Bootloader version bugfix version mask.
 

Enumerations

enum  zpal_bootloader_type_t {
  ZPAL_BOOTLOADER_NOT_PRESENT = 0 ,
  ZPAL_BOOTLOADER_PRESENT = 1
}
 Type of bootloader. More...
 

Functions

void zpal_bootloader_get_info (zpal_bootloader_info_t *info)
 Get information about the bootloader on this device. The information returned is fetched from the main bootloader information table.
 
zpal_status_t zpal_bootloader_init (void)
 Initialize components of the bootloader so the app can use the interface. This typically includes initializing serial peripherals for communication with external SPI flashes, and so on.
 
void zpal_bootloader_reboot_and_install (void)
 Reboot into the bootloader to install something. If there is a storage component and a slot is marked for bootload, install the image in that slot after verifying it. If a communication component is present, open the communication channel and receive an image to be installed.
 
zpal_status_t zpal_bootloader_verify_image (void)
 Verify that the image is valid.
 
zpal_status_t zpal_bootloader_write_data (uint32_t offset, uint8_t *data, uint16_t length)
 Writes a fragment of a firmware image to the bootloader storage.
 
bool zpal_bootloader_is_first_boot (bool *updated_successfully)
 Returns whether the software is running on the first boot after a new firmware image was written.
 
void zpal_bootloader_reset_page_counters (void)
 Resets the bootloader page counters. Used when initiating an upgrade to jump back to the start of the storage slot.
 

Detailed Description

Defines a platform abstraction layer for the Z-Wave bootloader.