User Guide - nxpimage#

This user guide describes how to use nxpimage application. nxpimage is a tool for generating TrustZone, Master Boot Image and Secure Binary images. This tool is used to create various kind of NXP images.

Refer to the Executable Images, Secure update, Bootable Image for more information.

Command line interface#

nxpimage#

NXP Image tool.

Manage various kinds of images for NXP parts.

Usage

nxpimage [OPTIONS] COMMAND [ARGS]...

Options

-v, --verbose#

Print more detailed information

-vv, --debug#

Display more debugging information.

--version#

Show the version and exit.

--help#

Show this message and exit.

ahab#

Group of sub-commands related to AHAB.

Usage

nxpimage ahab [OPTIONS] COMMAND [ARGS]...
certificate#

Group of sub-commands related to AHAB certificate blob.

Usage

nxpimage ahab certificate [OPTIONS] COMMAND [ARGS]...
export#

Generate AHAB Certificate Blob from YAML/JSON configuration.

The configuration template files could be generated by subcommand ‘get-template’.

Usage

nxpimage ahab certificate export [OPTIONS]

Options

-c, --config <config>#

Required Path to the YAML/JSON configuration file.

-oc, --override-config <key_path=value>#

Allows override the individual configuration settings. The use is simple: ‘key_path=value’, like ‘family=mimxrt595s’ or in structural configuration with separating character ‘/’ like ‘containers/0/binary_container=my_container.bin’. It could be used multiple times.

-o, --output <output>#

Path to a file, where to store the output.

get-families#

Shows the full family info for commands in this group.

Usage

nxpimage ahab certificate get-families [OPTIONS]

Options

-c, --cmd-name <cmd_name>#

Choose the command name to get full information about NXP families support.

Options:

get-template | parse | verify

get-template#

Create template of configuration in YAML format.

Usage

nxpimage ahab certificate get-template [OPTIONS]

Options

-f, --family <family>#

[required] Select the chip family.

Options:

mcxn556s | mcxn557s | mimx943 | mimx95294 | mimx9596

-r, --revision <revision>#

Chip revision; if not specified, most recent one will be used

-o, --output <output>#

Required Path to a file, where to store the output.

--force#

Force overwriting of existing files.

parse#

Parse AHAB Certificate Blob.

Usage

nxpimage ahab certificate parse [OPTIONS]

Options

-f, --family <family>#

[required] Select the chip family.

Options:

mcxn556s | mcxn557s | mimx943 | mimx95294 | mimx9596

-r, --revision <revision>#

Chip revision; if not specified, most recent one will be used

-b, --binary <binary>#

Required Path to binary AHAB Certificate blob image to parse.

-s, --srk_set <srk_set>#

SRK set that has been used for certificate.

Options:

oem | nxp

-o, --output <output>#

Required Path to a directory, where to store generated/parsed files.

verify#

Verify AHAB Certificate.

Usage

nxpimage ahab certificate verify [OPTIONS]

Options

-f, --family <family>#

[required] Select the chip family.

Options:

mcxn556s | mcxn557s | mimx943 | mimx95294 | mimx9596

-r, --revision <revision>#

Chip revision; if not specified, most recent one will be used

-b, --binary <binary>#

Required Path to binary AHAB certificate to verify.

-p, --problems#

Show just problems in image.

export#

Generate AHAB Image from YAML/JSON configuration.

The configuration template files could be generated by subcommand ‘get-template’.

Usage

nxpimage ahab export [OPTIONS]

Options

-c, --config <config>#

Required Path to the YAML/JSON configuration file.

-oc, --override-config <key_path=value>#

Allows override the individual configuration settings. The use is simple: ‘key_path=value’, like ‘family=mimxrt595s’ or in structural configuration with separating character ‘/’ like ‘containers/0/binary_container=my_container.bin’. It could be used multiple times.

fix-signature-block-version#

Fix signature block version in AHAB v2 signature blocks.

imx-mkimage is known to create incorrect signature block versions, so this method corrects the version to match the expected AHAB v2 signature block version. (1)

Usage

nxpimage ahab fix-signature-block-version [OPTIONS]

Options

-f, --family <family>#

[required] Select the chip family.

Options:

mimx8dxl | mimx8qm | mimx8qxp | mimx8ulp | mimx9131 | mimx9352 | mimx943 | mimx95294 | mimx9596 | mimxrt1181 | mimxrt1182 | mimxrt1186 | mimxrt1187 | mimxrt1189

-r, --revision <revision>#

Chip revision; if not specified, most recent one will be used

-b, --binary <binary>#

Required Path to binary AHAB image to fix.

-o, --output <output>#

Required Path to a file, where to store the output.

--force#

Force overwriting of existing files.

get-families#

Shows the full family info for commands in this group.

Usage

nxpimage ahab get-families [OPTIONS]

Options

-c, --cmd-name <cmd_name>#

Choose the command name to get full information about NXP families support.

Options:

parse | update-keyblob | get-template | verify | re-sign | fix-signature-block-version

get-template#

Create template of configuration in YAML format.

The template file name is specified as argument of this command.

Usage

nxpimage ahab get-template [OPTIONS]

Options

-f, --family <family>#

[required] Select the chip family.

Options:

mimx8dxl | mimx8qm | mimx8qxp | mimx8ulp | mimx9131 | mimx9352 | mimx943 | mimx95294 | mimx9596 | mimxrt1181 | mimxrt1182 | mimxrt1186 | mimxrt1187 | mimxrt1189

-r, --revision <revision>#

Chip revision; if not specified, most recent one will be used

-o, --output <output>#

Required Path to a file, where to store the output.

--force#

Force overwriting of existing files.

-s, --sign#

Get template just for signing (encryption). To be used with ahab sign command.

parse#

Parse AHAB Image into YAML configuration and binary images.

Usage

nxpimage ahab parse [OPTIONS]

Options

-f, --family <family>#

[required] Select the chip family.

Options:

mimx8dxl | mimx8qm | mimx8qxp | mimx8ulp | mimx9131 | mimx9352 | mimx943 | mimx95294 | mimx9596 | mimxrt1181 | mimxrt1182 | mimxrt1186 | mimxrt1187 | mimxrt1189

-r, --revision <revision>#

Chip revision; if not specified, most recent one will be used

-o, --output <output>#

Required Path to a directory, where to store generated/parsed files.

-b, --binary <binary>#

Required Path to binary AHAB image to parse.

-k, --dek <dek>#

Data encryption key, if it’s specified, the parse method tries decrypt all encrypted images. It could be specified as binary/HEX text file path or directly HEX string

re-sign#

Re-sign the container in AHAB image.

Usage

nxpimage ahab re-sign [OPTIONS]

Options

-f, --family <family>#

[required] Select the chip family.

Options:

mimx8dxl | mimx8qm | mimx8qxp | mimx8ulp | mimx9131 | mimx9352 | mimx943 | mimx95294 | mimx9596 | mimxrt1181 | mimxrt1182 | mimxrt1186 | mimxrt1187 | mimxrt1189

-r, --revision <revision>#

Chip revision; if not specified, most recent one will be used

-b, --binary <binary>#

Required Path to binary AHAB image to update.

-k, --pkey <pkey>#

Required Path to private key or signature provider configuration used for signing.

-k1, --pkey-1 <pkey_1>#

Path to private key or signature provider configuration used for signing second signature if it’s used.

-i, --container-id <container_id>#

Required ID of the container where the keyblob will be replaced.

-j, --image-id <image_id>#

ID of the AHAB image where the container is located, where the sign will be updated. The default value is first image (0).

-m, --mem-type <mem_type>#

Select memory type. Only applicable for bootable images (image containing FCB or XMCD segments). Do not use for raw AHAB image

Options:

flexspi_nor | serial_downloader | emmc | sd | recovery_spi_sb31 | semc_nor | emmc_boot | recovery_spi_mbi | recovery_spi | xspi_nor | recovery_spi_sb21 | flexspi_nand | internal | mmc | recovery_spi_hab | semc_nand

sign#

Sign all non-NXP AHAB containers and optionally encrypt them.

Usage

nxpimage ahab sign [OPTIONS]

Options

-c, --config <config>#

Required Path to YAML/JSON configuration file for signing. Use ‘nxpimage ahab get-template -s’ to generate a signing template.

-oc, --override-config <key_path=value>#

Allows override the individual configuration settings. The use is simple: ‘key_path=value’, like ‘family=mimxrt595s’ or in structural configuration with separating character ‘/’ like ‘containers/0/binary_container=my_container.bin’. It could be used multiple times.

-o, --output <output>#

Required Path to a file, where to store the output.

--force#

Force overwriting of existing files.

-b, --binary <binary>#

Required Path to binary AHAB image to sign and optionally encrypt.

-m, --mem-type <mem_type>#

Select memory type.

Options:

flexspi_nor | serial_downloader | emmc | sd | recovery_spi_sb31 | semc_nor | emmc_boot | recovery_spi_mbi | recovery_spi | xspi_nor | recovery_spi_sb21 | flexspi_nand | internal | mmc | recovery_spi_hab | semc_nand

-fs, --fuse-scripts <fuse_scripts>#

Directory path where fuse script files will be exported.

-j, --image-id <image_id>#

ID of the AHAB image, in case of multiple AHAB image binaries. The default value is first image (0).

update-keyblob#

Update keyblob in AHAB image container.

Usage

nxpimage ahab update-keyblob [OPTIONS]

Options

-f, --family <family>#

[required] Select the chip family.

Options:

mimx8dxl | mimx8qm | mimx8qxp | mimx8ulp | mimx9131 | mimx9352 | mimx943 | mimx95294 | mimx9596 | mimxrt1181 | mimxrt1182 | mimxrt1186 | mimxrt1187 | mimxrt1189

-r, --revision <revision>#

Chip revision; if not specified, most recent one will be used

-b, --binary <binary>#

Required Path to AHAB image to update.

-k, --keyblob <keyblob>#

Required Path to keyblob that will be inserted into AHAB Image

-i, --container-id <container_id>#

Required ID of the container where the keyblob will be replaced.

-m, --mem-type <mem_type>#

Select memory type. Only applicable for bootable images (image containing FCB or XMCD segments). Do not use for raw AHAB image

Options:

flexspi_nor | serial_downloader | emmc | sd | recovery_spi_sb31 | semc_nor | emmc_boot | recovery_spi_mbi | recovery_spi | xspi_nor | recovery_spi_sb21 | flexspi_nand | internal | mmc | recovery_spi_hab | semc_nand

-j, --image-id <image_id>#

ID of the AHAB image where the container is located, where the keyblob will be replaced. The default value is first image (0).

verify#

Verify AHAB Image.

Usage

nxpimage ahab verify [OPTIONS]

Options

-f, --family <family>#

[required] Select the chip family.

Options:

mimx8dxl | mimx8qm | mimx8qxp | mimx8ulp | mimx9131 | mimx9352 | mimx943 | mimx95294 | mimx9596 | mimxrt1181 | mimxrt1182 | mimxrt1186 | mimxrt1187 | mimxrt1189

-r, --revision <revision>#

Chip revision; if not specified, most recent one will be used

-b, --binary <binary>#

Required Path to binary AHAB image to parse.

-p, --problems#

Show just problems in image.

-k, --dek <dek>#

Data encryption key, if it’s specified, the parse method tries decrypt all encrypted images. It could be specified as binary/HEX text file path or directly HEX string

bca#

Group of sub-commands related to BCA block.

Usage

nxpimage bca [OPTIONS] COMMAND [ARGS]...
export#

Generate BCA from YAML/JSON configuration.

The configuration template files could be generated by subcommand ‘get-template’.

Usage

nxpimage bca export [OPTIONS]

Options

-c, --config <config>#

Required Path to the YAML/JSON configuration file.

-oc, --override-config <key_path=value>#

Allows override the individual configuration settings. The use is simple: ‘key_path=value’, like ‘family=mimxrt595s’ or in structural configuration with separating character ‘/’ like ‘containers/0/binary_container=my_container.bin’. It could be used multiple times.

-o, --output <output>#

Required Path to a file, where to store the output.

get-families#

Shows the full family info for commands in this group.

Usage

nxpimage bca get-families [OPTIONS]

Options

-c, --cmd-name <cmd_name>#

Choose the command name to get full information about NXP families support.

Options:

get-template | parse

get-template#

Create template of configuration in YAML format.

Usage

nxpimage bca get-template [OPTIONS]

Options

-f, --family <family>#

[required] Select the chip family.

Options:

mc56f81646 | mc56f81648 | mc56f81666 | mc56f81668 | mc56f81746 | mc56f81748 | mc56f81766 | mc56f81768 | mc56f81866 | mc56f81868 | mcxc041 | mcxc141 | mcxc142 | mcxc143 | mcxc144 | mcxc242 | mcxc243 | mcxc244 | mcxc443 | mcxc444 | mwct2012 | mwct2012a | mwct20d2 | mwct20d2a

-r, --revision <revision>#

Chip revision; if not specified, most recent one will be used

-o, --output <output>#

Required Path to a file, where to store the output.

--force#

Force overwriting of existing files.

parse#

Parse BCA.

Usage

nxpimage bca parse [OPTIONS]

Options

-b, --binary <binary>#

Required Path to binary BCA to parse.

-f, --family <family>#

[required] Select the chip family.

Options:

mc56f81646 | mc56f81648 | mc56f81666 | mc56f81668 | mc56f81746 | mc56f81748 | mc56f81766 | mc56f81768 | mc56f81866 | mc56f81868 | mcxc041 | mcxc141 | mcxc142 | mcxc143 | mcxc144 | mcxc242 | mcxc243 | mcxc244 | mcxc443 | mcxc444 | mwct2012 | mwct2012a | mwct20d2 | mwct20d2a

-r, --revision <revision>#

Chip revision; if not specified, most recent one will be used

-o, --output <output>#

Required Path to a file, where to store the output.

bee#

Group of sub-commands related to BEE.

Usage

nxpimage bee [OPTIONS] COMMAND [ARGS]...
export#

Generate BEE Images from YAML/JSON configuration.

The configuration template files could be generated by subcommand ‘get-template’.

Usage

nxpimage bee export [OPTIONS]

Options

-c, --config <config>#

Required Path to the YAML/JSON configuration file.

-oc, --override-config <key_path=value>#

Allows override the individual configuration settings. The use is simple: ‘key_path=value’, like ‘family=mimxrt595s’ or in structural configuration with separating character ‘/’ like ‘containers/0/binary_container=my_container.bin’. It could be used multiple times.

get-families#

Shows the full family info for commands in this group.

Usage

nxpimage bee get-families [OPTIONS]

Options

-c, --cmd-name <cmd_name>#

Choose the command name to get full information about NXP families support.

Options:

get-template

get-template#

Create template of configuration in YAML format.

The template file name is specified as argument of this command.

Usage

nxpimage bee get-template [OPTIONS]

Options

-f, --family <family>#

[required] Select the chip family.

Options:

mimxrt1015 | mimxrt1020 | mimxrt1024 | mimxrt1040 | mimxrt1043 | mimxrt1046 | mimxrt1050 | mimxrt1060 | mimxrt1064

-r, --revision <revision>#

Chip revision; if not specified, most recent one will be used

-o, --output <output>#

Required Path to a file, where to store the output.

--force#

Force overwriting of existing files.

bootable-image#

Group of bootable image utilities.

Usage

nxpimage bootable-image [OPTIONS] COMMAND [ARGS]...
export#

Export merged boot image blocks into one bootable image.

The configuration template files could be generated by subcommand ‘get-templates’.

Usage

nxpimage bootable-image export [OPTIONS]

Options

-c, --config <config>#

Required Path to the YAML/JSON configuration file.

-oc, --override-config <key_path=value>#

Allows override the individual configuration settings. The use is simple: ‘key_path=value’, like ‘family=mimxrt595s’ or in structural configuration with separating character ‘/’ like ‘containers/0/binary_container=my_container.bin’. It could be used multiple times.

fcb#

FCB (Flash Configuration Block) utilities.

Usage

nxpimage bootable-image fcb [OPTIONS] COMMAND [ARGS]...
export#

Export FCB Image from YAML/JSON configuration.

The configuration template files could be generated by subcommand ‘get-templates’.

Usage

nxpimage bootable-image fcb export [OPTIONS]

Options

-c, --config <config>#

Required Path to the YAML/JSON configuration file.

-oc, --override-config <key_path=value>#

Allows override the individual configuration settings. The use is simple: ‘key_path=value’, like ‘family=mimxrt595s’ or in structural configuration with separating character ‘/’ like ‘containers/0/binary_container=my_container.bin’. It could be used multiple times.

-o, --output <output>#

Required Path to a file, where to store the output.

get-families#

Shows the full family info for commands in this group.

Usage

nxpimage bootable-image fcb get-families [OPTIONS]

Options

-c, --cmd-name <cmd_name>#

Choose the command name to get full information about NXP families support.

Options:

parse | get-templates

get-templates#

Create template of configurations in YAML format for all memory types.

The template files folder name is specified as argument of this command.

Usage

nxpimage bootable-image fcb get-templates [OPTIONS]

Options

-f, --family <family>#

[required] Select the chip family.

Options:

lpc5534 | lpc5536 | lpc55s36 | mcxn247 | mcxn526 | mcxn527 | mcxn536 | mcxn537 | mcxn546 | mcxn547 | mcxn946 | mcxn947 | mimx95294 | mimx9596 | mimxrt1010 | mimxrt1015 | mimxrt1020 | mimxrt1024 | mimxrt1040 | mimxrt1043 | mimxrt1046 | mimxrt1050 | mimxrt1060 | mimxrt1064 | mimxrt1165 | mimxrt1166 | mimxrt1171 | mimxrt1172 | mimxrt1173 | mimxrt1175 | mimxrt1176 | mimxrt1181 | mimxrt1182 | mimxrt1186 | mimxrt1187 | mimxrt1189 | mimxrt533s | mimxrt555s | mimxrt595s | mimxrt685s | mimxrt735s | mimxrt758s | mimxrt798s | rw610 | rw612

-r, --revision <revision>#

Chip revision; if not specified, most recent one will be used

-o, --output <output>#

Required Path to a directory, where to store generated/parsed files.

--force#

Force overwriting of existing files.

parse#

Parse FCB Image into YAML configuration.

Usage

nxpimage bootable-image fcb parse [OPTIONS]

Options

-f, --family <family>#

[required] Select the chip family.

Options:

lpc5534 | lpc5536 | lpc55s36 | mcxn247 | mcxn526 | mcxn527 | mcxn536 | mcxn537 | mcxn546 | mcxn547 | mcxn946 | mcxn947 | mimx95294 | mimx9596 | mimxrt1010 | mimxrt1015 | mimxrt1020 | mimxrt1024 | mimxrt1040 | mimxrt1043 | mimxrt1046 | mimxrt1050 | mimxrt1060 | mimxrt1064 | mimxrt1165 | mimxrt1166 | mimxrt1171 | mimxrt1172 | mimxrt1173 | mimxrt1175 | mimxrt1176 | mimxrt1181 | mimxrt1182 | mimxrt1186 | mimxrt1187 | mimxrt1189 | mimxrt533s | mimxrt555s | mimxrt595s | mimxrt685s | mimxrt735s | mimxrt758s | mimxrt798s | rw610 | rw612

-r, --revision <revision>#

Chip revision; if not specified, most recent one will be used

-m, --mem-type <mem_type>#

Select the chip used memory type.

Options:

flexspi_nor | xspi_nor

-b, --binary <binary>#

Required Path to binary FCB image to parse.

-o, --output <output>#

Required Path to a file, where to store the output.

get-families#

Shows the full family info for commands in this group.

Usage

nxpimage bootable-image get-families [OPTIONS]

Options

-c, --cmd-name <cmd_name>#

Choose the command name to get full information about NXP families support.

Options:

parse | get-templates | list-boards | list-templates | verify

get-templates#

Create template of configurations in YAML format.

If –template is specified, generates a specific template structure.

If –template is not specified, generates: - Standard templates for all memory types (legacy behavior) - All extra templates in sub folders, with board-specific variants

The template files folder name is specified as argument of this command.

Usage

nxpimage bootable-image get-templates [OPTIONS]

Options

-f, --family <family>#

[required] Select the chip family.

Options:

k32w148 | kw45b41z5 | kw45b41z8 | kw45z41052 | kw45z41053 | kw45z41082 | kw45z41083 | kw47b42z83 | kw47b42z96 | kw47b42z97 | kw47b42zb2 | kw47b42zb3 | kw47b42zb6 | kw47b42zb7 | kw47z42082 | kw47z42092 | kw47z420b2 | kw47z420b3 | lpc5502 | lpc5504 | lpc5506 | lpc5512 | lpc5514 | lpc5516 | lpc5526 | lpc5528 | lpc5534 | lpc5536 | lpc55s04 | lpc55s06 | lpc55s14 | lpc55s16 | lpc55s26 | lpc55s28 | lpc55s36 | lpc55s66 | lpc55s69 | mc56f81646 | mc56f81648 | mc56f81666 | mc56f81668 | mc56f81746 | mc56f81748 | mc56f81766 | mc56f81768 | mcxa132 | mcxa133 | mcxa142 | mcxa143 | mcxa144 | mcxa145 | mcxa146 | mcxa152 | mcxa153 | mcxa154 | mcxa155 | mcxa156 | mcxa173 | mcxa174 | mcxa175 | mcxa176 | mcxa185 | mcxa186 | mcxa255 | mcxa256 | mcxa265 | mcxa266 | mcxa343 | mcxa344 | mcxa345 | mcxa346 | mcxa355 | mcxa356 | mcxa365 | mcxa366 | mcxl253 | mcxl254 | mcxl255 | mcxn235 | mcxn236 | mcxn247 | mcxn526 | mcxn527 | mcxn536 | mcxn537 | mcxn546 | mcxn547 | mcxn556s | mcxn557s | mcxn946 | mcxn947 | mcxw235 | mcxw236 | mcxw716a | mcxw716c | mcxw727a | mcxw727c | mcxw727d | mimx8dxl | mimx8qm | mimx8qxp | mimx8ulp | mimx9131 | mimx9352 | mimx943 | mimx95294 | mimx9596 | mimxrt1010 | mimxrt1015 | mimxrt1020 | mimxrt1024 | mimxrt1040 | mimxrt1043 | mimxrt1046 | mimxrt1050 | mimxrt1060 | mimxrt1064 | mimxrt1165 | mimxrt1166 | mimxrt1171 | mimxrt1172 | mimxrt1173 | mimxrt1175 | mimxrt1176 | mimxrt1181 | mimxrt1182 | mimxrt1186 | mimxrt1187 | mimxrt1189 | mimxrt533s | mimxrt555s | mimxrt595s | mimxrt685s | mimxrt735s | mimxrt758s | mimxrt798s | mwct2012 | mwct2012a | nhs52s04 | rw610 | rw612

-r, --revision <revision>#

Chip revision; if not specified, most recent one will be used

-o, --output <output>#

Required Path to a directory, where to store generated/parsed files.

--force#

Force overwriting of existing files.

-t, --template <template>#

Specific template name (e.g., imx_boot_flash_all). If not specified, generates all memory type templates plus all extra templates.

-b, --board <board>#

Board name to use board-specific filenames (e.g., imx95-19x19-lpddr5-evk). Use ‘list-boards’ command to see available boards. If not specified with –template, generates templates for all boards.

-i, --input-dir <input_dir>#

Input directory path to prepend to image filenames in generated configs. Directory will be created if it doesn’t exist.

list-boards#

List available boards for a family.

Usage

nxpimage bootable-image list-boards [OPTIONS]

Options

-f, --family <family>#

[required] Select the chip family.

Options:

k32w148 | kw45b41z5 | kw45b41z8 | kw45z41052 | kw45z41053 | kw45z41082 | kw45z41083 | kw47b42z83 | kw47b42z96 | kw47b42z97 | kw47b42zb2 | kw47b42zb3 | kw47b42zb6 | kw47b42zb7 | kw47z42082 | kw47z42092 | kw47z420b2 | kw47z420b3 | lpc5502 | lpc5504 | lpc5506 | lpc5512 | lpc5514 | lpc5516 | lpc5526 | lpc5528 | lpc5534 | lpc5536 | lpc55s04 | lpc55s06 | lpc55s14 | lpc55s16 | lpc55s26 | lpc55s28 | lpc55s36 | lpc55s66 | lpc55s69 | mc56f81646 | mc56f81648 | mc56f81666 | mc56f81668 | mc56f81746 | mc56f81748 | mc56f81766 | mc56f81768 | mcxa132 | mcxa133 | mcxa142 | mcxa143 | mcxa144 | mcxa145 | mcxa146 | mcxa152 | mcxa153 | mcxa154 | mcxa155 | mcxa156 | mcxa173 | mcxa174 | mcxa175 | mcxa176 | mcxa185 | mcxa186 | mcxa255 | mcxa256 | mcxa265 | mcxa266 | mcxa343 | mcxa344 | mcxa345 | mcxa346 | mcxa355 | mcxa356 | mcxa365 | mcxa366 | mcxl253 | mcxl254 | mcxl255 | mcxn235 | mcxn236 | mcxn247 | mcxn526 | mcxn527 | mcxn536 | mcxn537 | mcxn546 | mcxn547 | mcxn556s | mcxn557s | mcxn946 | mcxn947 | mcxw235 | mcxw236 | mcxw716a | mcxw716c | mcxw727a | mcxw727c | mcxw727d | mimx8dxl | mimx8qm | mimx8qxp | mimx8ulp | mimx9131 | mimx9352 | mimx943 | mimx95294 | mimx9596 | mimxrt1010 | mimxrt1015 | mimxrt1020 | mimxrt1024 | mimxrt1040 | mimxrt1043 | mimxrt1046 | mimxrt1050 | mimxrt1060 | mimxrt1064 | mimxrt1165 | mimxrt1166 | mimxrt1171 | mimxrt1172 | mimxrt1173 | mimxrt1175 | mimxrt1176 | mimxrt1181 | mimxrt1182 | mimxrt1186 | mimxrt1187 | mimxrt1189 | mimxrt533s | mimxrt555s | mimxrt595s | mimxrt685s | mimxrt735s | mimxrt758s | mimxrt798s | mwct2012 | mwct2012a | nhs52s04 | rw610 | rw612

list-templates#

List available bootable image templates for a family.

Usage

nxpimage bootable-image list-templates [OPTIONS]

Options

-f, --family <family>#

[required] Select the chip family.

Options:

k32w148 | kw45b41z5 | kw45b41z8 | kw45z41052 | kw45z41053 | kw45z41082 | kw45z41083 | kw47b42z83 | kw47b42z96 | kw47b42z97 | kw47b42zb2 | kw47b42zb3 | kw47b42zb6 | kw47b42zb7 | kw47z42082 | kw47z42092 | kw47z420b2 | kw47z420b3 | lpc5502 | lpc5504 | lpc5506 | lpc5512 | lpc5514 | lpc5516 | lpc5526 | lpc5528 | lpc5534 | lpc5536 | lpc55s04 | lpc55s06 | lpc55s14 | lpc55s16 | lpc55s26 | lpc55s28 | lpc55s36 | lpc55s66 | lpc55s69 | mc56f81646 | mc56f81648 | mc56f81666 | mc56f81668 | mc56f81746 | mc56f81748 | mc56f81766 | mc56f81768 | mcxa132 | mcxa133 | mcxa142 | mcxa143 | mcxa144 | mcxa145 | mcxa146 | mcxa152 | mcxa153 | mcxa154 | mcxa155 | mcxa156 | mcxa173 | mcxa174 | mcxa175 | mcxa176 | mcxa185 | mcxa186 | mcxa255 | mcxa256 | mcxa265 | mcxa266 | mcxa343 | mcxa344 | mcxa345 | mcxa346 | mcxa355 | mcxa356 | mcxa365 | mcxa366 | mcxl253 | mcxl254 | mcxl255 | mcxn235 | mcxn236 | mcxn247 | mcxn526 | mcxn527 | mcxn536 | mcxn537 | mcxn546 | mcxn547 | mcxn556s | mcxn557s | mcxn946 | mcxn947 | mcxw235 | mcxw236 | mcxw716a | mcxw716c | mcxw727a | mcxw727c | mcxw727d | mimx8dxl | mimx8qm | mimx8qxp | mimx8ulp | mimx9131 | mimx9352 | mimx943 | mimx95294 | mimx9596 | mimxrt1010 | mimxrt1015 | mimxrt1020 | mimxrt1024 | mimxrt1040 | mimxrt1043 | mimxrt1046 | mimxrt1050 | mimxrt1060 | mimxrt1064 | mimxrt1165 | mimxrt1166 | mimxrt1171 | mimxrt1172 | mimxrt1173 | mimxrt1175 | mimxrt1176 | mimxrt1181 | mimxrt1182 | mimxrt1186 | mimxrt1187 | mimxrt1189 | mimxrt533s | mimxrt555s | mimxrt595s | mimxrt685s | mimxrt735s | mimxrt758s | mimxrt798s | mwct2012 | mwct2012a | nhs52s04 | rw610 | rw612

parse#

Parse Bootable Image into YAML configuration and binary images.

Usage

nxpimage bootable-image parse [OPTIONS]

Options

-f, --family <family>#

[required] Select the chip family.

Options:

k32w148 | kw45b41z5 | kw45b41z8 | kw45z41052 | kw45z41053 | kw45z41082 | kw45z41083 | kw47b42z83 | kw47b42z96 | kw47b42z97 | kw47b42zb2 | kw47b42zb3 | kw47b42zb6 | kw47b42zb7 | kw47z42082 | kw47z42092 | kw47z420b2 | kw47z420b3 | lpc5502 | lpc5504 | lpc5506 | lpc5512 | lpc5514 | lpc5516 | lpc5526 | lpc5528 | lpc5534 | lpc5536 | lpc55s04 | lpc55s06 | lpc55s14 | lpc55s16 | lpc55s26 | lpc55s28 | lpc55s36 | lpc55s66 | lpc55s69 | mc56f81646 | mc56f81648 | mc56f81666 | mc56f81668 | mc56f81746 | mc56f81748 | mc56f81766 | mc56f81768 | mcxa132 | mcxa133 | mcxa142 | mcxa143 | mcxa144 | mcxa145 | mcxa146 | mcxa152 | mcxa153 | mcxa154 | mcxa155 | mcxa156 | mcxa173 | mcxa174 | mcxa175 | mcxa176 | mcxa185 | mcxa186 | mcxa255 | mcxa256 | mcxa265 | mcxa266 | mcxa343 | mcxa344 | mcxa345 | mcxa346 | mcxa355 | mcxa356 | mcxa365 | mcxa366 | mcxl253 | mcxl254 | mcxl255 | mcxn235 | mcxn236 | mcxn247 | mcxn526 | mcxn527 | mcxn536 | mcxn537 | mcxn546 | mcxn547 | mcxn556s | mcxn557s | mcxn946 | mcxn947 | mcxw235 | mcxw236 | mcxw716a | mcxw716c | mcxw727a | mcxw727c | mcxw727d | mimx8dxl | mimx8qm | mimx8qxp | mimx8ulp | mimx9131 | mimx9352 | mimx943 | mimx95294 | mimx9596 | mimxrt1010 | mimxrt1015 | mimxrt1020 | mimxrt1024 | mimxrt1040 | mimxrt1043 | mimxrt1046 | mimxrt1050 | mimxrt1060 | mimxrt1064 | mimxrt1165 | mimxrt1166 | mimxrt1171 | mimxrt1172 | mimxrt1173 | mimxrt1175 | mimxrt1176 | mimxrt1181 | mimxrt1182 | mimxrt1186 | mimxrt1187 | mimxrt1189 | mimxrt533s | mimxrt555s | mimxrt595s | mimxrt685s | mimxrt735s | mimxrt758s | mimxrt798s | mwct2012 | mwct2012a | nhs52s04 | rw610 | rw612

-r, --revision <revision>#

Chip revision; if not specified, most recent one will be used

-m, --mem-type <mem_type>#

Select the chip used memory type.

Options:

flexspi_nor | serial_downloader | emmc | sd | recovery_spi_sb31 | semc_nor | emmc_boot | recovery_spi_mbi | recovery_spi | xspi_nor | recovery_spi_sb21 | flexspi_nand | internal | mmc | recovery_spi_hab | semc_nand

-b, --binary <binary>#

Required Path to binary Bootable image to parse.

-o, --output <output>#

Required Path to a directory, where to store generated/parsed files.

verify#

Verify Bootable Image.

Usage

nxpimage bootable-image verify [OPTIONS]

Options

-f, --family <family>#

[required] Select the chip family.

Options:

k32w148 | kw45b41z5 | kw45b41z8 | kw45z41052 | kw45z41053 | kw45z41082 | kw45z41083 | kw47b42z83 | kw47b42z96 | kw47b42z97 | kw47b42zb2 | kw47b42zb3 | kw47b42zb6 | kw47b42zb7 | kw47z42082 | kw47z42092 | kw47z420b2 | kw47z420b3 | lpc5502 | lpc5504 | lpc5506 | lpc5512 | lpc5514 | lpc5516 | lpc5526 | lpc5528 | lpc5534 | lpc5536 | lpc55s04 | lpc55s06 | lpc55s14 | lpc55s16 | lpc55s26 | lpc55s28 | lpc55s36 | lpc55s66 | lpc55s69 | mc56f81646 | mc56f81648 | mc56f81666 | mc56f81668 | mc56f81746 | mc56f81748 | mc56f81766 | mc56f81768 | mcxa132 | mcxa133 | mcxa142 | mcxa143 | mcxa144 | mcxa145 | mcxa146 | mcxa152 | mcxa153 | mcxa154 | mcxa155 | mcxa156 | mcxa173 | mcxa174 | mcxa175 | mcxa176 | mcxa185 | mcxa186 | mcxa255 | mcxa256 | mcxa265 | mcxa266 | mcxa343 | mcxa344 | mcxa345 | mcxa346 | mcxa355 | mcxa356 | mcxa365 | mcxa366 | mcxl253 | mcxl254 | mcxl255 | mcxn235 | mcxn236 | mcxn247 | mcxn526 | mcxn527 | mcxn536 | mcxn537 | mcxn546 | mcxn547 | mcxn556s | mcxn557s | mcxn946 | mcxn947 | mcxw235 | mcxw236 | mcxw716a | mcxw716c | mcxw727a | mcxw727c | mcxw727d | mimx8dxl | mimx8qm | mimx8qxp | mimx8ulp | mimx9131 | mimx9352 | mimx943 | mimx95294 | mimx9596 | mimxrt1010 | mimxrt1015 | mimxrt1020 | mimxrt1024 | mimxrt1040 | mimxrt1043 | mimxrt1046 | mimxrt1050 | mimxrt1060 | mimxrt1064 | mimxrt1165 | mimxrt1166 | mimxrt1171 | mimxrt1172 | mimxrt1173 | mimxrt1175 | mimxrt1176 | mimxrt1181 | mimxrt1182 | mimxrt1186 | mimxrt1187 | mimxrt1189 | mimxrt533s | mimxrt555s | mimxrt595s | mimxrt685s | mimxrt735s | mimxrt758s | mimxrt798s | mwct2012 | mwct2012a | nhs52s04 | rw610 | rw612

-r, --revision <revision>#

Chip revision; if not specified, most recent one will be used

-b, --binary <binary>#

Required Path to binary bootable image to verify.

-m, --mem-type <mem_type>#

Required Select the chip used memory type.

Options:

flexspi_nor | serial_downloader | emmc | sd | recovery_spi_sb31 | semc_nor | emmc_boot | recovery_spi_mbi | recovery_spi | xspi_nor | recovery_spi_sb21 | flexspi_nand | internal | mmc | recovery_spi_hab | semc_nand

-p, --problems#

Show just problems in image.

wic#

WIC (Whole Image Creator) Yocto Linux image format.

Usage

nxpimage bootable-image wic [OPTIONS] COMMAND [ARGS]...
update-uboot#

Replace U-Boot binary in WIC file.

Usage

nxpimage bootable-image wic update-uboot [OPTIONS]

Options

-b, --binary <binary>#

Required Path to binary WIC image.

-u, --uboot <uboot>#

Required Path to binary U-Boot image.

xmcd#

XMCD (External Memory Configuration Data) utilities.

Usage

nxpimage bootable-image xmcd [OPTIONS] COMMAND [ARGS]...
crc-fuses-script#

Generate XMCD CRC fuses script.

Programming the CRC checksum to the fuse enables the integrity check of XMCD block.

Usage

nxpimage bootable-image xmcd crc-fuses-script [OPTIONS]

Options

-f, --family <family>#

[required] Select the chip family.

Options:

mimxrt1165 | mimxrt1166 | mimxrt1171 | mimxrt1172 | mimxrt1173 | mimxrt1175 | mimxrt1176 | mimxrt1181 | mimxrt1182 | mimxrt1186 | mimxrt1187 | mimxrt1189 | mimxrt735s | mimxrt758s | mimxrt798s

-r, --revision <revision>#

Chip revision; if not specified, most recent one will be used

-b, --binary <binary>#

Required Path to binary XMCD image.

-o, --output <output>#

Required Path to a file, where to store the output.

export#

Export XMCD Image from YAML/JSON configuration.

The configuration template files could be generated by subcommand ‘get-templates’.

Usage

nxpimage bootable-image xmcd export [OPTIONS]

Options

-c, --config <config>#

Required Path to the YAML/JSON configuration file.

-oc, --override-config <key_path=value>#

Allows override the individual configuration settings. The use is simple: ‘key_path=value’, like ‘family=mimxrt595s’ or in structural configuration with separating character ‘/’ like ‘containers/0/binary_container=my_container.bin’. It could be used multiple times.

-o, --output <output>#

Required Path to a file, where to store the output.

get-families#

Shows the full family info for commands in this group.

Usage

nxpimage bootable-image xmcd get-families [OPTIONS]

Options

-c, --cmd-name <cmd_name>#

Choose the command name to get full information about NXP families support.

Options:

parse | get-templates | verify | crc-fuses-script

get-templates#

Create template of configurations in YAML format for all memory types.

The template files folder name is specified as argument of this command.

Usage

nxpimage bootable-image xmcd get-templates [OPTIONS]

Options

-f, --family <family>#

[required] Select the chip family.

Options:

mimxrt1165 | mimxrt1166 | mimxrt1171 | mimxrt1172 | mimxrt1173 | mimxrt1175 | mimxrt1176 | mimxrt1181 | mimxrt1182 | mimxrt1186 | mimxrt1187 | mimxrt1189 | mimxrt735s | mimxrt758s | mimxrt798s

-r, --revision <revision>#

Chip revision; if not specified, most recent one will be used

-o, --output <output>#

Required Path to a directory, where to store generated/parsed files.

--force#

Force overwriting of existing files.

parse#

Parse XMCD Image into YAML configuration.

Usage

nxpimage bootable-image xmcd parse [OPTIONS]

Options

-f, --family <family>#

[required] Select the chip family.

Options:

mimxrt1165 | mimxrt1166 | mimxrt1171 | mimxrt1172 | mimxrt1173 | mimxrt1175 | mimxrt1176 | mimxrt1181 | mimxrt1182 | mimxrt1186 | mimxrt1187 | mimxrt1189 | mimxrt735s | mimxrt758s | mimxrt798s

-r, --revision <revision>#

Chip revision; if not specified, most recent one will be used

-b, --binary <binary>#

Required Path to binary XMCD image to parse.

-o, --output <output>#

Required Path to a file, where to store the output.

verify#

Verify XMCD Image.

Usage

nxpimage bootable-image xmcd verify [OPTIONS]

Options

-f, --family <family>#

[required] Select the chip family.

Options:

mimxrt1165 | mimxrt1166 | mimxrt1171 | mimxrt1172 | mimxrt1173 | mimxrt1175 | mimxrt1176 | mimxrt1181 | mimxrt1182 | mimxrt1186 | mimxrt1187 | mimxrt1189 | mimxrt735s | mimxrt758s | mimxrt798s

-r, --revision <revision>#

Chip revision; if not specified, most recent one will be used

-b, --binary <binary>#

Required Path to binary XMCD image to parse.

-p, --problems#

Show just problems in image.

cert-block#

Group of sub-commands related to certification block.

Usage

nxpimage cert-block [OPTIONS] COMMAND [ARGS]...
export#

Generate Certificate Block from YAML/JSON configuration.

The configuration template files could be generated by subcommand ‘get-template’.

Usage

nxpimage cert-block export [OPTIONS]

Options

-c, --config <config>#

Required Path to the YAML/JSON configuration file.

-oc, --override-config <key_path=value>#

Allows override the individual configuration settings. The use is simple: ‘key_path=value’, like ‘family=mimxrt595s’ or in structural configuration with separating character ‘/’ like ‘containers/0/binary_container=my_container.bin’. It could be used multiple times.

get-families#

Shows the full family info for commands in this group.

Usage

nxpimage cert-block get-families [OPTIONS]

Options

-c, --cmd-name <cmd_name>#

Choose the command name to get full information about NXP families support.

Options:

get-template | get-isk-tbs | parse

get-isk-tbs#

Generate To-Be-Signed data for ISK Certificate created by NXP’s EdgeLock2GO service.

Usage

nxpimage cert-block get-isk-tbs [OPTIONS]

Options

-f, --family <family>#

[required] Select the chip family.

Options:

mc56f81866 | mc56f81868 | mwct20d2 | mwct20d2a

-r, --revision <revision>#

Chip revision; if not specified, most recent one will be used

-p, --public-key <public_key>#

Required Path to file with the ISK public key

-o, --output <output>#

Required Path to a file, where to store the output.

get-template#

Create template of configuration in YAML format.

Usage

nxpimage cert-block get-template [OPTIONS]

Options

-f, --family <family>#

[required] Select the chip family.

Options:

k32w148 | kw45b41z5 | kw45b41z8 | kw45z41052 | kw45z41053 | kw45z41082 | kw45z41083 | kw47b42z83 | kw47b42z96 | kw47b42z97 | kw47b42zb2 | kw47b42zb3 | kw47b42zb6 | kw47b42zb7 | kw47z42082 | kw47z42092 | kw47z420b2 | kw47z420b3 | lpc55s04 | lpc55s06 | lpc55s14 | lpc55s16 | lpc55s26 | lpc55s28 | lpc55s36 | lpc55s66 | lpc55s69 | mc56f81866 | mc56f81868 | mcxn235 | mcxn236 | mcxn247 | mcxn526 | mcxn527 | mcxn536 | mcxn537 | mcxn546 | mcxn547 | mcxn556s | mcxn557s | mcxn946 | mcxn947 | mcxw235 | mcxw236 | mcxw716a | mcxw716c | mcxw727a | mcxw727c | mcxw727d | mimxrt533s | mimxrt555s | mimxrt595s | mimxrt685s | mimxrt735s | mimxrt758s | mimxrt798s | mwct20d2 | mwct20d2a | nhs52s04 | rw610 | rw612

-r, --revision <revision>#

Chip revision; if not specified, most recent one will be used

-o, --output <output>#

Required Path to a file, where to store the output.

--force#

Force overwriting of existing files.

parse#

Parse Certificate Block.

RoTKTH is printed out in verbose mode.

Usage

nxpimage cert-block parse [OPTIONS]

Options

-b, --binary <binary>#

Required Path to binary Certificate Block image to parse.

-f, --family <family>#

[required] Select the chip family.

Options:

k32w148 | kw45b41z5 | kw45b41z8 | kw45z41052 | kw45z41053 | kw45z41082 | kw45z41083 | kw47b42z83 | kw47b42z96 | kw47b42z97 | kw47b42zb2 | kw47b42zb3 | kw47b42zb6 | kw47b42zb7 | kw47z42082 | kw47z42092 | kw47z420b2 | kw47z420b3 | lpc55s04 | lpc55s06 | lpc55s14 | lpc55s16 | lpc55s26 | lpc55s28 | lpc55s36 | lpc55s66 | lpc55s69 | mc56f81866 | mc56f81868 | mcxn235 | mcxn236 | mcxn247 | mcxn526 | mcxn527 | mcxn536 | mcxn537 | mcxn546 | mcxn547 | mcxn556s | mcxn557s | mcxn946 | mcxn947 | mcxw235 | mcxw236 | mcxw716a | mcxw716c | mcxw727a | mcxw727c | mcxw727d | mimxrt533s | mimxrt555s | mimxrt595s | mimxrt685s | mimxrt735s | mimxrt758s | mimxrt798s | mwct20d2 | mwct20d2a | nhs52s04 | rw610 | rw612

-r, --revision <revision>#

Chip revision; if not specified, most recent one will be used

-o, --output <output>#

Required Path to a directory, where to store generated/parsed files.

fcf#

Group of sub-commands related to FCF block.

Usage

nxpimage fcf [OPTIONS] COMMAND [ARGS]...
export#

Generate FCF from YAML/JSON configuration.

The configuration template files could be generated by subcommand ‘get-template’.

Usage

nxpimage fcf export [OPTIONS]

Options

-c, --config <config>#

Required Path to the YAML/JSON configuration file.

-oc, --override-config <key_path=value>#

Allows override the individual configuration settings. The use is simple: ‘key_path=value’, like ‘family=mimxrt595s’ or in structural configuration with separating character ‘/’ like ‘containers/0/binary_container=my_container.bin’. It could be used multiple times.

-o, --output <output>#

Required Path to a file, where to store the output.

get-families#

Shows the full family info for commands in this group.

Usage

nxpimage fcf get-families [OPTIONS]

Options

-c, --cmd-name <cmd_name>#

Choose the command name to get full information about NXP families support.

Options:

get-template | parse

get-template#

Create template of configuration in YAML format.

Usage

nxpimage fcf get-template [OPTIONS]

Options

-f, --family <family>#

[required] Select the chip family.

Options:

mc56f81646 | mc56f81648 | mc56f81666 | mc56f81668 | mc56f81746 | mc56f81748 | mc56f81766 | mc56f81768 | mc56f81866 | mc56f81868 | mcxc041 | mcxc141 | mcxc142 | mcxc143 | mcxc144 | mcxc242 | mcxc243 | mcxc244 | mcxc443 | mcxc444 | mcxe245 | mcxe246 | mcxe247 | mwct2012 | mwct2012a | mwct20d2 | mwct20d2a

-r, --revision <revision>#

Chip revision; if not specified, most recent one will be used

-o, --output <output>#

Required Path to a file, where to store the output.

--force#

Force overwriting of existing files.

parse#

Parse FCF.

Usage

nxpimage fcf parse [OPTIONS]

Options

-b, --binary <binary>#

Required Path to binary FCF to parse.

-f, --family <family>#

[required] Select the chip family.

Options:

mc56f81646 | mc56f81648 | mc56f81666 | mc56f81668 | mc56f81746 | mc56f81748 | mc56f81766 | mc56f81768 | mc56f81866 | mc56f81868 | mcxc041 | mcxc141 | mcxc142 | mcxc143 | mcxc144 | mcxc242 | mcxc243 | mcxc244 | mcxc443 | mcxc444 | mcxe245 | mcxe246 | mcxe247 | mwct2012 | mwct2012a | mwct20d2 | mwct20d2a

-r, --revision <revision>#

Chip revision; if not specified, most recent one will be used

-o, --output <output>#

Required Path to a file, where to store the output.

hab#

Group of sub-commands related to HAB container.

Usage

nxpimage hab [OPTIONS] COMMAND [ARGS]...
convert#

Convert BD Configuration to YAML.

EXTERNAL is a space separated list of external binary files defined in BD file

Usage

nxpimage hab convert [OPTIONS] [EXTERNAL]...

Options

-c, --command <command>#

Required BD configuration file for conversion to YAML

-o, --output <output>#

Required Path to a file, where to store the output.

--force#

Force overwriting of existing files.

Arguments

EXTERNAL#

Optional argument(s)

export#

Generate HAB container from configuration.

Usage

nxpimage hab export [OPTIONS]

Options

-c, --config <config>#

Required Path to the YAML/JSON configuration file.

-oc, --override-config <key_path=value>#

Allows override the individual configuration settings. The use is simple: ‘key_path=value’, like ‘family=mimxrt595s’ or in structural configuration with separating character ‘/’ like ‘containers/0/binary_container=my_container.bin’. It could be used multiple times.

-o, --output <output>#

Required Path to a file, where to store the output.

--force#

Force overwriting of existing files.

get-families#

Shows the full family info for commands in this group.

Usage

nxpimage hab get-families [OPTIONS]

Options

-c, --cmd-name <cmd_name>#

Choose the command name to get full information about NXP families support.

Options:

get-template | parse

get-template#

Create template of configuration in YAML format.

Usage

nxpimage hab get-template [OPTIONS]

Options

-o, --output <output>#

Required Path to a file, where to store the output.

--force#

Force overwriting of existing files.

-f, --family <family>#

[required] Select the chip family.

Options:

mimxrt1010 | mimxrt1015 | mimxrt1020 | mimxrt1024 | mimxrt1040 | mimxrt1043 | mimxrt1046 | mimxrt1050 | mimxrt1060 | mimxrt1064 | mimxrt1165 | mimxrt1166 | mimxrt1171 | mimxrt1172 | mimxrt1173 | mimxrt1175 | mimxrt1176

parse#

Parse HAB container into individual segments.

Usage

nxpimage hab parse [OPTIONS]

Options

-b, --binary <binary>#

Required Path to binary HAB image to parse.

-f, --family <family>#

[required] Select the chip family.

Options:

mimxrt1010 | mimxrt1015 | mimxrt1020 | mimxrt1024 | mimxrt1040 | mimxrt1043 | mimxrt1046 | mimxrt1050 | mimxrt1060 | mimxrt1064 | mimxrt1165 | mimxrt1166 | mimxrt1171 | mimxrt1172 | mimxrt1173 | mimxrt1175 | mimxrt1176

-r, --revision <revision>#

Chip revision; if not specified, most recent one will be used

-o, --output <output>#

Required Path to a directory, where to store generated/parsed files.

hse#

Group of sub-commands related to HSE (Hardware Security Engine).

Usage

nxpimage hse [OPTIONS] COMMAND [ARGS]...
key-catalog#

Group of sub-commands related to key catalog functionality.

Usage

nxpimage hse key-catalog [OPTIONS] COMMAND [ARGS]...
export#

Create Key Catalog binary from YAML/JSON configuration.

Usage

nxpimage hse key-catalog export [OPTIONS]

Options

-c, --config <config>#

Required Path to the YAML/JSON configuration file.

-oc, --override-config <key_path=value>#

Allows override the individual configuration settings. The use is simple: ‘key_path=value’, like ‘family=mimxrt595s’ or in structural configuration with separating character ‘/’ like ‘containers/0/binary_container=my_container.bin’. It could be used multiple times.

get-families#

Shows the full family info for commands in this group.

Usage

nxpimage hse key-catalog get-families [OPTIONS]

Options

-c, --cmd-name <cmd_name>#

Choose the command name to get full information about NXP families support.

Options:

get-template | parse

get-template#

Create template of key catalog configuration in YAML format.

Usage

nxpimage hse key-catalog get-template [OPTIONS]

Options

-o, --output <output>#

Required Path to a file, where to store the output.

--force#

Force overwriting of existing files.

-f, --family <family>#

[required] Select the chip family.

Options:

mcxe315 | mcxe316 | mcxe317 | mcxe31b

parse#

Parse a binary key catalog file and display its contents.

Usage

nxpimage hse key-catalog parse [OPTIONS]

Options

-b, --binary <binary>#

Required Path to binary with key catalog cfg.

-f, --family <family>#

[required] Select the chip family.

Options:

mcxe315 | mcxe316 | mcxe317 | mcxe31b

-r, --revision <revision>#

Chip revision; if not specified, most recent one will be used

-o, --output <output>#

Required Path to a file, where to store the output.

key-info#

Group of sub-commands related to key import functionality.

Usage

nxpimage hse key-info [OPTIONS] COMMAND [ARGS]...
export#

Create template of configuration in YAML format.

Usage

nxpimage hse key-info export [OPTIONS]

Options

-c, --config <config>#

Required Path to the YAML/JSON configuration file.

-oc, --override-config <key_path=value>#

Allows override the individual configuration settings. The use is simple: ‘key_path=value’, like ‘family=mimxrt595s’ or in structural configuration with separating character ‘/’ like ‘containers/0/binary_container=my_container.bin’. It could be used multiple times.

get-families#

Shows the full family info for commands in this group.

Usage

nxpimage hse key-info get-families [OPTIONS]

Options

-c, --cmd-name <cmd_name>#

Choose the command name to get full information about NXP families support.

Options:

get-template | parse

get-template#

Create template of configuration in YAML format.

Usage

nxpimage hse key-info get-template [OPTIONS]

Options

-o, --output <output>#

Required Path to a file, where to store the output.

--force#

Force overwriting of existing files.

-f, --family <family>#

[required] Select the chip family.

Options:

mcxe315 | mcxe316 | mcxe317 | mcxe31b

parse#

Create template of configuration in YAML format.

Usage

nxpimage hse key-info parse [OPTIONS]

Options

-b, --binary <binary>#

Required Path to binary with key info.

-f, --family <family>#

[required] Select the chip family.

Options:

mcxe315 | mcxe316 | mcxe317 | mcxe31b

-r, --revision <revision>#

Chip revision; if not specified, most recent one will be used

-o, --output <output>#

Required Path to a file, where to store the output.

smr-entry#

Group of sub-commands related to SMR entry functionality.

Usage

nxpimage hse smr-entry [OPTIONS] COMMAND [ARGS]...
export#

Create SMR entry binary from YAML/JSON configuration.

Usage

nxpimage hse smr-entry export [OPTIONS]

Options

-c, --config <config>#

Required Path to the YAML/JSON configuration file.

-oc, --override-config <key_path=value>#

Allows override the individual configuration settings. The use is simple: ‘key_path=value’, like ‘family=mimxrt595s’ or in structural configuration with separating character ‘/’ like ‘containers/0/binary_container=my_container.bin’. It could be used multiple times.

get-families#

Shows the full family info for commands in this group.

Usage

nxpimage hse smr-entry get-families [OPTIONS]

Options

-c, --cmd-name <cmd_name>#

Choose the command name to get full information about NXP families support.

Options:

get-template | parse

get-template#

Create template of SMR entry configuration in YAML format.

Usage

nxpimage hse smr-entry get-template [OPTIONS]

Options

-o, --output <output>#

Required Path to a file, where to store the output.

--force#

Force overwriting of existing files.

-f, --family <family>#

[required] Select the chip family.

Options:

mcxe315 | mcxe316 | mcxe317 | mcxe31b

parse#

Parse a binary SMR entry file and display its contents.

Usage

nxpimage hse smr-entry parse [OPTIONS]

Options

-b, --binary <binary>#

Required Path to binary with SMR entry.

-f, --family <family>#

[required] Select the chip family.

Options:

mcxe315 | mcxe316 | mcxe317 | mcxe31b

-r, --revision <revision>#

Chip revision; if not specified, most recent one will be used

-o, --output <output>#

Required Path to a file, where to store the output.

iee#

Group of sub-commands related to IEE.

Usage

nxpimage iee [OPTIONS] COMMAND [ARGS]...
export#

Generate IEE Images from YAML/JSON configuration.

The configuration template files could be generated by subcommand ‘get-template’.

Usage

nxpimage iee export [OPTIONS]

Options

-c, --config <config>#

Required Path to the YAML/JSON configuration file.

-oc, --override-config <key_path=value>#

Allows override the individual configuration settings. The use is simple: ‘key_path=value’, like ‘family=mimxrt595s’ or in structural configuration with separating character ‘/’ like ‘containers/0/binary_container=my_container.bin’. It could be used multiple times.

get-families#

Shows the full family info for commands in this group.

Usage

nxpimage iee get-families [OPTIONS]

Options

-c, --cmd-name <cmd_name>#

Choose the command name to get full information about NXP families support.

Options:

get-template

get-template#

Create template of configuration in YAML format.

The template file name is specified as argument of this command.

Usage

nxpimage iee get-template [OPTIONS]

Options

-f, --family <family>#

[required] Select the chip family.

Options:

mimxrt1165 | mimxrt1166 | mimxrt1171 | mimxrt1172 | mimxrt1173 | mimxrt1175 | mimxrt1176 | mimxrt1181 | mimxrt1182 | mimxrt1186 | mimxrt1187 | mimxrt1189

-r, --revision <revision>#

Chip revision; if not specified, most recent one will be used

-o, --output <output>#

Required Path to a file, where to store the output.

--force#

Force overwriting of existing files.

lpcprog#

Group of sub-commands related to lpcprog tool.

Usage

nxpimage lpcprog [OPTIONS] COMMAND [ARGS]...
make-bootable#

Make binary image bootable by inserting correct checksum of vector table.

Usage

nxpimage lpcprog make-bootable [OPTIONS]

Options

-b, --binary <binary>#

Required Input plain binary application image.

-o, --output <output>#

Required Path to a file, where to store the output.

set-crp#

Update CRP value in binary image.

Code Read Protection is a mechanism that allows the user to enable different levels of security in the system so that access to the on-chip flash and use of the ISP can be restricted. When needed, CRP is invoked by programming a specific pattern in the flash image at offset 0x0000 02FC.

Usage

nxpimage lpcprog set-crp [OPTIONS]

Options

-b, --binary <binary>#

Required Path to binary image to update CRP.

-l, --level <level>#

Required level

Options:

NO_ISP | NO_CRP | CRP1 | CRP2 | CRP3

-o, --output <output>#

Required Path to a file, where to store the output.

mbi#

Group of sub-commands related to Master Boot Images.

Usage

nxpimage mbi [OPTIONS] COMMAND [ARGS]...
export#

Generate Master Boot Image from YAML/JSON configuration.

The configuration template files could be generated by subcommand ‘get-templates’.

Usage

nxpimage mbi export [OPTIONS]

Options

-c, --config <config>#

Required Path to the YAML/JSON configuration file.

-oc, --override-config <key_path=value>#

Allows override the individual configuration settings. The use is simple: ‘key_path=value’, like ‘family=mimxrt595s’ or in structural configuration with separating character ‘/’ like ‘containers/0/binary_container=my_container.bin’. It could be used multiple times.

get-families#

Shows the full family info for commands in this group.

Usage

nxpimage mbi get-families [OPTIONS]

Options

-c, --cmd-name <cmd_name>#

Choose the command name to get full information about NXP families support.

Options:

parse | get-templates

get-templates#

Create template of MBI configurations in YAML format.

Usage

nxpimage mbi get-templates [OPTIONS]

Options

-f, --family <family>#

[required] Select the chip family.

Options:

k32w148 | kw45b41z5 | kw45b41z8 | kw45z41052 | kw45z41053 | kw45z41082 | kw45z41083 | kw47b42z83 | kw47b42z96 | kw47b42z97 | kw47b42zb2 | kw47b42zb3 | kw47b42zb6 | kw47b42zb7 | kw47z42082 | kw47z42092 | kw47z420b2 | kw47z420b3 | lpc5502 | lpc5504 | lpc5506 | lpc5512 | lpc5514 | lpc5516 | lpc5526 | lpc5528 | lpc5534 | lpc5536 | lpc55s04 | lpc55s06 | lpc55s14 | lpc55s16 | lpc55s26 | lpc55s28 | lpc55s36 | lpc55s66 | lpc55s69 | mc56f81646 | mc56f81648 | mc56f81666 | mc56f81668 | mc56f81746 | mc56f81748 | mc56f81766 | mc56f81768 | mc56f81866 | mc56f81868 | mcxa132 | mcxa133 | mcxa142 | mcxa143 | mcxa144 | mcxa145 | mcxa146 | mcxa152 | mcxa153 | mcxa154 | mcxa155 | mcxa156 | mcxa173 | mcxa174 | mcxa175 | mcxa176 | mcxa185 | mcxa186 | mcxa255 | mcxa256 | mcxa265 | mcxa266 | mcxa343 | mcxa344 | mcxa345 | mcxa346 | mcxa355 | mcxa356 | mcxa365 | mcxa366 | mcxc041 | mcxc141 | mcxc142 | mcxc143 | mcxc144 | mcxc242 | mcxc243 | mcxc244 | mcxc443 | mcxc444 | mcxe245 | mcxe246 | mcxe247 | mcxe315 | mcxe316 | mcxe317 | mcxe31b | mcxl253 | mcxl254 | mcxl255 | mcxn235 | mcxn236 | mcxn247 | mcxn526 | mcxn527 | mcxn536 | mcxn537 | mcxn546 | mcxn547 | mcxn556s | mcxn557s | mcxn946 | mcxn947 | mcxw235 | mcxw236 | mcxw716a | mcxw716c | mcxw727a | mcxw727c | mcxw727d | mimxrt533s | mimxrt555s | mimxrt595s | mimxrt685s | mimxrt735s | mimxrt758s | mimxrt798s | mwct2012 | mwct2012a | mwct20d2 | mwct20d2a | nhs52s04 | rw610 | rw612

-r, --revision <revision>#

Chip revision; if not specified, most recent one will be used

-o, --output <output>#

Required Path to a directory, where to store generated/parsed files.

--force#

Force overwriting of existing files.

parse#

Parse MBI Image into YAML configuration and binary images.

Usage

nxpimage mbi parse [OPTIONS]

Options

-f, --family <family>#

[required] Select the chip family.

Options:

k32w148 | kw45b41z5 | kw45b41z8 | kw45z41052 | kw45z41053 | kw45z41082 | kw45z41083 | kw47b42z83 | kw47b42z96 | kw47b42z97 | kw47b42zb2 | kw47b42zb3 | kw47b42zb6 | kw47b42zb7 | kw47z42082 | kw47z42092 | kw47z420b2 | kw47z420b3 | lpc5502 | lpc5504 | lpc5506 | lpc5512 | lpc5514 | lpc5516 | lpc5526 | lpc5528 | lpc5534 | lpc5536 | lpc55s04 | lpc55s06 | lpc55s14 | lpc55s16 | lpc55s26 | lpc55s28 | lpc55s36 | lpc55s66 | lpc55s69 | mc56f81646 | mc56f81648 | mc56f81666 | mc56f81668 | mc56f81746 | mc56f81748 | mc56f81766 | mc56f81768 | mc56f81866 | mc56f81868 | mcxa132 | mcxa133 | mcxa142 | mcxa143 | mcxa144 | mcxa145 | mcxa146 | mcxa152 | mcxa153 | mcxa154 | mcxa155 | mcxa156 | mcxa173 | mcxa174 | mcxa175 | mcxa176 | mcxa185 | mcxa186 | mcxa255 | mcxa256 | mcxa265 | mcxa266 | mcxa343 | mcxa344 | mcxa345 | mcxa346 | mcxa355 | mcxa356 | mcxa365 | mcxa366 | mcxc041 | mcxc141 | mcxc142 | mcxc143 | mcxc144 | mcxc242 | mcxc243 | mcxc244 | mcxc443 | mcxc444 | mcxe245 | mcxe246 | mcxe247 | mcxe315 | mcxe316 | mcxe317 | mcxe31b | mcxl253 | mcxl254 | mcxl255 | mcxn235 | mcxn236 | mcxn247 | mcxn526 | mcxn527 | mcxn536 | mcxn537 | mcxn546 | mcxn547 | mcxn556s | mcxn557s | mcxn946 | mcxn947 | mcxw235 | mcxw236 | mcxw716a | mcxw716c | mcxw727a | mcxw727c | mcxw727d | mimxrt533s | mimxrt555s | mimxrt595s | mimxrt685s | mimxrt735s | mimxrt758s | mimxrt798s | mwct2012 | mwct2012a | mwct20d2 | mwct20d2a | nhs52s04 | rw610 | rw612

-r, --revision <revision>#

Chip revision; if not specified, most recent one will be used

-b, --binary <binary>#

Required Path to binary MBI image to parse.

-k, --dek <dek>#

Data encryption key, if it’s specified, the parse method tries decrypt all encrypted images. It could be specified as binary/HEX text file path or directly HEX string

-o, --output <output>#

Required Path to a directory, where to store generated/parsed files.

otfad#

Group of sub-commands related to OTFAD.

Usage

nxpimage otfad [OPTIONS] COMMAND [ARGS]...
export#

Generate OTFAD Images from YAML/JSON configuration.

The configuration template files could be generated by subcommand ‘get-template’.

Usage

nxpimage otfad export [OPTIONS]

Options

-a, --alignment <alignment>#

Alignment of key blob data blocks. Default value is 512 B if not specified.

-i, --index <index>#

OTFAD peripheral index - This is needed to generate proper indexes of fuses in optional BLHOST script. If not specified, BLHOST fuse script won’t be generated

-c, --config <config>#

Required Path to the YAML/JSON configuration file.

-oc, --override-config <key_path=value>#

Allows override the individual configuration settings. The use is simple: ‘key_path=value’, like ‘family=mimxrt595s’ or in structural configuration with separating character ‘/’ like ‘containers/0/binary_container=my_container.bin’. It could be used multiple times.

get-families#

Shows the full family info for commands in this group.

Usage

nxpimage otfad get-families [OPTIONS]

Options

-c, --cmd-name <cmd_name>#

Choose the command name to get full information about NXP families support.

Options:

get-kek | get-template

get-kek#

Compute OTFAD KEK value and optionally store it into folder in various formats.

The computed OTFAD KEK is shown in hexadecimal text, if the ‘output-folder’ is specified, it is stored in folder also in binary format.

Usage

nxpimage otfad get-kek [OPTIONS]

Options

-m, --otp-master-key <otp_master_key>#

OTP MASTER KEY in hexadecimal format or file name to binary or text file with key.

-k, --otfad-key <otfad_key>#

OTFAD KEY (OTFAD KEK seed) in hexadecimal format or file name to binary or text file with key.

-f, --family <family>#

Optional family, if specified, the tool generates the BLHOST scripts to load key fuses. To use this feature, the ‘-o’ options has to be also defined!

Options:

mimx8ulp | mimx9352 | mimx95294 | mimx9596 | mimxrt1010 | mimxrt1165 | mimxrt1166 | mimxrt1171 | mimxrt1172 | mimxrt1173 | mimxrt1175 | mimxrt1176 | mimxrt1181 | mimxrt1182 | mimxrt1186 | mimxrt1187 | mimxrt1189 | mimxrt533s | mimxrt555s | mimxrt595s | mimxrt685s

-r, --revision <revision>#

Chip revision; if not specified, most recent one will be used

-o, --output <output>#

Optional result output folder (otfad_kek.bin/txt, optionally BLHOST scripts to load keys into Fuses)

get-template#

Create template of configuration in YAML format.

The template file name is specified as argument of this command.

Usage

nxpimage otfad get-template [OPTIONS]

Options

-f, --family <family>#

[required] Select the chip family.

Options:

mimx8ulp | mimx9352 | mimx95294 | mimx9596 | mimxrt1010 | mimxrt1165 | mimxrt1166 | mimxrt1171 | mimxrt1172 | mimxrt1173 | mimxrt1175 | mimxrt1176 | mimxrt1181 | mimxrt1182 | mimxrt1186 | mimxrt1187 | mimxrt1189 | mimxrt533s | mimxrt555s | mimxrt595s | mimxrt685s

-r, --revision <revision>#

Chip revision; if not specified, most recent one will be used

-o, --output <output>#

Required Path to a file, where to store the output.

--force#

Force overwriting of existing files.

sb21#

Group of sub-commands related to Secure Binary 2.1.

Usage

nxpimage sb21 [OPTIONS] COMMAND [ARGS]...
convert#

Convert SB 2.1 BD file to YAML.

Usage

nxpimage sb21 convert [OPTIONS] [EXTERNAL]...

Options

-f, --family <family>#

[required] Select the chip family.

Options:

lpc55s04 | lpc55s06 | lpc55s14 | lpc55s16 | lpc55s26 | lpc55s28 | lpc55s66 | lpc55s69 | mcxw235 | mcxw236 | mimxrt533s | mimxrt555s | mimxrt595s | mimxrt685s | nhs52s04

-r, --revision <revision>#

Chip revision; if not specified, most recent one will be used

-o, --output <output>#

Required Path to converted YAML configuration

-c, --command <command>#

Required Path to BD file that will be converted to YAML

-k, --key <key>#

Required Add a key file and enable encryption.

-s, --pkey <pkey>#

Path to private key or signature provider configuration used for signing.

-S, --cert <cert>#

Path to certificate files for signing. The first certificate will be the self signed root key certificate.

-R, --root-key-cert <root_key_cert>#

Path to root key certificate file(s) for verifying other certificates. Only 4 root key certificates are allowed, others are ignored. One of the certificates must match the first certificate passed with -S/–cert arg.

-h, --hash-of-hashes <hash_of_hashes>#

Path to output hash of hashes of root keys. If argument is not provided, then by default the tool creates hash.bin in the working directory.

Arguments

EXTERNAL#

Optional argument(s)

export#

Generate Secure Binary v2.1 Image from configuration.

EXTERNAL is a space separated list of external binary files defined in BD file

Usage

nxpimage sb21 export [OPTIONS] [EXTERNAL]...

Options

-c, --command <command>#

Required BD or YAML configuration file to produce secure binary v2.x

-o, --output <output>#

Path to a file, where to store the output.

-k, --key <key>#

Add a key file and enable encryption.

-s, --pkey <pkey>#

Path to private key or signature provider configuration used for signing.

-S, --cert <cert>#

Path to certificate files for signing. The first certificate will be the self signed root key certificate.

-R, --root-key-cert <root_key_cert>#

Path to root key certificate file(s) for verifying other certificates. Only 4 root key certificates are allowed, others are ignored. One of the certificates must match the first certificate passed with -S/–cert arg.

-h, --hash-of-hashes <hash_of_hashes>#

Path to output hash of hashes of root keys.

Arguments

EXTERNAL#

Optional argument(s)

get-families#

Shows the full family info for commands in this group.

Usage

nxpimage sb21 get-families [OPTIONS]

Options

-c, --cmd-name <cmd_name>#

Choose the command name to get full information about NXP families support.

Options:

convert | get-template

get-sbkek#

Compute SBKEK (AES-256) value and optionally store it as plain text and as binary.

SBKEK is AES-256 symmetric key used for encryption and decryption of SB. Plain text version is used for SB generation. Binary format is to be written to the keystore. The same format is also used for USER KEK.

For OTP, the SBKEK is derived from OTP master key: SB2_KEK = AES256(OTP_MASTER_KEY, 03000000_00000000_00000000_00000000_04000000_00000000_00000000_00000000)

Master key is not needed when using PUF as key storage

The computed SBKEK is shown as hexadecimal text on STDOUT, SBKEK is stored in plain text and in binary if the ‘output-folder’ is specified,

Usage

nxpimage sb21 get-sbkek [OPTIONS]

Options

-k, --master-key <master_key>#

AES-256 master key as hexadecimal string or path to file containing key in plain text or in binary

-o, --output <output>#

Output folder where the sbkek.txt and sbkek.bin will be stored

get-template#

Create template of configuration in YAML format.

Usage

nxpimage sb21 get-template [OPTIONS]

Options

-o, --output <output>#

Required Path to a file, where to store the output.

--force#

Force overwriting of existing files.

-f, --family <family>#

[required] Select the chip family.

Options:

lpc55s04 | lpc55s06 | lpc55s14 | lpc55s16 | lpc55s26 | lpc55s28 | lpc55s66 | lpc55s69 | mcxw235 | mcxw236 | mimxrt533s | mimxrt555s | mimxrt595s | mimxrt685s | nhs52s04

parse#

Parse Secure Binary v2.1 Image.

Usage

nxpimage sb21 parse [OPTIONS]

Options

-b, --binary <binary>#

Required Path to the SB2 container that would be parsed.

-k, --key <key>#

Required Key file for SB2 decryption in plaintext

-o, --output <output>#

Required Path to a directory, where to store generated/parsed files.

sb31#

Group of sub-commands related to Secure Binary 3.1.

Usage

nxpimage sb31 [OPTIONS] COMMAND [ARGS]...
export#

Generate Secure Binary v3.1 Image from YAML/JSON configuration.

SB3KDK is printed out in verbose mode.

The configuration template files could be generated by subcommand ‘get-template’.

Usage

nxpimage sb31 export [OPTIONS]

Options

-c, --config <config>#

Required Path to the YAML/JSON configuration file.

-oc, --override-config <key_path=value>#

Allows override the individual configuration settings. The use is simple: ‘key_path=value’, like ‘family=mimxrt595s’ or in structural configuration with separating character ‘/’ like ‘containers/0/binary_container=my_container.bin’. It could be used multiple times.

get-families#

Shows the full family info for commands in this group.

Usage

nxpimage sb31 get-families [OPTIONS]

Options

-c, --cmd-name <cmd_name>#

Choose the command name to get full information about NXP families support.

Options:

get-template | parse

get-template#

Create template of configuration in YAML format.

The template file name is specified as argument of this command.

Usage

nxpimage sb31 get-template [OPTIONS]

Options

-f, --family <family>#

[required] Select the chip family.

Options:

k32w148 | kw45b41z5 | kw45b41z8 | kw45z41052 | kw45z41053 | kw45z41082 | kw45z41083 | kw47b42z83 | kw47b42z96 | kw47b42z97 | kw47b42zb2 | kw47b42zb3 | kw47b42zb6 | kw47b42zb7 | kw47z42082 | kw47z42092 | kw47z420b2 | kw47z420b3 | lpc55s36 | mcxl253 | mcxl254 | mcxl255 | mcxn235 | mcxn236 | mcxn247 | mcxn526 | mcxn527 | mcxn536 | mcxn537 | mcxn546 | mcxn547 | mcxn946 | mcxn947 | mcxw716a | mcxw716c | mcxw727a | mcxw727c | mcxw727d | mimxrt735s | mimxrt758s | mimxrt798s | rw610 | rw612

-r, --revision <revision>#

Chip revision; if not specified, most recent one will be used

-o, --output <output>#

Required Path to a file, where to store the output.

--force#

Force overwriting of existing files.

parse#

Parse Secure Binary v3.1 Image.

Parses an SB3.1 container and extracts its contents to the specified output directory.

Usage

nxpimage sb31 parse [OPTIONS]

Options

-f, --family <family>#

[required] Select the chip family.

Options:

k32w148 | kw45b41z5 | kw45b41z8 | kw45z41052 | kw45z41053 | kw45z41082 | kw45z41083 | kw47b42z83 | kw47b42z96 | kw47b42z97 | kw47b42zb2 | kw47b42zb3 | kw47b42zb6 | kw47b42zb7 | kw47z42082 | kw47z42092 | kw47z420b2 | kw47z420b3 | lpc55s36 | mcxl253 | mcxl254 | mcxl255 | mcxn235 | mcxn236 | mcxn247 | mcxn526 | mcxn527 | mcxn536 | mcxn537 | mcxn546 | mcxn547 | mcxn946 | mcxn947 | mcxw716a | mcxw716c | mcxw727a | mcxw727c | mcxw727d | mimxrt735s | mimxrt758s | mimxrt798s | rw610 | rw612

-r, --revision <revision>#

Chip revision; if not specified, most recent one will be used

-b, --binary <binary>#

Required Path to the SB3.1 container to parse.

-k, --pck <pck>#

Part Common Key file for SB3.1 decryption (hex text, text file or binary PCK).Alternatively you may provide a configuration string for a Key Derivation plugin

-a, --kdk-access-rights <kdk_access_rights>#

Key Derivation Key access rights, defaults to 0

-o, --output <output>#

Required Path to a directory, where to store generated/parsed files.

sb40#

Group of sub-commands related to Secure Binary 4.0.

Usage

nxpimage sb40 [OPTIONS] COMMAND [ARGS]...
export#

Generate Secure Binary v4.0 Image from YAML/JSON configuration.

SB3KDK is printed out in verbose mode.

The configuration template files could be generated by subcommand ‘get-template’.

Usage

nxpimage sb40 export [OPTIONS]

Options

-c, --config <config>#

Required Path to the YAML/JSON configuration file.

-oc, --override-config <key_path=value>#

Allows override the individual configuration settings. The use is simple: ‘key_path=value’, like ‘family=mimxrt595s’ or in structural configuration with separating character ‘/’ like ‘containers/0/binary_container=my_container.bin’. It could be used multiple times.

get-families#

Shows the full family info for commands in this group.

Usage

nxpimage sb40 get-families [OPTIONS]

Options

-c, --cmd-name <cmd_name>#

Choose the command name to get full information about NXP families support.

Options:

get-template | parse

get-template#

Create template of configuration in YAML format.

The template file name is specified as argument of this command.

Usage

nxpimage sb40 get-template [OPTIONS]

Options

-f, --family <family>#

[required] Select the chip family.

Options:

mcxn556s | mcxn557s

-r, --revision <revision>#

Chip revision; if not specified, most recent one will be used

-o, --output <output>#

Required Path to a file, where to store the output.

--force#

Force overwriting of existing files.

parse#

Parse Secure Binary v4.0 Image.

Parses an SB4.0 container and extracts its contents to the specified output directory.

Usage

nxpimage sb40 parse [OPTIONS]

Options

-f, --family <family>#

[required] Select the chip family.

Options:

mcxn556s | mcxn557s

-r, --revision <revision>#

Chip revision; if not specified, most recent one will be used

-b, --binary <binary>#

Required Path to the SB4.0 container to parse.

-k, --pck <pck>#

Part Common Key file for SB4.0 decryption (hex text, text file or binary PCK). Alternatively you may provide a configuration string for a Key Derivation plugin

-a, --kdk-access-rights <kdk_access_rights>#

Key Derivation Key access rights, defaults to 0

-o, --output <output>#

Required Path to a directory, where to store generated/parsed files.

signed-msg#

Group of sub-commands related to Signed messages.

Usage

nxpimage signed-msg [OPTIONS] COMMAND [ARGS]...
export#

Generate Signed message Image from YAML/JSON configuration.

The configuration template files could be generated by subcommand ‘get-template’.

Usage

nxpimage signed-msg export [OPTIONS]

Options

-c, --config <config>#

Required Path to the YAML/JSON configuration file.

-oc, --override-config <key_path=value>#

Allows override the individual configuration settings. The use is simple: ‘key_path=value’, like ‘family=mimxrt595s’ or in structural configuration with separating character ‘/’ like ‘containers/0/binary_container=my_container.bin’. It could be used multiple times.

-w, --assets <assets>#

Directory path to export additional assets (derived keys, certificates, etc.). If specified, the post_export method will be called to generate supplementary files.

get-families#

Shows the full family info for commands in this group.

Usage

nxpimage signed-msg get-families [OPTIONS]

Options

-c, --cmd-name <cmd_name>#

Choose the command name to get full information about NXP families support.

Options:

parse | get-template | verify

get-template#

Create template of configuration in YAML format.

The template file name is specified as argument of this command.

Usage

nxpimage signed-msg get-template [OPTIONS]

Options

-f, --family <family>#

[required] Select the chip family.

Options:

mcxn556s | mcxn557s | mimx8dxl | mimx8qm | mimx8qxp | mimx8ulp | mimx9131 | mimx9352 | mimx943 | mimx95294 | mimx9596 | mimxrt1181 | mimxrt1182 | mimxrt1186 | mimxrt1187 | mimxrt1189

-r, --revision <revision>#

Chip revision; if not specified, most recent one will be used

-m, --message <message>#

Select only one signed message to generate specific template if needed

Options:

KEYSTORE_REPROVISIONING_ENABLE_REQ | KEY_EXCHANGE_REQ | WRITE_SEC_FUSE_REQ | RETURN_LIFECYCLE_UPDATE_REQ | DAT_AUTHENTICATION_REQ

-o, --output <output>#

Required Path to a file, where to store the output.

--force#

Force overwriting of existing files.

parse#

Parse Signed message Image into YAML configuration and binary images.

Usage

nxpimage signed-msg parse [OPTIONS]

Options

-f, --family <family>#

[required] Select the chip family.

Options:

mcxn556s | mcxn557s | mimx8dxl | mimx8qm | mimx8qxp | mimx8ulp | mimx9131 | mimx9352 | mimx943 | mimx95294 | mimx9596 | mimxrt1181 | mimxrt1182 | mimxrt1186 | mimxrt1187 | mimxrt1189

-r, --revision <revision>#

Chip revision; if not specified, most recent one will be used

-b, --binary <binary>#

Required Path to binary Signed message image to parse.

-o, --output <output>#

Required Path to a directory, where to store generated/parsed files.

tlv#

Group of sub-commands related to TLV (Key Import) operations.

Usage

nxpimage signed-msg tlv [OPTIONS] COMMAND [ARGS]...
export#

Generate TLV blob from configuration.

The configuration template files could be generated by subcommand ‘get-template’. This command creates a TLV blob for operations like Key Import.

Usage

nxpimage signed-msg tlv export [OPTIONS]

Options

-c, --config <config>#

Required Path to the YAML/JSON configuration file.

-oc, --override-config <key_path=value>#

Allows override the individual configuration settings. The use is simple: ‘key_path=value’, like ‘family=mimxrt595s’ or in structural configuration with separating character ‘/’ like ‘containers/0/binary_container=my_container.bin’. It could be used multiple times.

get-families#

Shows the full family info for commands in this group.

Usage

nxpimage signed-msg tlv get-families [OPTIONS]

Options

-c, --cmd-name <cmd_name>#

Choose the command name to get full information about NXP families support.

Options:

get-template | parse | verify

get-template#

Create template of TLV configuration in YAML format.

The template file name is specified as argument of this command.

Usage

nxpimage signed-msg tlv get-template [OPTIONS]

Options

-f, --family <family>#

[required] Select the chip family.

Options:

mimx8ulp | mimx9131 | mimx9352 | mimx943 | mimx95294 | mimx9596 | mimxrt1181 | mimxrt1182 | mimxrt1186 | mimxrt1187 | mimxrt1189

-r, --revision <revision>#

Chip revision; if not specified, most recent one will be used

-t, --tlv-type <tlv_type>#

Type of TLV to parse

Options:

KEY_IMPORT

-o, --output <output>#

Required Path to a file, where to store the output.

--force#

Force overwriting of existing files.

parse#

Parse TLV blob into YAML configuration.

This command parses a TLV blob and generates a configuration file.

Usage

nxpimage signed-msg tlv parse [OPTIONS]

Options

-f, --family <family>#

[required] Select the chip family.

Options:

mimx8ulp | mimx9131 | mimx9352 | mimx943 | mimx95294 | mimx9596 | mimxrt1181 | mimxrt1182 | mimxrt1186 | mimxrt1187 | mimxrt1189

-r, --revision <revision>#

Chip revision; if not specified, most recent one will be used

-b, --binary <binary>#

Required Path to binary TLV blob to parse.

-t, --tlv-type <tlv_type>#

Type of TLV to parse

Options:

KEY_IMPORT

-o, --output <output>#

Required Path to a directory, where to store generated/parsed files.

verify#

Verify TLV blob structure and content.

This command verifies the structure and content of a TLV blob (Key Import payload).

Usage

nxpimage signed-msg tlv verify [OPTIONS]

Options

-f, --family <family>#

[required] Select the chip family.

Options:

mimx8ulp | mimx9131 | mimx9352 | mimx943 | mimx95294 | mimx9596 | mimxrt1181 | mimxrt1182 | mimxrt1186 | mimxrt1187 | mimxrt1189

-r, --revision <revision>#

Chip revision; if not specified, most recent one will be used

-b, --binary <binary>#

Required Path to binary TLV blob to verify.

-t, --tlv-type <tlv_type>#

Type of TLV to verify

Options:

KEY_IMPORT

-p, --problems#

Show just problems in TLV blob.

verify#

Verify AHAB Image.

Usage

nxpimage signed-msg verify [OPTIONS]

Options

-f, --family <family>#

[required] Select the chip family.

Options:

mcxn556s | mcxn557s | mimx8dxl | mimx8qm | mimx8qxp | mimx8ulp | mimx9131 | mimx9352 | mimx943 | mimx95294 | mimx9596 | mimxrt1181 | mimxrt1182 | mimxrt1186 | mimxrt1187 | mimxrt1189

-r, --revision <revision>#

Chip revision; if not specified, most recent one will be used

-b, --binary <binary>#

Required Path to binary AHAB image to parse.

-p, --problems#

Show just problems in image.

-k, --dek <dek>#

Data encryption key, if it’s specified, the parse method tries decrypt all encrypted images. It could be specified as binary/HEX text file path or directly HEX string

tz#

Group of sub-commands related to Trust Zone.

Usage

nxpimage tz [OPTIONS] COMMAND [ARGS]...
export#

Generate TrustZone Image from YAML/JSON configuration.

The configuration template files could be generated by subcommand ‘get-template’.

Usage

nxpimage tz export [OPTIONS]

Options

-c, --config <config>#

Required Path to the YAML/JSON configuration file.

-oc, --override-config <key_path=value>#

Allows override the individual configuration settings. The use is simple: ‘key_path=value’, like ‘family=mimxrt595s’ or in structural configuration with separating character ‘/’ like ‘containers/0/binary_container=my_container.bin’. It could be used multiple times.

get-families#

Shows the full family info for commands in this group.

Usage

nxpimage tz get-families [OPTIONS]

Options

-c, --cmd-name <cmd_name>#

Choose the command name to get full information about NXP families support.

Options:

get-template | parse

get-template#

Create template of configuration in YAML format.

The template file name is specified as argument of this command.

Usage

nxpimage tz get-template [OPTIONS]

Options

-f, --family <family>#

[required] Select the chip family.

Options:

k32w148 | kw45b41z5 | kw45b41z8 | kw45z41052 | kw45z41053 | kw45z41082 | kw45z41083 | kw47b42z83 | kw47b42z96 | kw47b42z97 | kw47b42zb2 | kw47b42zb3 | kw47b42zb6 | kw47b42zb7 | kw47z42082 | kw47z42092 | kw47z420b2 | kw47z420b3 | lpc55s04 | lpc55s06 | lpc55s14 | lpc55s16 | lpc55s36 | lpc55s66 | lpc55s69 | mcxn235 | mcxn236 | mcxn247 | mcxn526 | mcxn527 | mcxn536 | mcxn537 | mcxn546 | mcxn547 | mcxn556s | mcxn557s | mcxn946 | mcxn947 | mcxw235 | mcxw236 | mcxw716a | mcxw716c | mcxw727a | mcxw727c | mcxw727d | mimxrt533s | mimxrt555s | mimxrt595s | mimxrt685s | mimxrt735s | mimxrt758s | mimxrt798s | nhs52s04 | rw610 | rw612

-r, --revision <revision>#

Chip revision; if not specified, most recent one will be used

-o, --output <output>#

Required Path to a file, where to store the output.

--force#

Force overwriting of existing files.

parse#

Parse TrustZone.

Usage

nxpimage tz parse [OPTIONS]

Options

-b, --binary <binary>#

Required Path to binary TrustZone to parse.

-f, --family <family>#

[required] Select the chip family.

Options:

k32w148 | kw45b41z5 | kw45b41z8 | kw45z41052 | kw45z41053 | kw45z41082 | kw45z41083 | kw47b42z83 | kw47b42z96 | kw47b42z97 | kw47b42zb2 | kw47b42zb3 | kw47b42zb6 | kw47b42zb7 | kw47z42082 | kw47z42092 | kw47z420b2 | kw47z420b3 | lpc55s04 | lpc55s06 | lpc55s14 | lpc55s16 | lpc55s36 | lpc55s66 | lpc55s69 | mcxn235 | mcxn236 | mcxn247 | mcxn526 | mcxn527 | mcxn536 | mcxn537 | mcxn546 | mcxn547 | mcxn556s | mcxn557s | mcxn946 | mcxn947 | mcxw235 | mcxw236 | mcxw716a | mcxw716c | mcxw727a | mcxw727c | mcxw727d | mimxrt533s | mimxrt555s | mimxrt595s | mimxrt685s | mimxrt735s | mimxrt758s | mimxrt798s | nhs52s04 | rw610 | rw612

-r, --revision <revision>#

Chip revision; if not specified, most recent one will be used

-o, --output <output>#

Required Path to a file, where to store the output.

utils#

Group of utilities.

Usage

nxpimage utils [OPTIONS] COMMAND [ARGS]...
binary-image#

Binary Image utilities.

Usage

nxpimage utils binary-image [OPTIONS] COMMAND [ARGS]...
align#

Align binary file to provided alignment and padded with specified pattern.

Usage

nxpimage utils binary-image align [OPTIONS]

Options

-i, --input-file <input_file>#

Required Binary file name to be aligned.

-o, --output <output>#

Aligned file name. If not specified, input file will be updated.

-a, --alignment <alignment>#

Alignment size.

-p, --pattern <pattern>#

Pattern of used padding (‘zeros’, ‘ones’, ‘rand’, ‘inc’ or any number value).

convert#

Convert input data file into selected format.

Usage

nxpimage utils binary-image convert [OPTIONS]

Options

-i, --input-file <input_file>#

Required Path to BIN/HEX/S19/ELF/SPARSE file to be converted.

-p, --keep-padding#

Preserve initial padding before the first image region instead of trimming it (default behavior).

-s, --split-image#

Split the output into individual sub-image files in the same directory as the output file.

-f, --format <output_format>#

Required Output format.

Options:

BIN | HEX | S19 | SREC | SPARSE

-o, --output <output>#

Required Path to a file, where to store the output.

create#

Create binary file with pattern.

The helper utility to create simple binary file with pattern.

Usage

nxpimage utils binary-image create [OPTIONS]

Options

-s, --size <size>#

Required Size of file to be created.

-p, --pattern <pattern>#

Pattern of created file (‘zeros’, ‘ones’, ‘rand’, ‘inc’ or any number value).

-f, --format <output_format>#

Output format.

Options:

BIN | HEX | S19

-o, --output <output>#

Required Path to a file, where to store the output.

export#

Export merged binary images together by description in YAML/JSON configuration.

The configuration template files could be generated by subcommand ‘utils binary-image get-template’.

Usage

nxpimage utils binary-image export [OPTIONS]

Options

-c, --config <config>#

Required Path to the YAML/JSON configuration file.

-oc, --override-config <key_path=value>#

Allows override the individual configuration settings. The use is simple: ‘key_path=value’, like ‘family=mimxrt595s’ or in structural configuration with separating character ‘/’ like ‘containers/0/binary_container=my_container.bin’. It could be used multiple times.

-o, --output <output>#

Required Path to a file, where to store the output.

-p, --keep-padding#

Preserve initial padding before the first image region instead of trimming it (default behavior).

-f, --format <output_format>#

Output format.

Options:

BIN | HEX | S19 | SREC | SPARSE

extract#

Extract chunk from binary file.

Usage

nxpimage utils binary-image extract [OPTIONS]

Options

-b, --binary <binary>#

Required Path to binary file to be used to extract chunk from.

-a, --address <address>#

Required Address of extracted chunk.

-s, --size <size>#

Required Size of extracted chunk. For ‘0’ it extract rest of the file from given address.

-o, --output <output>#

Required Path to a file, where to store the output.

get-template#

Create template of configuration in YAML format.

The template file name is specified as argument of this command.

Usage

nxpimage utils binary-image get-template [OPTIONS]

Options

-o, --output <output>#

Required Path to a file, where to store the output.

--force#

Force overwriting of existing files.

info#

Display comprehensive information about a binary file.

Shows detailed information including size, addresses, sub-images, and visual representation of the binary file structure.

Usage

nxpimage utils binary-image info [OPTIONS]

Options

-i, --input-file <input_file>#

Required Path to binary file to display information about.

-n, --no-color#

Disable color output in visual representation.

-d, --details#

Show detailed format-specific parsing information (for HEX, SREC, SPARSE formats).

pad#

Pad binary file to provided final size with specified pattern.

Usage

nxpimage utils binary-image pad [OPTIONS]

Options

-i, --input-file <input_file>#

Required Binary file name to be padded.

-o, --output <output>#

Padded file name. If not specified, input file will be updated.

-s, --size <size>#

Required Result file size.

-p, --pattern <pattern>#

Pattern of used padding (‘zeros’, ‘ones’, ‘rand’, ‘inc’ or any number value).

convert#

Conversion utilities.

Usage

nxpimage utils convert [OPTIONS] COMMAND [ARGS]...
bin2carr#

Convert binary file into C array string.

Default output is byte representation, but it could be converted to 16/32 or 64 bit unsigned types with specified endianness.

Usage

nxpimage utils convert bin2carr [OPTIONS]

Options

-i, --input-file <input_file>#

Required Path to binary file to be converted to C array.

-n, --name <name>#

The output C array name, if not specified the name of input file will be used.

-t, --type <output_type>#

The output C array type.

Options:

uint8_t | uint16_t | uint32_t | uint64_t

-e, --endian <endian>#

The binary input file endian.

Options:

big | little

-p, --padding <padding>#

The padding value in case of non aligned binary image.

-c, --count-per-line <count_per_line>#

The array items count per line.

--tab <tab>#

The tabulator size for new line.

-o, --output <output>#

Path to output text file with created C array, if not specified the output will be printed into standard output.

bin2hex#

Convert binary file into hexadecimal text file with optional reverse order of stored bytes.

Usage

nxpimage utils convert bin2hex [OPTIONS]

Options

-i, --input-file <input_file>#

Required Path to binary file with to be converted to hexadecimal text file.

-r, --reverse#

The result binary bytes will be stored in reverse order (for example SBKEK in elftosb this required).

-bpl, --bytes-per-line <bytes_per_line>#

Format the output to have this many bytes per line

-o, --output <output>#

Required Path to a file, where to store the output.

hex2bin#

Convert file with hexadecimal string into binary file with optional reverse order of stored bytes.

Usage

nxpimage utils convert hex2bin [OPTIONS]

Options

-i, --input-file <input_file>#

Required Path to text file with hexadecimal string to be converted to binary.

-r, --reverse#

The resulting binary bytes will be stored in reverse order (for example SBKEK in elftosb requires that).

-o, --output <output>#

Required Path to a file, where to store the output.