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.