Skip to content

Latest commit

 

History

History
246 lines (161 loc) · 5.72 KB

applications.rst

File metadata and controls

246 lines (161 loc) · 5.72 KB

Applications

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

../_static/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 :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

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:

.. toctree::
    :maxdepth: 1

    uart
    usb

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.

../_static/images/spsdk-applications.png

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 ifr application allows user to generate IFR0:

  • generate user configuration
  • parse binary and extract configuration
  • generate binary data
  • list supported devices
ifr --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 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

Deleted/deprecated applications

nxpcertgen

Note

This tool was replaced by :ref:`nxpcrypto`

nxpkeygen

Note

This tool was replaced by :ref:`nxpcrypto`

elftosb

Note

This tool was replaced by :ref:`nxpimage`