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 :ref:`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
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:
.. toctree:: :maxdepth: 1 uart usb
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.
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
The tool for generating TrustZone, MasterBootImage, and SecureBinary images.
- generate TrustZone
- generate MasterBootImage
- generate SecureBinary
Note
This tool is deprecated, use :ref:`nxpimage` instead
elftosb --help
The ifr application allows user to generate IFR0:
- generate user configuration
- parse binary and extract configuration
- generate binary data
- list supported devices
ifr --help
The nxpcertgen application allows the user to:
- generate the self-signed x.509 certificates with properties given in the YAML configuration file.
- generate the template of Certificate generation YAML configuration file
The certificates are self-signed and support only BasicConstrains (ca, path_length).
nxpcertgen --help
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
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
The nxpdevhsm application allows user to generate provisioned SB file.
nxpdevhsm --help
The nxpdevscan application allows users to list all connected USB and UART NXP devices.
nxpdevscan --help
The nxpimage application allows users to:
- generate/parse AHAB images
- generate TrustZone images
- generate MasterBootImage images
- generate SecureBinary images
- generate custom binaries
nxpimage --help
The nxpkeygen application allows user to:
- generate RSA/ECC key pairs (private and public) with various key's attributes
Note
This tool is deprecated, use :ref:`nxpcrypto` instead
nxpkeygen --help
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
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
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
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