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:
Organization#
SPSDK is organized into modules:
Module name |
Description |
---|---|
apps |
This module contains various applications delivered with SPSDK. |
crypto |
Module for crypto operations (certificate and key management). |
dat |
This module contains support for Debug Authentication Tool. |
debuggers |
Wrappers for various types of debuggers. |
dk6 |
Support for programming DK6 devices. |
el2go |
Top-level package for el2go-tp. |
ele |
This module contains support for EdgeLock Enclave Tool. |
image |
Module implementing functionality of srktool, dcdgen, mkimage and other similar tools. |
mboot |
Module implementing communication with the MCU Bootloader. |
memcfg |
Module for working with Memory configuration. |
pfr |
Module for working with Protected Flash Region. |
sbfile |
Module implementing SBFile. |
sdp |
Module implementing the SDP communication protocol. |
shadowregs |
This module contains support for Shadow Registers Tool. |
tp |
Trust provisioning. |
uboot |
Uboot device. |
utils |
Module containing various functions/modules used throughout the SPSDK. |
wpc |
Module containing support for WPC operations. |
Supported Devices#
SPSDK name |
Category |
Weblink |
Latest Revision |
---|---|---|---|
k32w1xx |
Wireless Connectivity |
a2 |
|
kw45xx |
Wireless Connectivity |
a2 |
|
lpc550x |
LPC5500 Series |
a0 |
|
lpc551x |
LPC5500 Series |
a0 |
|
lpc552x |
LPC5500 Series |
1b |
|
lpc553x |
LPC5500 Series |
1a |
|
lpc55s0x |
LPC5500 Series |
a1 |
|
lpc55s1x |
LPC5500 Series |
a1 |
|
lpc55s2x |
LPC5500 Series |
a1 |
|
lpc55s3x |
LPC5500 Series |
a1 |
|
lpc55s6x |
LPC5500 Series |
a1 |
|
mc56f816xx |
Digital Signal Controller |
b1 |
|
mc56f817xx |
Digital Signal Controller |
b1 |
|
mc56f818xx |
Digital Signal Controller |
b1 |
|
mcxa142 |
General Purpose Processor |
a0 |
|
mcxa143 |
General Purpose Processor |
a0 |
|
mcxa144 |
General Purpose Processor |
a0 |
|
mcxa145 |
General Purpose Processor |
a0 |
|
mcxa146 |
General Purpose Processor |
a0 |
|
mcxa152 |
General Purpose Processor |
a0 |
|
mcxa153 |
General Purpose Processor |
a0 |
|
mcxa154 |
General Purpose Processor |
a0 |
|
mcxa155 |
General Purpose Processor |
a0 |
|
mcxa156 |
General Purpose Processor |
a0 |
|
mcxn23x |
MCX Industrial and IoT Microcontrollers |
a0 |
|
mcxn54x |
MCX Industrial and IoT Microcontrollers |
a1 |
|
mcxn94x |
MCX Industrial and IoT Microcontrollers |
a1 |
|
mcxw71xx |
Wireless Connectivity |
a2 |
|
mwct2x12 |
Wireless Power |
b1 |
|
mwct2xd2 |
Wireless Power |
b1 |
|
mwct2xxxs |
Wireless Power |
a0 |
|
mx8ulp |
i.MX 8 Applications Processors |
a0 |
|
mx93 |
i.MX 9 Applications Processors |
a1 |
|
nhs52sxx |
Wireless Connectivity |
a1 |
|
rt1010 |
i.MX RT Crossover MCUs |
a0 |
|
rt1015 |
i.MX RT Crossover MCUs |
a0 |
|
rt102x |
i.MX RT Crossover MCUs |
a0 |
|
rt104x |
i.MX RT Crossover MCUs |
a0 |
|
rt105x |
i.MX RT Crossover MCUs |
a0 |
|
rt106x |
i.MX RT Crossover MCUs |
a0 |
|
rt116x |
i.MX RT Crossover MCUs |
a0 |
|
rt117x |
i.MX RT Crossover MCUs |
a0 |
|
rt118x |
i.MX RT Crossover MCUs |
b0 |
|
rt5xx |
i.MX RT Crossover MCUs |
b0 |
|
rt6xx |
i.MX RT Crossover MCUs |
b0 |
|
rw61x |
Wireless Connectivity |
a2 |
Supported OS#
Windows 10 and 11, 64bit
Ubuntu 22.04.1 LTS
Mac OS Sonoma 14
Supported Environment#
SPSDK is tested on Python 3.9+ interpreter, old version 2.x is not supported.
Versioning#
In a given version spsdk x.y.z
x
major version (SemVer)y
minor versionz
patch 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.