AHABImage for mimx8ulp

Type: object

The chip family name

Type: enum (of string)

NXP chip family identifier.

Must be one of:

  • "mimx8ulp"
  • "mimx9131"
  • "mimx9352"
  • "mimx9596"
  • "mimxrt1181"
  • "mimxrt1182"
  • "mimxrt1187"
  • "mimxrt1189"
  • "mx8ulp"
  • "mx91"
  • "mx93"
  • "mx95"
  • "rt118x"

MCU revision

Type: enum (of string)

Revision of silicon. The 'latest' name, means most current revision.

Must be one of:

  • "a0"
  • "latest"

Type of image

Type: enum (of string)

[Deprecated] The final use of image, this setting is changing the style of offsets in final container.

Must be one of:

  • "xip"
  • "non_xip"
  • "serial_downloader"
  • "nand"

Target memory

Type: enum (of string)

Target memory for AHAB container

Must be one of:

  • "standard"
  • "nor"
  • "serial_downloader"
  • "nand_2k"
  • "nand_4k"

Output file name

Type: stringFormat: file_name

Output AHAB file name

Container version

Type: number

Force container version, if not specified the default version is used. This configuration option is valid only for chips that supports both AHAB container versions. Possible options <2, 1>

List of containers present in AHAB

Type: array

The order of containers in the list defines the order in AHAB.

Must contain a minimum of 1 items

No Additional Items

Each item of this array must be:


Type: object

Binary AHAB container

Type: object

Binary Container format to add to AHAB image, Typically it could be used to add ELE Firmware.

The AHAB container binary file

Type: string

The binary file that contains AHAB "mybinarycontainer.bin

Type: object

AHAB Container

Type: object

Configurable Container format to add to AHAB image. This allow to configure all aspects of the AHAB container.

If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.

Type: object

Type: const
Specific value: "none"
Type: object

The following properties are required:

  • srk_table
  • used_srk_id

Super Root Key (SRK) set

Type: enum (of string)

Defines which set is used to authenticate the container.

Must be one of:

  • "none"
  • "oem"
  • "nxp"

Used SRK

Type: number or stringFormat: number

Which key from SRK set is being used.

SRK revoke mask

Type: number or stringFormat: number

Bit-mask to indicate which SRKs to revoke. Bit set to 1 means revoke key. Bit 0 = revoke SRK0, bit 1 = revoke SRK1 etc. Example of revocation SRK0 and SRK1 - the value should be 0x03

GDET runtime behavior

Type: enum (of string)

This option defines runtime behavior of Glitch detector. Not supported by all devices and their ELE firmware.
- disabled: GDET is disabled after the first OEM container has been authenticated (default behavior)
- enabled_eleapi: Automatically enable GDET during all ELE API calls
- enabled: Leave GDET enabled

Must be one of:

  • "disabled"
  • "enabled_eleapi"
  • "enabled"

Check all signatures

Type: enum (of string)

This option overrides a fuse to select verification mode.
- default: Apply default fuse policy.
- checkallsignatures: Force verification of all present signatures.

Must be one of:

  • "default"
  • "check_all_signatures"

Fast boot

Type: enum (of string)

This option enables fast boot mode.
- enabled: Fast boot enabled.
- slicehash: Slice and hash mode.
- on
fly: On the fly hash.

Must be one of:

  • "enabled"
  • "slice_hash"
  • "on_fly"

Fuse version

Type: number or stringFormat: number

The value must be equal or greater than the version stored in fuses to allow loading this container.

Software version

Type: number or stringFormat: number

Number used by Privileged Host Boot Companion (PHBC) to select between multiple images with same Fuse version field.

AHAB container signing key

Type: stringFormat: file

Private key used for sign the container header. Header can be signed by SRK. The referenced SRK must not have been revoked.

Signature Provider

Type: string

Signature provider configuration in format 'type=<identifier>;<key1>=<value1>;<key2>=<value2>'. The signature provider could be used instead of definition of 'signing_key'.

AHAB container signing key for second signature (PQC only)

Type: stringFormat: file

Private key used for second sign (PQC only) of the container header. Header can be signed by SRK. The referenced SRK must not have been revoked.

Signature Provider for second signature (PQC)

Type: string

Signature provider configuration in format 'type=<identifier>;<key1>=<value1>;<key2>=<value2>'. The signature provider could be used instead of definition of 'signing_key'.

Image array

Type: array of object

Array of image entries.

Must contain a minimum of 1 items

Must contain a maximum of 8 items

No Additional Items

Each item of this array must be:

Type: object

General Image Entry

Image path

Type: stringFormat: file

Path to image binary (absolute/relative). In case that only Image Array entry without any data image is needed, Just do not use the image path. In case that the image size in container should be aligned differently then SPSDK do (4 bytes for ELE images, 1 byte otherwise), there is hidden option 'imagesizealignment' where could be override image size by any custom value.

Image size alignment.

Type: number

As a standard is use 1 byte in general and for ELE image 4 bytes.

Image offset in AHAB container

Type: number or stringFormat: number Default: 0

Offset in bytes from start of container header to beginning of the image. Zero value means automatic placing the image with proper alignment after previous one, this is recommended for serialdownloader mode. In case of XiP type of AHAB image, the loadaddress and entrypoint must correspond to this values. Example of setting of loadaddress - AHABIMAGEADDRESS+IMAGEOFFSET=LOADADDRESS. The Booting core images must be located after the other ones

Image destination address

Type: number or stringFormat: number

Address the image is written to in memory (absolute address in system memory).

Image entry point

Type: number or stringFormat: number

Image entry point (absolute address). Valid only for executable image types.

Image type

Type: enum (of string)

Kind of image.

Must be one of:

  • "executable"
  • "data"
  • "provisioning_image"
  • "dek_validation_fcb_chk"
  • "ele"

Core ID

Type: enum (of string)

Defines the core the image is dedicated for. Not all cores are supported for all families.

Must be one of:

  • "cortex-m33"
  • "cortex-a55"
  • "cortex-a53"
  • "ele"
  • "hdmi-tx"
  • "hdmi-rx"

Image encryption

Type: boolean

Determines, whether image is encrypted or not.

Boot flags

Type: number or string

Boot flags controlling SCFW boot.

Start CPU ID

Type: number or stringFormat: number

Resource ID of CPU to be started

CPU memory unit start ID

Type: number or stringFormat: number

Resource ID of the MU associated with the CPU

Start partition ID

Type: number or stringFormat: number

Partition ID of the partition to start

Images HASH type

Type: enum (of string)

HASH type of image.

Must be one of:

  • "sha256"
  • "sha384"
  • "sha512"
  • "sm3"

Size of gap

Type: number Default: 0

Size of empty gap just behind the image in AHAB container

SRK Table

Type: object

SRK (Super Root key) table definition.

CA Flag

Type: boolean

CA Flag is used by HAB to indicate if the SRK is allowed to sign other keys

Super Root Key (SRK) table

Type: array of string

Table containing the used SRK records. All SRKs must be of the same type. Supported signing algorithms are: RSA-PSS, ECDSA, Dilithium or SM2. Supported hash algorithms: sha256, sha384, sha512, sha3256, sha3384, sha3_512, sm3. Supported key sizes/curves: prime256v1, sec384r1, sec512r1, rsa2048, rsa4096, dilithium3, sm2. Certificate may be of Certificate Authority. Dilithium algorithms are supported just in new type of AHAB container

Must contain a minimum of 4 items

Must contain a maximum of 4 items

No Additional Items

Each item of this array must be:

SRK key

Type: stringFormat: file

Path to SRK Key file.

Second SRK Table

Type: object

CA Flag

Type: boolean

CA Flag is used by HAB to indicate if the SRK is allowed to sign other keys

Super Root Key (SRK) table

Type: array of string

Table containing the used SRK Dilithium records. All SRKs must be of the same type. Supported signing algorithms are: Dilithium level 3. Supported hash algorithms: sha3256, sha3384, sha3_512. Certificate may be of Certificate Authority.

Must contain a minimum of 4 items

Must contain a maximum of 4 items

No Additional Items

Each item of this array must be:

SRK key

Type: stringFormat: file

Path to SRK Key file.

Encryption blob

Type: object

Encryption blob container definition

Key identifier

Type: number or stringFormat: number

The key identifier that has been used to generate DEK keyblob.

DEK key size

Type: enum (of integer)Format: number

Data Encryption key size. Used for AES CBC-MAC (128/192/256 size)

Must be one of:

  • 128
  • 192
  • 256

DEK key

Type: string

Data Encryption key. Used for AES CBC-MAC (128/192/256 size). The HEX format is accepted

DEK keyblob

Type: string

Wrapped Data Encryption key. Used for AES CBC-MAC (128/192/256 size). The HEX format is accepted. If NOT used, the empty keyblob is inserted into container and need to be updated later.