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.