Source code for the Trusted Boot Module.
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.
 
 
 
S.J.R. van Schaik b4ecfb527c ftl: check magic in read_page_group() 7 years ago
include tbm: fix minor issues during compilation 7 years ago
libopencm3@8a62618a63 submodule: add libopencm3 8 years ago
scripts make: set up test framework 7 years ago
source ftl: check magic in read_page_group() 7 years ago
support stm32f1: initial support 7 years ago
.gitmodules submodule: add libopencm3 8 years ago
Makefile test: flash: implement wrappers for flash_write() and flash_erase() 7 years ago
README readme: initial version 7 years ago
flash.scr tbm: initial commit 8 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