NXP Secure Provisioning SDK
Secure Provisioning SDK (SPSDK) allows the user to connect and communicate with a device; configure the device; prepare, download, and upload data including security operations. It is delivered in a form of python library and command-line applications.
Architecure
SPSDK is a library which may be separated into the following layers based on performed functionality:
-
Application Layer is a layer allowing SPSDK integration into various applications such as command-line utilities, GUI tools, DevOps/Automation infrastructure which is used in prototyping, production, or testing environments or any application based on specific customer needs. As a part of the library, several command-line applications are included.
-
Library Layer abstracts functionality related to images or messages creation and parsing including required security and cryptography functionality.
-
Protocol Layer packs or unpacks messages and images into a protocol defined by the required device counterpart.
-
Communication Layer links SPSDK and connected devices.
Supported Devices
Following NXP devices are supported:
Installation
- Make sure to have Python 3.6+ installed
- Create a virtual environment (venv, pipenv, etc.)
Directly from GitHub:
$ pip install -U https://github.com/NXPmicro/spsdk/archive/master.zip
Install SPSDK from sources:
$ git clone https://github.com/NXPmicro/spsdk.git
$ cd spsdk
$ pip install -r requirements-develop.txt
$ pip install -U -e .
In Windows OS you need to install Microsoft Visual C++ Build Tools
Note: If you use pip version 20.3, please downgrade it to 20.2.4, because of new resolver functionality.
Usage
- See examples directory
- See application directory
i.Mx RT 1050
To run examples using i.MX RT 1050 you need to download a flashloader:
- Go to: https://www.nxp.com/webapp/sps/download/license.jsp?colCode=IMX-RT1050-FLASHLOADER
- Review the license agreement, download and unzip the package
- Convert the elf file into bin (For this operation you need to have MCUXpresso IDE, IAR or Keil)
- run
python tools\flashloader_converter.py --elf-path <path/to/flashloader.elf> --ide-type <mcux | iar | keil> --ide-path <path/to/IDE/install/folder
- run
Dependencies
SPSDK requires Python >3.5 and <3.9 interpreter, old version 2.x is not supported !
The core dependencies are included in requirements.txt file.
The dependencies for the development and testing are included in requirements-develop.txt.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file spsdk-1.3.0.tar.gz.
File metadata
- Download URL: spsdk-1.3.0.tar.gz
- Upload date:
- Size: 289.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.58.0 CPython/3.7.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3efdd4c4f7c7b84b74b30cbe1e1c997c695ae426f55d98278a4418e29961f730
|
|
| MD5 |
d0049dbc1da54f43781adea6dddf7b7e
|
|
| BLAKE2b-256 |
5ee47100a96e504e325aa9b261cff1c19de02cb1e51598f6f2113c9626e6da0e
|
File details
Details for the file spsdk-1.3.0-py3-none-any.whl.
File metadata
- Download URL: spsdk-1.3.0-py3-none-any.whl
- Upload date:
- Size: 371.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.58.0 CPython/3.7.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
70529d11be1568573830df080d72efc1359d08a7fa9c76209f2870019227daca
|
|
| MD5 |
1a837039940880790b25e615a7b0e3f5
|
|
| BLAKE2b-256 |
134578fb630c4879ead0db8a6b611a10369c9848b86d9c8d2987bef3d90ecbd7
|