From e089e2ba4e9aa2ccab1eff4ad4121126b12b6c0e Mon Sep 17 00:00:00 2001 From: "S.J.R. van Schaik" Date: Fri, 4 Aug 2017 15:25:52 +0200 Subject: [PATCH] readme: initial version --- README | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 README diff --git a/README b/README new file mode 100644 index 0000000..3f770e5 --- /dev/null +++ b/README @@ -0,0 +1,42 @@ +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