sbl
sbl copied to clipboard
MCU-OTA SBL Project
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.
1. SBL Introduction
-
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
2. Quick Start
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.
2.1 Linux Host
- 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.binimage is built insbl/target/evkmimxrt1170/builddirectory. - Download the image.
Use DapLink drag-n-drop or other tools to download image.
2.2 Windows Host
- 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
2.3 Others
- Please refer to the User Guide for more information in doc folder.
- Please find SFW project from https://github.com/NXPmicro/sfw.