Application PropertiesApplication Interface
Description
Properties of the application that can be accessed by the bootloader.
Applications must contain an ApplicationProperties_t struct declaring the application version and capabilities, and so on. The metadata contained in this struct will be extracted from the application by the Simplicity Commander tool and placed in the GBL upgrade file. If this struct is not in the application image, it will be added to the GBL file by the Simplicity Commander.
The struct is also used to declare whether the application image is signed and what type of signature is used. If no ApplicationProperties_t struct is present, the bootloader will assume that the application image is signed using APPLICATION_SIGNATURE_ECDSA_P256 .
To ensure that the bootloader can easily locate the ApplicationProperties_t struct, if not already done by the linker, Simplicity Commander will modify word 13 of the application to insert a pointer to the ApplicationProperties_t struct.
Data Structures |
|
struct | ApplicationData |
Application Data.
|
|
struct | ApplicationCertificate |
Application Certificate.
|
|
struct | ApplicationProperties_t |
Application Properties struct.
|
|
Macros |
|
#define | APPLICATION_PROPERTIES_MAGIC |
Magic value declaring the existence of an
ApplicationProperties_t
struct.
|
|
#define | APPLICATION_PROPERTIES_REVERSED |
Byte-reversed version of
APPLICATION_PROPERTIES_MAGIC
.
|
|
#define | APPLICATION_PROPERTIES_VERSION_MAJOR (1UL) |
Major version number of the AppliationProperties_t struct.
|
|
#define | APPLICATION_PROPERTIES_VERSION_MINOR (2UL) |
Minor version number of the AppliationProperties_t struct.
|
|
#define | APPLICATION_CERTIFICATE_VERSION (1UL) |
Version number of the ApplicationCertificate_t struct.
|
|
#define | APPLICATION_SIGNATURE_NONE (0UL) |
The application is not signed.
|
|
#define | APPLICATION_SIGNATURE_ECDSA_P256 (1UL << 0UL) |
The SHA-256 digest of the application is signed using ECDSA with the NIST P-256 curve.
|
|
#define | APPLICATION_SIGNATURE_CRC32 (1UL << 1UL) |
The application is not signed, but has a CRC-32 checksum.
|
|
#define | APPLICATION_TYPE_ZIGBEE (1UL << 0UL) |
The application contains a Zigbee wireless stack.
|
|
#define | APPLICATION_TYPE_THREAD (1UL << 1UL) |
The application contains a Thread wireless stack.
|
|
#define | APPLICATION_TYPE_FLEX (1UL << 2UL) |
The application contains a Flex wireless stack.
|
|
#define | APPLICATION_TYPE_BLUETOOTH (1UL << 3UL) |
The application contains a Bluetooth wireless stack.
|
|
#define | APPLICATION_TYPE_MCU (1UL << 4UL) |
The application is an MCU application.
|
|
#define | APPLICATION_TYPE_BLUETOOTH_APP (1UL << 5UL) |
The application contains a Bluetooth application.
|
|
#define | APPLICATION_TYPE_BOOTLOADER (1UL << 6UL) |
The application contains a bootloader.
|
|
#define | APPLICATION_TYPE_ZWAVE (1UL << 7UL) |
The application contains a Zwave wireless stack.
|
|
Typedefs |
|
typedef struct ApplicationData | ApplicationData_t |
Application Data.
|
|
typedef struct ApplicationCertificate | ApplicationCertificate_t |
Application Certificate.
|
|
Macro Definition Documentation
#define APPLICATION_PROPERTIES_MAGIC |
Magic value declaring the existence of an ApplicationProperties_t struct.
Definition at line
48
of file
application_properties.h
.
#define APPLICATION_PROPERTIES_REVERSED |
Byte-reversed version of APPLICATION_PROPERTIES_MAGIC .
Definition at line
56
of file
application_properties.h
.