Source code for the Trusted Boot Module.

S.J.R. van Schaik 8723a6e78d make: disable LTO as it discards the ISRs 2 years ago
include ecc8911272 stm32f1: jtag: add command to enable/disable JTAG 2 years ago
libopencm3 @ 0fd4f74ee3 71fce4254d opencm3: update to 2019-02-15 2 years ago
scripts 8723a6e78d make: disable LTO as it discards the ISRs 2 years ago
source ecc8911272 stm32f1: jtag: add command to enable/disable JTAG 2 years ago
support 51ac7402d6 make: stm32f1: update linker script path 2 years ago
.gitmodules edd4ee8d03 submodule: add libopencm3 4 years ago
Makefile 8723a6e78d make: disable LTO as it discards the ISRs 2 years ago
README e089e2ba4e readme: initial version 3 years ago
flash.scr e946d0ce3d tbm: initial commit 4 years ago

README

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