Modules#

GblTagHeader_t

GblHeader_t

VersionDependency_t

GblApplication_t

GblBootloader_t

GblSeUpgrade_t

GblMetadata_t

GblProg_t

GblEnd_t

GblEncryptionInitAesCcm_t

GblEncryptionData_t

GblCertificateEcdsaP256_t

GblSignatureEcdsaP256_t

GBL Format#

Macros#

#define

Magic word indicating GBL image.

#define

Major version of the GBL spec.

#define

Tag ID for the GBL header tag.

#define

Tag ID for the GBL bootloader tag.

#define

Tag ID for the GBL application info tag.

#define
GBL_TAG_ID_METADATA 0xF60808F6UL

Tag ID for the GBL metadata tag.

#define
GBL_TAG_ID_PROG 0xFE0101FEUL

Tag ID for the GBL flash program tag.

#define
GBL_TAG_ID_PROG_LZ4 0xFD0505FDUL

Tag ID for the GBL flash program tag (LZ4)

#define

Tag ID for the GBL flash program tag (LZMA)

#define

Tag ID for the GBL flash erase&program tag.

#define
GBL_TAG_ID_END 0xFC0404FCUL

Tag ID for the GBL end tag.

#define

Tag ID for the SE upgrade tag.

#define

Tag ID for the version dependency tag.

#define

Tag ID for the GBL encryption header tag.

#define
GBL_TAG_ID_ENC_INIT 0xFA0606FAUL

Tag ID for the GBL encryption init tag.

#define

Tag ID for the GBL encryption data tag.

#define

Tag ID for the GBL ECDSA secp256r1 signature tag.

#define

Tag ID for the GBL ECDSA certfificate tag.

#define
GBL_TYPE_NONE 0x00000000UL

GBL type: Standard GBL.

#define

GBL type: AES-CCM encrypted GBL.

#define

GBL type: ECDSA P256-signed GBL.

#define

Image Type : Application Image.

#define

Image Type : Bootloader Image.

#define

Image Type : Secure Engine Image.

#define

Operator encoding : Operator Mask.

#define

Operator encoding : Operator Shift.

#define

Operator encoding : Operator Type Mask.

#define

Operator encoding : Negator Bit mask.

#define

GBL Version Dependency Operator LT.

#define

GBL Version Dependency Operator LEQ.

#define

GBL Version Dependency Operator EQ.

#define

GBL Version Dependency Operator GEQ.

#define

GBL Version Dependency Operator GT.

#define

Connective encoding : Connective Encoding Mask.

#define

Connective encoding : Encoding Shift.

#define

Connective encoding : Encoding Type Mask.

#define

Connective encoding : Negator Bit Mask.

#define

Connective AND Mask.

#define

Connective OR Mask.

#define

SE version mask for ignoring the compatibility byte when comparing versions.

#define

Tag order.

#define

GBL Tag Order Header.

#define

GBL Tag Order Version Dependency.

#define

GBL Tag Order encoding Init.

#define

GBL Tag Order Application.

#define

GBL Tag Order SE Upgarde.

#define

GBL Tag Order Bootloader.

#define

The Programming and Metadata tags share the same order.

#define

GBL Tag Order Enc GBL Data.

#define

GBL Tag Order Certificate.

#define

GBL Tag Order Signature.

#define

GBL_TAG_ORDER_END must always be strictly greater than any other tag order.

#define
#define

Macro Definition Documentation#

GBL_IMAGE_MAGIC_WORD#

#define GBL_IMAGE_MAGIC_WORD
Value:
0xE35050E3UL

Magic word indicating GBL image.


Definition at line 41 of file platform/bootloader/parser/gbl/btl_gbl_format.h

GBL_COMPATIBILITY_MAJOR_VERSION#

#define GBL_COMPATIBILITY_MAJOR_VERSION
Value:
0x03000000UL

Major version of the GBL spec.


Definition at line 43 of file platform/bootloader/parser/gbl/btl_gbl_format.h

GBL_TAG_ID_HEADER_V3#

#define GBL_TAG_ID_HEADER_V3
Value:
0x03A617EBUL

Tag ID for the GBL header tag.


Definition at line 49 of file platform/bootloader/parser/gbl/btl_gbl_format.h

GBL_TAG_ID_BOOTLOADER#

#define GBL_TAG_ID_BOOTLOADER
Value:
0xF50909F5UL

Tag ID for the GBL bootloader tag.


Definition at line 51 of file platform/bootloader/parser/gbl/btl_gbl_format.h

GBL_TAG_ID_APPLICATION#

#define GBL_TAG_ID_APPLICATION
Value:
0xF40A0AF4UL

Tag ID for the GBL application info tag.


Definition at line 53 of file platform/bootloader/parser/gbl/btl_gbl_format.h

GBL_TAG_ID_METADATA#

#define GBL_TAG_ID_METADATA
Value:
0xF60808F6UL

Tag ID for the GBL metadata tag.


Definition at line 55 of file platform/bootloader/parser/gbl/btl_gbl_format.h

GBL_TAG_ID_PROG#

#define GBL_TAG_ID_PROG
Value:
0xFE0101FEUL

Tag ID for the GBL flash program tag.


Definition at line 57 of file platform/bootloader/parser/gbl/btl_gbl_format.h

GBL_TAG_ID_PROG_LZ4#

#define GBL_TAG_ID_PROG_LZ4
Value:
0xFD0505FDUL

Tag ID for the GBL flash program tag (LZ4)


Definition at line 59 of file platform/bootloader/parser/gbl/btl_gbl_format.h

GBL_TAG_ID_PROG_LZMA#

#define GBL_TAG_ID_PROG_LZMA
Value:
0xFD0707FDUL

Tag ID for the GBL flash program tag (LZMA)


Definition at line 61 of file platform/bootloader/parser/gbl/btl_gbl_format.h

GBL_TAG_ID_ERASEPROG#

#define GBL_TAG_ID_ERASEPROG
Value:
0xFD0303FDUL

Tag ID for the GBL flash erase&program tag.


Definition at line 63 of file platform/bootloader/parser/gbl/btl_gbl_format.h

GBL_TAG_ID_END#

#define GBL_TAG_ID_END
Value:
0xFC0404FCUL

Tag ID for the GBL end tag.


Definition at line 65 of file platform/bootloader/parser/gbl/btl_gbl_format.h

GBL_TAG_ID_SE_UPGRADE#

#define GBL_TAG_ID_SE_UPGRADE
Value:
0x5EA617EBUL

Tag ID for the SE upgrade tag.


Definition at line 67 of file platform/bootloader/parser/gbl/btl_gbl_format.h

GBL_TAG_ID_VERSION_DEPENDENCY#

#define GBL_TAG_ID_VERSION_DEPENDENCY
Value:
0x76A617EBUL

Tag ID for the version dependency tag.


Definition at line 69 of file platform/bootloader/parser/gbl/btl_gbl_format.h

GBL_TAG_ID_ENC_HEADER#

#define GBL_TAG_ID_ENC_HEADER
Value:
0xFB0505FBUL

Tag ID for the GBL encryption header tag.


Definition at line 73 of file platform/bootloader/parser/gbl/btl_gbl_format.h

GBL_TAG_ID_ENC_INIT#

#define GBL_TAG_ID_ENC_INIT
Value:
0xFA0606FAUL

Tag ID for the GBL encryption init tag.


Definition at line 75 of file platform/bootloader/parser/gbl/btl_gbl_format.h

GBL_TAG_ID_ENC_GBL_DATA#

#define GBL_TAG_ID_ENC_GBL_DATA
Value:
0xF90707F9UL

Tag ID for the GBL encryption data tag.


Definition at line 77 of file platform/bootloader/parser/gbl/btl_gbl_format.h

GBL_TAG_ID_SIGNATURE_ECDSA_P256#

#define GBL_TAG_ID_SIGNATURE_ECDSA_P256
Value:
0xF70A0AF7UL

Tag ID for the GBL ECDSA secp256r1 signature tag.


Definition at line 81 of file platform/bootloader/parser/gbl/btl_gbl_format.h

GBL_TAG_ID_CERTIFICATE_ECDSA_P256#

#define GBL_TAG_ID_CERTIFICATE_ECDSA_P256
Value:
0xF30B0BF3UL

Tag ID for the GBL ECDSA certfificate tag.


Definition at line 83 of file platform/bootloader/parser/gbl/btl_gbl_format.h

GBL_TYPE_NONE#

#define GBL_TYPE_NONE
Value:
0x00000000UL

GBL type: Standard GBL.


Definition at line 89 of file platform/bootloader/parser/gbl/btl_gbl_format.h

GBL_TYPE_ENCRYPTION_AESCCM#

#define GBL_TYPE_ENCRYPTION_AESCCM
Value:
0x00000001UL

GBL type: AES-CCM encrypted GBL.


Definition at line 91 of file platform/bootloader/parser/gbl/btl_gbl_format.h

GBL_TYPE_SIGNATURE_ECDSA#

#define GBL_TYPE_SIGNATURE_ECDSA
Value:
0x00000100UL

GBL type: ECDSA P256-signed GBL.


Definition at line 93 of file platform/bootloader/parser/gbl/btl_gbl_format.h

GBL_VERSION_DEPENDENCY_TYPE_APPLICATION#

#define GBL_VERSION_DEPENDENCY_TYPE_APPLICATION
Value:
0x01U

Image Type : Application Image.


Definition at line 99 of file platform/bootloader/parser/gbl/btl_gbl_format.h

GBL_VERSION_DEPENDENCY_TYPE_BOOTLOADER#

#define GBL_VERSION_DEPENDENCY_TYPE_BOOTLOADER
Value:
0x02U

Image Type : Bootloader Image.


Definition at line 101 of file platform/bootloader/parser/gbl/btl_gbl_format.h

GBL_VERSION_DEPENDENCY_TYPE_SE#

#define GBL_VERSION_DEPENDENCY_TYPE_SE
Value:
0x03U

Image Type : Secure Engine Image.


Definition at line 103 of file platform/bootloader/parser/gbl/btl_gbl_format.h

GBL_VERSION_DEPENDENCY_OPERATOR_MASK#

#define GBL_VERSION_DEPENDENCY_OPERATOR_MASK
Value:
0x0FU

Operator encoding : Operator Mask.


Definition at line 106 of file platform/bootloader/parser/gbl/btl_gbl_format.h

GBL_VERSION_DEPENDENCY_OPERATOR_SHIFT#

#define GBL_VERSION_DEPENDENCY_OPERATOR_SHIFT
Value:
0x00U

Operator encoding : Operator Shift.


Definition at line 108 of file platform/bootloader/parser/gbl/btl_gbl_format.h

GBL_VERSION_DEPENDENCY_OPERATOR_TYPE_MASK#

#define GBL_VERSION_DEPENDENCY_OPERATOR_TYPE_MASK
Value:
0x0EU

Operator encoding : Operator Type Mask.


Definition at line 110 of file platform/bootloader/parser/gbl/btl_gbl_format.h

GBL_VERSION_DEPENDENCY_OPERATOR_NEGATOR_BIT_MASK#

#define GBL_VERSION_DEPENDENCY_OPERATOR_NEGATOR_BIT_MASK
Value:
0x01U

Operator encoding : Negator Bit mask.


Definition at line 112 of file platform/bootloader/parser/gbl/btl_gbl_format.h

GBL_VERSION_DEPENDENCY_OPERATOR_LT#

#define GBL_VERSION_DEPENDENCY_OPERATOR_LT
Value:
0x00U

GBL Version Dependency Operator LT.


Definition at line 115 of file platform/bootloader/parser/gbl/btl_gbl_format.h

GBL_VERSION_DEPENDENCY_OPERATOR_LEQ#

#define GBL_VERSION_DEPENDENCY_OPERATOR_LEQ
Value:
0x02U

GBL Version Dependency Operator LEQ.


Definition at line 117 of file platform/bootloader/parser/gbl/btl_gbl_format.h

GBL_VERSION_DEPENDENCY_OPERATOR_EQ#

#define GBL_VERSION_DEPENDENCY_OPERATOR_EQ
Value:
0x04U

GBL Version Dependency Operator EQ.


Definition at line 119 of file platform/bootloader/parser/gbl/btl_gbl_format.h

GBL_VERSION_DEPENDENCY_OPERATOR_GEQ#

#define GBL_VERSION_DEPENDENCY_OPERATOR_GEQ
Value:
0x06U

GBL Version Dependency Operator GEQ.


Definition at line 121 of file platform/bootloader/parser/gbl/btl_gbl_format.h

GBL_VERSION_DEPENDENCY_OPERATOR_GT#

#define GBL_VERSION_DEPENDENCY_OPERATOR_GT
Value:
0x08U

GBL Version Dependency Operator GT.


Definition at line 123 of file platform/bootloader/parser/gbl/btl_gbl_format.h

GBL_VERSION_DEPENDENCY_CONNECTIVE_MASK#

#define GBL_VERSION_DEPENDENCY_CONNECTIVE_MASK
Value:
0xF0U

Connective encoding : Connective Encoding Mask.


Definition at line 126 of file platform/bootloader/parser/gbl/btl_gbl_format.h

GBL_VERSION_DEPENDENCY_CONNECTIVE_SHIFT#

#define GBL_VERSION_DEPENDENCY_CONNECTIVE_SHIFT
Value:
0x04U

Connective encoding : Encoding Shift.


Definition at line 128 of file platform/bootloader/parser/gbl/btl_gbl_format.h

GBL_VERSION_DEPENDENCY_CONNECTIVE_TYPE_MASK#

#define GBL_VERSION_DEPENDENCY_CONNECTIVE_TYPE_MASK
Value:
0x0EU

Connective encoding : Encoding Type Mask.


Definition at line 130 of file platform/bootloader/parser/gbl/btl_gbl_format.h

GBL_VERSION_DEPENDENCY_CONNECTIVE_NEGATOR_BIT_MASK#

#define GBL_VERSION_DEPENDENCY_CONNECTIVE_NEGATOR_BIT_MASK
Value:
0x01U

Connective encoding : Negator Bit Mask.


Definition at line 132 of file platform/bootloader/parser/gbl/btl_gbl_format.h

GBL_VERSION_DEPENDENCY_CONNECTIVE_AND#

#define GBL_VERSION_DEPENDENCY_CONNECTIVE_AND
Value:
0x00U

Connective AND Mask.


Definition at line 135 of file platform/bootloader/parser/gbl/btl_gbl_format.h

GBL_VERSION_DEPENDENCY_CONNECTIVE_OR#

#define GBL_VERSION_DEPENDENCY_CONNECTIVE_OR
Value:
0x02U

Connective OR Mask.


Definition at line 137 of file platform/bootloader/parser/gbl/btl_gbl_format.h

GBL_VERSION_DEPENDENCY_SE_VERSION_MASK#

#define GBL_VERSION_DEPENDENCY_SE_VERSION_MASK
Value:
0x00FFFFFFUL

SE version mask for ignoring the compatibility byte when comparing versions.


Definition at line 140 of file platform/bootloader/parser/gbl/btl_gbl_format.h

GBL_TAG_ORDER_INIT#

#define GBL_TAG_ORDER_INIT
Value:
0U

Tag order.


Definition at line 149 of file platform/bootloader/parser/gbl/btl_gbl_format.h

GBL_TAG_ORDER_HEADER_V3#

#define GBL_TAG_ORDER_HEADER_V3
Value:
1U

GBL Tag Order Header.


Definition at line 151 of file platform/bootloader/parser/gbl/btl_gbl_format.h

GBL_TAG_ORDER_VERSION_DEPENDENCY#

#define GBL_TAG_ORDER_VERSION_DEPENDENCY
Value:
2U

GBL Tag Order Version Dependency.


Definition at line 153 of file platform/bootloader/parser/gbl/btl_gbl_format.h

GBL_TAG_ORDER_ENC_INIT#

#define GBL_TAG_ORDER_ENC_INIT
Value:
4U

GBL Tag Order encoding Init.


Definition at line 155 of file platform/bootloader/parser/gbl/btl_gbl_format.h

GBL_TAG_ORDER_APPLICATION#

#define GBL_TAG_ORDER_APPLICATION
Value:
5U

GBL Tag Order Application.


Definition at line 157 of file platform/bootloader/parser/gbl/btl_gbl_format.h

GBL_TAG_ORDER_SE_UPGRADE#

#define GBL_TAG_ORDER_SE_UPGRADE
Value:
6U

GBL Tag Order SE Upgarde.


Definition at line 167 of file platform/bootloader/parser/gbl/btl_gbl_format.h

GBL_TAG_ORDER_BOOTLOADER#

#define GBL_TAG_ORDER_BOOTLOADER
Value:
7U

GBL Tag Order Bootloader.


Definition at line 171 of file platform/bootloader/parser/gbl/btl_gbl_format.h

GBL_TAG_ORDER_PROG_AND_METADATA#

#define GBL_TAG_ORDER_PROG_AND_METADATA
Value:
8U

The Programming and Metadata tags share the same order.


Definition at line 173 of file platform/bootloader/parser/gbl/btl_gbl_format.h

GBL_TAG_ORDER_ENC_GBL_DATA#

#define GBL_TAG_ORDER_ENC_GBL_DATA
Value:
9U

GBL Tag Order Enc GBL Data.


Definition at line 175 of file platform/bootloader/parser/gbl/btl_gbl_format.h

GBL_TAG_ORDER_CERTIFICATE#

#define GBL_TAG_ORDER_CERTIFICATE
Value:
10U

GBL Tag Order Certificate.


Definition at line 177 of file platform/bootloader/parser/gbl/btl_gbl_format.h

GBL_TAG_ORDER_SIGNATURE#

#define GBL_TAG_ORDER_SIGNATURE
Value:
11U

GBL Tag Order Signature.


Definition at line 179 of file platform/bootloader/parser/gbl/btl_gbl_format.h

GBL_TAG_ORDER_END#

#define GBL_TAG_ORDER_END
Value:
12U

GBL_TAG_ORDER_END must always be strictly greater than any other tag order.


Definition at line 181 of file platform/bootloader/parser/gbl/btl_gbl_format.h

GBL_TAG_FLAG_SINGLE_OCCURRENCE_ONLY#

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

Flags.


Definition at line 184 of file platform/bootloader/parser/gbl/btl_gbl_format.h

GBL_TAG_FLAG_ALWAYS_UNENCRYPTED#

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

Flags.


Definition at line 186 of file platform/bootloader/parser/gbl/btl_gbl_format.h