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.

_images/spsdk-architecture.png

Delivery#

SPSDK is delivered to:

Organization#

SPSDK is organized into modules:

List of SPSDK 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.

dice

Module covering DICE-related operations.

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

k32w148

Wireless Connectivity

Link to nxp.com

a2

kw45b41z5

Wireless Connectivity

Link to nxp.com

a2

kw45b41z8

Wireless Connectivity

Link to nxp.com

a2

lpc5502

LPC5500 Series

Link to nxp.com

a0

lpc5504

LPC5500 Series

Link to nxp.com

a0

lpc5506

LPC5500 Series

Link to nxp.com

a0

lpc5512

LPC5500 Series

Link to nxp.com

a0

lpc5514

LPC5500 Series

Link to nxp.com

a0

lpc5516

LPC5500 Series

Link to nxp.com

a0

lpc5526

LPC5500 Series

Link to nxp.com

1b

lpc5528

LPC5500 Series

Link to nxp.com

1b

lpc5534

LPC5500 Series

Link to nxp.com

1a

lpc5536

LPC5500 Series

Link to nxp.com

1a

lpc55s04

LPC5500 Series

Link to nxp.com

a1

lpc55s06

LPC5500 Series

Link to nxp.com

a1

lpc55s14

LPC5500 Series

Link to nxp.com

a1

lpc55s16

LPC5500 Series

Link to nxp.com

a1

lpc55s26

LPC5500 Series

Link to nxp.com

a1

lpc55s28

LPC5500 Series

Link to nxp.com

a1

lpc55s36

LPC5500 Series

Link to nxp.com

a1

lpc55s66

LPC5500 Series

Link to nxp.com

a1

lpc55s69

LPC5500 Series

Link to nxp.com

a1

lpc804

General Purpose MCU

Link to nxp.com

a0

lpc810

General Purpose MCU

Link to nxp.com

a0

lpc812

General Purpose MCU

Link to nxp.com

a0

lpc845

General Purpose MCU

Link to nxp.com

a0

lpc864

General Purpose MCU

Link to nxp.com

a0

lpc865

General Purpose MCU

Link to nxp.com

a0

mc56f81646

Digital Signal Controller

Link to nxp.com

b1

mc56f81648

Digital Signal Controller

Link to nxp.com

b1

mc56f81666

Digital Signal Controller

Link to nxp.com

b1

mc56f81668

Digital Signal Controller

Link to nxp.com

b1

mc56f81746

Digital Signal Controller

Link to nxp.com

b1

mc56f81748

Digital Signal Controller

Link to nxp.com

b1

mc56f81766

Digital Signal Controller

Link to nxp.com

b1

mc56f81768

Digital Signal Controller

Link to nxp.com

b1

mc56f81866

Digital Signal Controller

Link to nxp.com

b1

mc56f81868

Digital Signal Controller

Link to nxp.com

b1

mcxa132

General Purpose Processor

Link to nxp.com

a0

mcxa133

General Purpose Processor

Link to nxp.com

a0

mcxa142

General Purpose Processor

Link to nxp.com

a0

mcxa143

General Purpose Processor

Link to nxp.com

a0

mcxa144

General Purpose Processor

Link to nxp.com

a0

mcxa145

General Purpose Processor

Link to nxp.com

a0

mcxa146

General Purpose Processor

Link to nxp.com

a0

mcxa152

General Purpose Processor

Link to nxp.com

a0

mcxa153

General Purpose Processor

Link to nxp.com

a0

mcxa154

General Purpose Processor

Link to nxp.com

a0

mcxa155

General Purpose Processor

Link to nxp.com

a0

mcxa156

General Purpose Processor

Link to nxp.com

a0

mcxc041

General Purpose Processor

Link to nxp.com

a0

mcxc141

General Purpose Processor

Link to nxp.com

a0

mcxc142

General Purpose Processor

Link to nxp.com

a0

mcxc143

General Purpose Processor

Link to nxp.com

a0

mcxc144

General Purpose Processor

Link to nxp.com

a0

mcxc242

General Purpose Processor

Link to nxp.com

a0

mcxc243

General Purpose Processor

Link to nxp.com

a0

mcxc244

General Purpose Processor

Link to nxp.com

a0

mcxc443

General Purpose Processor

Link to nxp.com

a0

mcxc444

General Purpose Processor

Link to nxp.com

a0

mcxn235

MCX Industrial and IoT Microcontrollers

Link to nxp.com

a0

mcxn236

MCX Industrial and IoT Microcontrollers

Link to nxp.com

a0

mcxn546

MCX Industrial and IoT Microcontrollers

Link to nxp.com

a1

mcxn547

MCX Industrial and IoT Microcontrollers

Link to nxp.com

a1

mcxn946

MCX Industrial and IoT Microcontrollers

Link to nxp.com

a1

mcxn947

MCX Industrial and IoT Microcontrollers

Link to nxp.com

a1

mcxw716a

Wireless Connectivity

Link to nxp.com

a2

mcxw716c

Wireless Connectivity

Link to nxp.com

a2

mimx8ulp

i.MX 8 Applications Processors

Link to nxp.com

a0

mimx9131

i.MX 9 Applications Processors

Link to nxp.com

a0

mimx9352

i.MX 9 Applications Processors

Link to nxp.com

a1

mimxrt1010

i.MX RT Crossover MCUs

Link to nxp.com

a0

mimxrt1015

i.MX RT Crossover MCUs

Link to nxp.com

a0

mimxrt1020

i.MX RT Crossover MCUs

Link to nxp.com

a0

mimxrt1024

i.MX RT Crossover MCUs

Link to nxp.com

a0

mimxrt1040

i.MX RT Crossover MCUs

Link to nxp.com

a0

mimxrt1050

i.MX RT Crossover MCUs

Link to nxp.com

a0

mimxrt1060

i.MX RT Crossover MCUs

Link to nxp.com

a0

mimxrt1064

i.MX RT Crossover MCUs

Link to nxp.com

a0

mimxrt1165

i.MX RT Crossover MCUs

Link to nxp.com

a0

mimxrt1166

i.MX RT Crossover MCUs

Link to nxp.com

a0

mimxrt1171

i.MX RT Crossover MCUs

Link to nxp.com

a0

mimxrt1172

i.MX RT Crossover MCUs

Link to nxp.com

a0

mimxrt1173

i.MX RT Crossover MCUs

Link to nxp.com

a0

mimxrt1175

i.MX RT Crossover MCUs

Link to nxp.com

a0

mimxrt1176

i.MX RT Crossover MCUs

Link to nxp.com

a0

mimxrt1181

i.MX RT Crossover MCUs

Link to nxp.com

b0

mimxrt1182

i.MX RT Crossover MCUs

Link to nxp.com

b0

mimxrt1187

i.MX RT Crossover MCUs

Link to nxp.com

b0

mimxrt1189

i.MX RT Crossover MCUs

Link to nxp.com

b0

mimxrt533s

i.MX RT Crossover MCUs

Link to nxp.com

b0

mimxrt555s

i.MX RT Crossover MCUs

Link to nxp.com

b0

mimxrt595s

i.MX RT Crossover MCUs

Link to nxp.com

b0

mimxrt685s

i.MX RT Crossover MCUs

Link to nxp.com

b0

mimxrt798s

i.MX RT Crossover MCUs

Link to nxp.com

a0

mwct2012

Wireless Power

Link to nxp.com

b1

mwct2012a

Wireless Power

Link to nxp.com

b1

mwct2014s

Wireless Power

Link to nxp.com

a0

mwct2015s

Wireless Power

Link to nxp.com

a0

mwct2016s

Wireless Power

Link to nxp.com

a0

mwct20d2

Wireless Power

Link to nxp.com

b1

mwct20d2a

Wireless Power

Link to nxp.com

b1

mwct2d16s

Wireless Power

Link to nxp.com

a0

mwct2d17s

Wireless Power

Link to nxp.com

a0

nhs52s04

Wireless Connectivity

Link to nxp.com

a4

rw610

Wireless Connectivity

Link to nxp.com

a2

rw612

Wireless Connectivity

Link to nxp.com

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 version

  • z 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.