You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
1.4 KiB
43 lines
1.4 KiB
7 years ago
|
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
|