Applications#

SPSDK includes several applications which could be called directly from the command line.

../_images/spsdk-architecture-apps.png

Command-line applications are available in PATH after activating a virtual environment with SPSDK installed in it.

Note

See how to install SPSDK in Installation Guide chapter. If you don’t use virtual environments, the availability is not guaranteed (you’d need to add Python’s Scripts folder to PATH first).

All applications could be accessed either using a special application called spsdk or directly by its name (e.g. blhost, pfr, …).

spsdk --help

Application Connectivity#

Some applications communicate with NXP devices connected to the host PC. Details on how to configure the connectivity could be found in the following chapters:

Application Overview#

SPSDK applications are used for various functions and not all applications are valid for all NXP MCU device portfolios. The table mapping particular applications to a specific device is below.

NXPIMAGE Supported devices#

Device

rot

mbi

HAB

AHAB

Bootable Image

fcb

xmcd

BEE

IEE

OTFAD

sb21

sb31

tz

mcxn9xx

v2.1

rt102x

SRK

rt116x

SRK

rt106x

SRK

kw45xx

v2.1

lpc55s0x

v1.0

lpc550x

rt105x

SRK

rt117x

SRK

nhs52sxx

v1.0

mx95

SRK

lpc552x

lpc553x

mx8ulp

SRK

mcxa1xx

rt5xx

v1.0

lpc55s2x

v1.0

mx93

SRK

rt6xx

v1.0

lpc55s3x

v2.1

rt104x

SRK

rt118x

SRK

rt101x

SRK

mwct2xxxs

mcxn23x

v2.1

k32w1xx

v2.1

mc56f81xxx

vX

lpc55s1x

v1.0

rw61x

v2.1

lpc551x

lpc55s6x

v1.0

mwct20d2x

vX

Other apps supported devices#

Device

nxpdebugmbox

PFR

ifr

shadowregs

nxpdevhsm

tphost

nxpele

nxpmemcfg

nxpwpc

mcxn9xx

rt102x

rt116x

rt106x

kw45xx

lpc55s0x

lpc550x

rt105x

rt117x

nhs52sxx

mx95

lpc552x

lpc553x

mx8ulp

mcxa1xx

rt5xx

lpc55s2x

mx93

rt6xx

lpc55s3x

rt104x

rt118x

rt101x

mwct2xxxs

mcxn23x

k32w1xx

mc56f81xxx

lpc55s1x

rw61x

lpc551x

lpc55s6x

mwct20d2x

blhost#

The blhost application is a utility for communication with MCU Bootloader on NXP devices.

It allows user to:

  • apply configuration block at internal memory address to memory with ID

  • program one word of OCOTP Field

  • read one word of OCOTP Field

  • erase region of the flash

  • erase all flash/sections of flash according to memory id

  • erase complete flash memory and recover flash security section

  • fill memory with a pattern

  • get/set bootloader-specific property

  • write/read memory

  • reset the device

  • generate the Key Blob for a given DEK

  • receive SB file

  • load a boot image to the device

  • key provisioning

  • execute an application at the address

  • write image to memory specified by ID

  • invoke code at an address

  • program aeskey

  • disable flash security by using of backdoor key

  • read resource of flash module

  • program/read fuse

  • list all memories

  • perform reliable update

  • invoke blhost commands defined in command file

  • perform trust-provisioning commands

blhost --help

ifr#

The ifr application allows user to generate IFR0:

  • generate user configuration

  • parse binary and extract configuration

  • generate binary data

  • list supported devices

ifr --help

nxpcrypto#

The nxpcrypto application allows user to:

  • generate RSA/ECC key pairs (private and public) with various key’s attributes

  • verify key pairs

  • convert key file format (PEM/DER/RAW)

  • generate/verify x509 certificates

  • generate/verify hash digests

nxpcrypto --help

nxpdebugmbox#

The nxpdebugmbox application allows user to:

  • perform the Debug Authentication

  • start/exit Debug Mailbox

  • enter ISP mode

  • set Fault Analysis Mode

  • erase flash

  • test connection

  • generate debug credential files based on YAML configuration file

  • generate the template of Debug Credentials YAML configuration file

nxpdebugmbox --help

nxpdevhsm#

The nxpdevhsm application allows user to generate provisioned SB file.

nxpdevhsm --help

nxpdevscan#

The nxpdevscan application allows users to list all connected USB and UART NXP devices.

nxpdevscan --help

nxpimage#

The nxpimage application allows users to:

  • generate/parse AHAB images

  • generate TrustZone images

  • generate MasterBootImage images

  • generate SecureBinary images

  • generate custom binaries

nxpimage --help

nxpmemcfg#

The nxpmemcfg application allows users to:

  • check database of known configuration option words for external memories

  • parse existing configuration option words

  • export option words from configuration

  • generate BLHOST scripts to configure memory

nxpmemcfg --help

PFR#

The pfr application is a utility for generating and parsing Protected Flash Region data (CMPA, CFPA).

It allows user to:

  • generate user configuration

  • parse binary and extract configuration

  • generate binary data.

  • generate HTML page with brief description of CMPA/CFPA configuration fields

  • list supported devices

pfr --help

sdphost#

The sdphost application is a utility for communication with ROM on i.MX targets using SDP protocol (i.MX RT1xxx).

It allows user to:

  • get error code of the last operation

  • jump to the entry point of the image with IVT at a specified address

  • write a file at the address

  • read one or more registers

sdphost --help

sdpshost#

The sdpshost application is a utility for communication with ROM on i.MX targets using SDPS protocol (i.MX8/9).

It allows the user to write boot image data from the provided binary file.

Warning

This is an experimental utility. Use with caution!

sdphost --help

shadowregs#

The shadowregs application is a utility for Shadow Registers controlling.

It allows user to:

  • save the current state of shadow registers to the YAML file

  • load new state of shadow registers from YAML file into the microcontroller

  • print all shadow registers including their current values

  • print the current value of one shadow register

  • set a value of one shadow register defined by parameter

  • reset the connected device

  • print a list of supported devices

shadowregs --help

Deleted/deprecated applications#

nxpcertgen#

Note

This tool was replaced by nxpcrypto

nxpkeygen#

Note

This tool was replaced by nxpcrypto

elftosb#

Note

This tool was replaced by nxpimage