Applications#
SPSDK includes several applications which could be called directly from the command line.
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.
Device |
|||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
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 |
✅ |
Device |
|||||||||
---|---|---|---|---|---|---|---|---|---|
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