Note: This project is not under active development now. For actively maintained examples of second stage bootloader based on MCUBoot see the latest release of MCUXpresso SDK.
-
Secure Bootloader(SBL) project is used for secure OTA.
The SBL project diagram is as below.
The SBL project architecture is as below.
-
Toolchains supported by this project
- Windows host
(1) MDK5 v5.30
(2) arm-none-eabi-gcc
(3) IAR v8.50 - Linux host
arm-none-eabi-gcc
- Windows host
-
Platforms supported by this project
- i.MXRTxxxx
- i.MXRTxxx
- LPC
-
Other host system requirements
- Git
Use i.MXRT1170 platform as an example
-- Note --
All platforms in target directory are decoupled. So if you only focus on one platform, after clone the whole sbl project, you can delete other platforms in target directory directly.
- Install SCons.
Ubuntu, Debian:$ sudo apt-get install scons
RPM-based (Red Hat, SUSE, Fedora ...):$ sudo yum install scons
- Install the gcc toolchain like: gcc-arm-none-eabi-9-2019-q4-major
- Clone this project.
$ git clone https://github.com/NXPmicro/sbl.git
- Enter the evkmimxrt1170 directory.
$ cd target/evkmimxrt1170/
- Config the evkmimxrt1170 project.
$ scons --menuconfig
- Set 'EXEC_PATH' as gcc toolchain install path for
CROSS_TOOL == 'gcc'
insblprofile.py
.
Below is an example:
EXEC_PATH = r'/opt/share/toolchain/gcc-arm-none-eabi-9-2019-q4-major/bin'
Alternatively, 'SBL_EXEC_PATH' can be added into Linux environment variable to cover the 'EXEC_PATH'. - Build the image with gcc toolchain.
$ scons
thensbl.bin
image is built insbl/target/evkmimxrt1170/build
directory. - Download the image.
Use DapLink drag-n-drop or other tools to download image.
- Clone this project.
git clone https://github.com/NXPmicro/sbl.git
- Enter the directory
sbl/target/evkmimxrt1170
. - Double click the batch file
env.bat
. - Config the evkmimxrt1170 project.
scons --menuconfig
- Build and download the image.
- with gcc toolchain
(1) Obtain gcc toolchain from ARM or MinGW website and install to the Windows host.
(2) Set 'EXEC_PATH' as gcc toolchain install path forCROSS_TOOL == 'gcc'
insblprofile.py
.
Below is an example:
EXEC_PATH = r'C:\Program Files (x86)\GNU Arm Embedded Toolchain\9 2020-q2-update\bin'
Alternatively, 'SBL_EXEC_PATH' can be added into Windows environment variable to cover the 'EXEC_PATH'.
(3) Build the image.
scons
(4) Download the image.
Use DapLink drag-n-drop or other tools to download image. - with IAR IDE
(1) Create IAR project.
scons --ide=iar
(2) Enter the directorysbl/target/evkmimxrt1170/iar
.
(3) Double-click the IAR project filesbl.eww
.
(4) Click the "Make" button to build.
(5) Click the "Download" button to download. - with KEIL IDE
(1) Create keil project.
scons --ide=mdk5
(2) Enter the directorysbl/target/evkmimxrt1170/mdk
.
(3) Double-click the keil project filesbl.uvprojx
.
(4) Click the "Build" button to build.
(5) Click the "Download" button to download.
- with gcc toolchain
- Please refer to the User Guide for more information in doc folder.
- Please find SFW project from https://github.com/NXPmicro/sfw.