GBL FormatComponents > Image Parser > GBL Parser

Description

GBL file specification.

Specification of the GBL file format. Each struct represents a valid GBL tag, and an GBL file contains a series of tags.

Data Structures

struct  EblTagHeader_t
 GBL tag header. Must be the first element in all GBL tags.
 
struct  EblHeader_t
 GBL header tag type.
 
struct  EblApplication_t
 GBL application tag type.
 
struct  EblBootloader_t
 GBL bootloader tag type.
 
struct  EblSeUpgrade_t
 GBL SE upgrade tag type.
 
struct  EblMetadata_t
 GBL metadata tag type.
 
struct  EblProg_t
 GBL flash program tag type.
 
struct  EblEnd_t
 GBL end tag type.
 
struct  EblEncryptionHeader_t
 GBL encryption header tag type.
 
struct  EblEncryptionInitAesCcm_t
 GBL encryption init tag type. Used with AES-CCM encryption.
 
struct  EblEncryptionData_t
 GBL encryption data tag type.
 
struct  EblEncryptionAesCcmSignature_t
 GBL encryption AES-CCM MAC tag type.
 
struct  EblCertificateEcdsaP256_t
 GBL certificate chain for signing.
 
struct  EblSignatureEcdsaP256_t
 GBL ECDSA secp256r1 signature tag type.
 

Macros

#define EBL_IMAGE_MAGIC_WORD   0xE35050E3UL
 Magic word indicating GBL image.
 
#define EBL_COMPATIBILITY_MAJOR_VERSION   0x03000000UL
 Major version of the EBL spec.
 
#define EBLV2_COMPATIBILITY_MAJOR_VERSION   0x00000200UL
 Major version of the EBLV2 spec.
 
#define EBL_TAG_ID_HEADER_V3   0x03A617EBUL
 Tag ID for the GBL header tag.
 
#define EBL_TAG_ID_BOOTLOADER   0xF50909F5UL
 Tag ID for the GBL bootloader tag.
 
#define EBL_TAG_ID_APPLICATION   0xF40A0AF4UL
 Tag ID for the GBL application info tag.
 
#define EBL_TAG_ID_METADATA   0xF60808F6UL
 Tag ID for the GBL metadata tag.
 
#define EBL_TAG_ID_PROG   0xFE0101FEUL
 Tag ID for the GBL flash program tag.
 
#define EBL_TAG_ID_ERASEPROG   0xFD0303FDUL
 Tag ID for the GBL flash erase&program tag.
 
#define EBL_TAG_ID_END   0xFC0404FCUL
 Tag ID for the GBL end tag.
 
#define EBL_TAG_ID_SE_UPGRADE   0x5EA617EBUL
 Tag ID for the SE upgrade tag.
 
#define EBL_TAG_ID_ENC_HEADER   0xFB0505FBUL
 Tag ID for the GBL encryption header tag.
 
#define EBL_TAG_ID_ENC_INIT   0xFA0606FAUL
 Tag ID for the GBL encryption init tag.
 
#define EBL_TAG_ID_ENC_EBL_DATA   0xF90707F9UL
 Tag ID for the GBL encryption data tag.
 
#define EBL_TAG_ID_ENC_MAC   0xF70909F7UL
 Tag ID for the GBL encryption MAC tag.
 
#define EBL_TAG_ID_SIGNATURE_ECDSA_P256   0xF70A0AF7UL
 Tag ID for the GBL ECDSA secp256r1 signature tag.
 
#define EBL_TAG_ID_CERTIFICATE_ECDSA_P256   0xF30B0BF3UL
 Tag ID for the GBL ECDSA certfificate tag.
 
#define EBL_TYPE_NONE   0x00000000UL
 GBL type: Standard GBL.
 
#define EBL_TYPE_ENCRYPTION_AESCCM   0x00000001UL
 GBL type: AES-CCM encrypted GBL.
 
#define EBL_TYPE_SIGNATURE_ECDSA   0x00000100UL
 GBL type: ECDSA P256-signed GBL.