42 lines
1.4 KiB
Text
42 lines
1.4 KiB
Text
Prerequisites
|
|
=============
|
|
|
|
A cross-compiler targetting ARMv6 or ARMv7-M such as the GNU ARM Embedded Toolchain is required to build the source code for the Trusted Boot Module.
|
|
Either install it using your package manager or download the toolchain from https://developer.arm.com/open-source/gnu-toolchain/gnu-rm.
|
|
For Gentoo users, an ebuild is available in the tbm-overlay repository.
|
|
Building your own cross-compiler using a tool like crossdev can be quite tricky, and is therefore discouraged.
|
|
|
|
To build the source code in this repository, you will also need libopencm3.
|
|
Download the source code for libopencm3 and build it as follows:
|
|
|
|
git submodule init
|
|
git submodule update
|
|
make -C libopencm3
|
|
|
|
Supported targets
|
|
=================
|
|
|
|
The targets that are currently supported are:
|
|
|
|
* A simulation compatible with your host device (not up-to-date; requires an older git revision): TARGET=host make
|
|
* STM32F0 Discovery board: TARGET=stm32f0 make
|
|
* Trusted Boot Module (rev. 1): TARGET=stm32f1 make
|
|
|
|
Building
|
|
========
|
|
|
|
To build the code for the Trusted Boot Module, run:
|
|
|
|
TARGET=stm32f1 make
|
|
|
|
Flashing and Debugging
|
|
======================
|
|
|
|
In case of the STM32F0 Discovery board, simply connect the device using a USB cable. In case of the TBM, connect the device using SWD.
|
|
Then run the following as root:
|
|
|
|
TARGET=stm32f1 make openocd
|
|
|
|
To flash and run the program, issue the following command:
|
|
|
|
TARGET=stm32f1 make run
|