Open Source Secure Provisioning SDK for NXP MCU/MPU
Project description
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.