Source code for the Trusted Boot Module.
Find a file
2017-10-31 11:59:48 +01:00
include stm32f0: stm32f1: buzzer: initial implementation 2017-10-31 11:57:28 +01:00
libopencm3@8a62618a63 submodule: add libopencm3 2017-02-27 14:47:55 +00:00
scripts make: set up test framework 2017-09-19 14:15:26 +02:00
source main: initialize buzzers and add shell commands 2017-10-31 11:59:48 +01:00
support stm32f1: initial support 2017-08-01 14:37:27 +02:00
.gitmodules submodule: add libopencm3 2017-02-27 14:47:55 +00:00
flash.scr tbm: initial commit 2017-02-27 14:48:38 +00:00
Makefile test: flash: use different mocking technique 2017-09-19 17:49:26 +02:00
README readme: initial version 2017-08-04 15:25:52 +02:00

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