Application Properties#
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.
Modules#
Macros#
Magic value declaring the existence of an ApplicationProperties_t struct.
Byte-reversed version of APPLICATION_PROPERTIES_MAGIC.
Major version number of the AppliationProperties_t struct.
Minor version number of the AppliationProperties_t struct.
Version number of the ApplicationCertificate_t struct.
The application is not signed.
The SHA-256 digest of the application is signed using ECDSA with the NIST P-256 curve.
The application is not signed, but has a CRC-32 checksum.
The application contains a Zigbee wireless stack.
The application contains a Thread wireless stack.
The application contains a Flex wireless stack.
The application contains a Bluetooth wireless stack.
The application is an MCU application.
The application contains a Bluetooth application.
The application contains a bootloader.
The application contains a Zwave wireless stack.
Macro Definition Documentation#
APPLICATION_PROPERTIES_MAGIC#
#define APPLICATION_PROPERTIES_MAGICValue:
Magic value declaring the existence of an ApplicationProperties_t struct.
48
of file platform/bootloader/api/application_properties.h
APPLICATION_PROPERTIES_REVERSED#
#define APPLICATION_PROPERTIES_REVERSEDValue:
Byte-reversed version of APPLICATION_PROPERTIES_MAGIC.
56
of file platform/bootloader/api/application_properties.h
APPLICATION_PROPERTIES_VERSION_MAJOR#
#define APPLICATION_PROPERTIES_VERSION_MAJORValue:
(1UL)
Major version number of the AppliationProperties_t struct.
64
of file platform/bootloader/api/application_properties.h
APPLICATION_PROPERTIES_VERSION_MINOR#
#define APPLICATION_PROPERTIES_VERSION_MINORValue:
(2UL)
Minor version number of the AppliationProperties_t struct.
66
of file platform/bootloader/api/application_properties.h
APPLICATION_CERTIFICATE_VERSION#
#define APPLICATION_CERTIFICATE_VERSIONValue:
(1UL)
Version number of the ApplicationCertificate_t struct.
68
of file platform/bootloader/api/application_properties.h
APPLICATION_SIGNATURE_NONE#
#define APPLICATION_SIGNATURE_NONEValue:
(0UL)
The application is not signed.
70
of file platform/bootloader/api/application_properties.h
APPLICATION_SIGNATURE_ECDSA_P256#
#define APPLICATION_SIGNATURE_ECDSA_P256Value:
(1UL << 0UL)
The SHA-256 digest of the application is signed using ECDSA with the NIST P-256 curve.
73
of file platform/bootloader/api/application_properties.h
APPLICATION_SIGNATURE_CRC32#
#define APPLICATION_SIGNATURE_CRC32Value:
(1UL << 1UL)
The application is not signed, but has a CRC-32 checksum.
75
of file platform/bootloader/api/application_properties.h
APPLICATION_TYPE_ZIGBEE#
#define APPLICATION_TYPE_ZIGBEEValue:
(1UL << 0UL)
The application contains a Zigbee wireless stack.
78
of file platform/bootloader/api/application_properties.h
APPLICATION_TYPE_THREAD#
#define APPLICATION_TYPE_THREADValue:
(1UL << 1UL)
The application contains a Thread wireless stack.
80
of file platform/bootloader/api/application_properties.h
APPLICATION_TYPE_FLEX#
#define APPLICATION_TYPE_FLEXValue:
(1UL << 2UL)
The application contains a Flex wireless stack.
82
of file platform/bootloader/api/application_properties.h
APPLICATION_TYPE_BLUETOOTH#
#define APPLICATION_TYPE_BLUETOOTHValue:
(1UL << 3UL)
The application contains a Bluetooth wireless stack.
84
of file platform/bootloader/api/application_properties.h
APPLICATION_TYPE_MCU#
#define APPLICATION_TYPE_MCUValue:
(1UL << 4UL)
The application is an MCU application.
86
of file platform/bootloader/api/application_properties.h
APPLICATION_TYPE_BLUETOOTH_APP#
#define APPLICATION_TYPE_BLUETOOTH_APPValue:
(1UL << 5UL)
The application contains a Bluetooth application.
88
of file platform/bootloader/api/application_properties.h
APPLICATION_TYPE_BOOTLOADER#
#define APPLICATION_TYPE_BOOTLOADERValue:
(1UL << 6UL)
The application contains a bootloader.
90
of file platform/bootloader/api/application_properties.h
APPLICATION_TYPE_ZWAVE#
#define APPLICATION_TYPE_ZWAVEValue:
(1UL << 7UL)
The application contains a Zwave wireless stack.
92
of file platform/bootloader/api/application_properties.h