Introduction#
Secure Provisioning SDK (SPSDK) is a unified, reliable, and easy to use Python SDK library working across the NXP MCU portfolio providing a strong foundation from quick customer prototyping up to production deployment.
The library allows the user to connect and communicate with the device, configure the device, prepare, download, and upload data including security operations.
It is delivered in a form of:
Applications - applications which could be called from command-line using Python virtual environment,
APIs - functions in form of Python library.
Delivery#
SPSDK is delivered to:
Rblhost#
If you are interested in using the blhost tool, consider rblhost as a faster alternative. Implemented in Rust, rblhost offers similar functionality for interacting with MCU bootloader.
For more information and usage examples, visit the rblhost tool on GitHub or Crates.
Organization#
SPSDK is organized into modules:
Module name |
Description |
|---|---|
apps |
SPSDK applications package. |
crypto |
SPSDK cryptographic operations module. |
dat |
SPSDK Debug Authentication Tool support module. |
debuggers |
SPSDK debugger interface wrappers. |
dice |
SPSDK DICE (Device Identifier Composition Engine) operations. |
dk6 |
SPSDK DK6 device programming support. |
el2go |
SPSDK EdgeLock 2GO Trust Provisioning package. |
ele |
SPSDK EdgeLock Enclave support module. |
fuses |
SPSDK Fuses support utilities. |
image |
SPSDK image processing and generation utilities. |
lpcprog |
SPSDK LPC programming package. |
mboot |
SPSDK MCU Bootloader communication module. |
memcfg |
SPSDK Memory Configuration utilities. |
pfr |
SPSDK Protected Flash Region (PFR) management utilities. |
sbfile |
SPSDK SBFile format implementation. |
sdp |
SPSDK SDP (Serial Download Protocol) communication module. |
she |
SPSDK SHE (Secure Hardware Extension) support module. |
uboot |
SPSDK U-Boot device support utilities. |
utils |
SPSDK utilities package initialization module. |
wpc |
SPSDK WPC (Wireless Power Consortium) operations support. |
Supported OS#
Windows 10 and 11, 64bit
Ubuntu 22.04.1 LTS
Mac OS Sonoma 14
Supported Environment#
SPSDK is tested on Python 3.10+ interpreter, old version 2.x is not supported.
Versioning#
In a given version spsdk x.y.z
xmajor version (SemVer)yminor versionzpatch version
CLI/API stability notice#
Minor release may break compatibility!!!
Patch release will not break backward compatibility (any occurrence is treated as a bug)
New features might be implemented in both patch and minor releases.
Disclaimer#
All products, including those with advanced security features, may be subject to unidentified vulnerabilities. Customers are responsible for the design and operation of their applications and products to reduce the effect of these vulnerabilities on the customer’s applications and products. NXP accepts no liability for any security vulnerability. Customers are responsible for the design and operation of their applications and products and are responsible to implement appropriate design and operating safeguards to minimize the risk of potential security vulnerabilities associated with their applications and products.