GBL FormatComponents > Image Parser > GBL Parser

Description

Data Structures

struct GblTagHeader_t
GBL tag header. Must be the first element in all GBL tags.
struct GblHeader_t
GBL header tag type.
struct VersionDependency_t
GBL version dependency tag type.
struct GblApplication_t
GBL application tag type.
struct GblBootloader_t
GBL bootloader tag type.
struct GblSeUpgrade_t
GBL SE upgrade tag type.
struct GblMetadata_t
GBL metadata tag type.
struct GblProg_t
GBL flash program tag type.
struct GblEnd_t
GBL end tag type.
struct GblEncryptionInitAesCcm_t
GBL encryption init tag type. Used with AES-CCM encryption.
struct GblEncryptionData_t
GBL encryption data tag type.
struct GblCertificateEcdsaP256_t
GBL certificate chain for signing.
struct GblSignatureEcdsaP256_t
GBL ECDSA secp256r1 signature tag type.

Macros

#define GBL_IMAGE_MAGIC_WORD 0xE35050E3UL
Magic word indicating GBL image.
#define GBL_COMPATIBILITY_MAJOR_VERSION 0x03000000UL
Major version of the GBL spec.
#define GBL_TAG_ID_HEADER_V3 0x03A617EBUL
Tag ID for the GBL header tag.
#define GBL_TAG_ID_BOOTLOADER 0xF50909F5UL
Tag ID for the GBL bootloader tag.
#define GBL_TAG_ID_APPLICATION 0xF40A0AF4UL
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_ERASEPROG 0xFD0303FDUL
Tag ID for the GBL flash erase&program tag.
#define GBL_TAG_ID_END 0xFC0404FCUL
Tag ID for the GBL end tag.
#define GBL_TAG_ID_SE_UPGRADE 0x5EA617EBUL
Tag ID for the SE upgrade tag.
#define GBL_TAG_ID_VERSION_DEPENDENCY 0x76A617EBUL
Tag ID for the version dependency tag.
#define GBL_TAG_ID_ENC_HEADER 0xFB0505FBUL
Tag ID for the GBL encryption header tag.
#define GBL_TAG_ID_ENC_INIT 0xFA0606FAUL
Tag ID for the GBL encryption init tag.
#define GBL_TAG_ID_ENC_GBL_DATA 0xF90707F9UL
Tag ID for the GBL encryption data tag.
#define GBL_TAG_ID_SIGNATURE_ECDSA_P256 0xF70A0AF7UL
Tag ID for the GBL ECDSA secp256r1 signature tag.
#define GBL_TAG_ID_CERTIFICATE_ECDSA_P256 0xF30B0BF3UL
Tag ID for the GBL ECDSA certfificate tag.
#define GBL_TYPE_NONE 0x00000000UL
GBL type: Standard GBL.
#define GBL_TYPE_ENCRYPTION_AESCCM 0x00000001UL
GBL type: AES-CCM encrypted GBL.
#define GBL_TYPE_SIGNATURE_ECDSA 0x00000100UL
GBL type: ECDSA P256-signed GBL.
#define GBL_VERSION_DEPENDENCY_TYPE_APPLICATION 0x01U
Image Type : Application Image.
#define GBL_VERSION_DEPENDENCY_TYPE_BOOTLOADER 0x02U
Image Type : Bootloader Image.
#define GBL_VERSION_DEPENDENCY_TYPE_SE 0x03U
Image Type : Secure Engine Image.
#define GBL_VERSION_DEPENDENCY_OPERATOR_MASK 0x0FU
Operator encoding : Operator Mask.
#define GBL_VERSION_DEPENDENCY_OPERATOR_SHIFT 0x00U
Operator encoding : Operator Shift.
#define GBL_VERSION_DEPENDENCY_OPERATOR_TYPE_MASK 0x0EU
Operator encoding : Operator Type Mask.
#define GBL_VERSION_DEPENDENCY_OPERATOR_NEGATOR_BIT_MASK 0x01U
Operator encoding : Negator Bit mask.
#define GBL_VERSION_DEPENDENCY_OPERATOR_LT 0x00U
GBL Version Dependency Operator LT.
#define GBL_VERSION_DEPENDENCY_OPERATOR_LEQ 0x02U
GBL Version Dependency Operator LEQ.
#define GBL_VERSION_DEPENDENCY_OPERATOR_EQ 0x04U
GBL Version Dependency Operator EQ.
#define GBL_VERSION_DEPENDENCY_OPERATOR_GEQ 0x06U
GBL Version Dependency Operator GEQ.
#define GBL_VERSION_DEPENDENCY_OPERATOR_GT 0x08U
GBL Version Dependency Operator GT.
#define GBL_VERSION_DEPENDENCY_CONNECTIVE_MASK 0xF0U
Connective encoding : Connective Encoding Mask.
#define GBL_VERSION_DEPENDENCY_CONNECTIVE_SHIFT 0x04U
Connective encoding : Encoding Shift.
#define GBL_VERSION_DEPENDENCY_CONNECTIVE_TYPE_MASK 0x0EU
Connective encoding : Encoding Type Mask.
#define GBL_VERSION_DEPENDENCY_CONNECTIVE_NEGATOR_BIT_MASK 0x01U
Connective encoding : Negator Bit Mask.
#define GBL_VERSION_DEPENDENCY_CONNECTIVE_AND 0x00U
Connective AND Mask.
#define GBL_VERSION_DEPENDENCY_CONNECTIVE_OR 0x02U
Connective OR Mask.
#define GBL_VERSION_DEPENDENCY_SE_VERSION_MASK 0x00FFFFFFUL
SE version mask for ignoring the compatibility byte when comparing versions.