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#

ApplicationData_t

ApplicationCertificate_t

ApplicationProperties_t

Macros#

#define

Magic value declaring the existence of an ApplicationProperties_t struct.

#define
#define

Major version number of the AppliationProperties_t struct.

#define

Minor version number of the AppliationProperties_t struct.

#define

Version number of the ApplicationCertificate_t struct.

#define

The application is not signed.

#define

The SHA-256 digest of the application is signed using ECDSA with the NIST P-256 curve.

#define

The application is not signed, but has a CRC-32 checksum.

#define

The application contains a Zigbee wireless stack.

#define

The application contains a Thread wireless stack.

#define

The application contains a Flex wireless stack.

#define

The application contains a Bluetooth wireless stack.

#define

The application is an MCU application.

#define

The application contains a Bluetooth application.

#define

The application contains a bootloader.

#define

The application contains a Zwave wireless stack.

Macro Definition Documentation#

APPLICATION_PROPERTIES_MAGIC#

#define APPLICATION_PROPERTIES_MAGIC
Value:
{ \
0x13, 0xb7, 0x79, 0xfa, \
0xc9, 0x25, 0xdd, 0xb7, \
0xad, 0xf3, 0xcf, 0xe0, \
0xf1, 0xb6, 0x14, 0xb8 \
}

Magic value declaring the existence of an ApplicationProperties_t struct.


Definition at line 48 of file platform/bootloader/api/application_properties.h

APPLICATION_PROPERTIES_REVERSED#

#define APPLICATION_PROPERTIES_REVERSED
Value:
{ \
0xb8, 0x14, 0xb6, 0xf1, \
0xe0, 0xcf, 0xf3, 0xad, \
0xb7, 0xdd, 0x25, 0xc9, \
0xfa, 0x79, 0xb7, 0x13 \
}

Byte-reversed version of APPLICATION_PROPERTIES_MAGIC.


Definition at line 56 of file platform/bootloader/api/application_properties.h

APPLICATION_PROPERTIES_VERSION_MAJOR#

#define APPLICATION_PROPERTIES_VERSION_MAJOR
Value:
(1UL)

Major version number of the AppliationProperties_t struct.


Definition at line 64 of file platform/bootloader/api/application_properties.h

APPLICATION_PROPERTIES_VERSION_MINOR#

#define APPLICATION_PROPERTIES_VERSION_MINOR
Value:
(2UL)

Minor version number of the AppliationProperties_t struct.


Definition at line 66 of file platform/bootloader/api/application_properties.h

APPLICATION_CERTIFICATE_VERSION#

#define APPLICATION_CERTIFICATE_VERSION
Value:
(1UL)

Version number of the ApplicationCertificate_t struct.


Definition at line 68 of file platform/bootloader/api/application_properties.h

APPLICATION_SIGNATURE_NONE#

#define APPLICATION_SIGNATURE_NONE
Value:
(0UL)

The application is not signed.


Definition at line 70 of file platform/bootloader/api/application_properties.h

APPLICATION_SIGNATURE_ECDSA_P256#

#define APPLICATION_SIGNATURE_ECDSA_P256
Value:
(1UL << 0UL)

The SHA-256 digest of the application is signed using ECDSA with the NIST P-256 curve.


Definition at line 73 of file platform/bootloader/api/application_properties.h

APPLICATION_SIGNATURE_CRC32#

#define APPLICATION_SIGNATURE_CRC32
Value:
(1UL << 1UL)

The application is not signed, but has a CRC-32 checksum.


Definition at line 75 of file platform/bootloader/api/application_properties.h

APPLICATION_TYPE_ZIGBEE#

#define APPLICATION_TYPE_ZIGBEE
Value:
(1UL << 0UL)

The application contains a Zigbee wireless stack.


Definition at line 78 of file platform/bootloader/api/application_properties.h

APPLICATION_TYPE_THREAD#

#define APPLICATION_TYPE_THREAD
Value:
(1UL << 1UL)

The application contains a Thread wireless stack.


Definition at line 80 of file platform/bootloader/api/application_properties.h

APPLICATION_TYPE_FLEX#

#define APPLICATION_TYPE_FLEX
Value:
(1UL << 2UL)

The application contains a Flex wireless stack.


Definition at line 82 of file platform/bootloader/api/application_properties.h

APPLICATION_TYPE_BLUETOOTH#

#define APPLICATION_TYPE_BLUETOOTH
Value:
(1UL << 3UL)

The application contains a Bluetooth wireless stack.


Definition at line 84 of file platform/bootloader/api/application_properties.h

APPLICATION_TYPE_MCU#

#define APPLICATION_TYPE_MCU
Value:
(1UL << 4UL)

The application is an MCU application.


Definition at line 86 of file platform/bootloader/api/application_properties.h

APPLICATION_TYPE_BLUETOOTH_APP#

#define APPLICATION_TYPE_BLUETOOTH_APP
Value:
(1UL << 5UL)

The application contains a Bluetooth application.


Definition at line 88 of file platform/bootloader/api/application_properties.h

APPLICATION_TYPE_BOOTLOADER#

#define APPLICATION_TYPE_BOOTLOADER
Value:
(1UL << 6UL)

The application contains a bootloader.


Definition at line 90 of file platform/bootloader/api/application_properties.h

APPLICATION_TYPE_ZWAVE#

#define APPLICATION_TYPE_ZWAVE
Value:
(1UL << 7UL)

The application contains a Zwave wireless stack.


Definition at line 92 of file platform/bootloader/api/application_properties.h