summaryrefslogtreecommitdiff
path: root/docs/user-guide.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/user-guide.md')
-rw-r--r--docs/user-guide.md99
1 files changed, 93 insertions, 6 deletions
diff --git a/docs/user-guide.md b/docs/user-guide.md
index 519be3d..6506624 100644
--- a/docs/user-guide.md
+++ b/docs/user-guide.md
@@ -1,7 +1,56 @@
-### Building the test framework
+EL3 Firmware Test Framework User Guide
+======================================
-2 platforms are supported at the moment:
- * FVP models
+Contents :
+
+1. Introduction
+2. Host machine requirements
+3. Tools
+4. Building the Test Framework
+
+- - - - - - - - - - - - - - - - - -
+
+1. Introduction
+----------------
+
+This document describes how to build the EL3 Firmware Test Framework for
+the Juno ARM development platform and ARM Fixed Virtual Platform (FVP)
+models.
+
+
+2. Host machine requirements
+-----------------------------
+
+The minimum recommended machine specification for building the software and
+running the FVP models is a dual-core processor running at 2GHz with 12GB of
+RAM. For best performance, use a machine with a quad-core processor running at
+2.6GHz with 16GB of RAM.
+
+The software has been tested on Ubuntu 12.04.04 (64-bit). Packages used
+for building the software were installed from that distribution unless
+otherwise specified.
+
+
+3. Tools
+---------
+
+The following tools are required to use the EL3 Firmware Test Framework:
+
+* Baremetal GNU GCC tools. Verified packages can be downloaded from [Linaro]
+ [Linaro Toolchain]. The rest of this document assumes that the
+ `gcc-linaro-aarch64-none-elf-4.9-2014.07_linux.tar.xz` tools are used.
+
+ wget http://releases.linaro.org/14.07/components/toolchain/binaries/gcc-linaro-aarch64-none-elf-4.9-2014.07_linux.tar.xz
+ tar -xf gcc-linaro-aarch64-none-elf-4.9-2014.07_linux.tar.xz
+
+* (Optional) For debugging, ARM [Development Studio 5 (DS-5)][DS-5] v5.19.
+
+
+4. Building the Test framework
+---------------------------------
+
+Two platforms are supported at the moment:
+ * FVP models: Foundation, Base AEM, Base Cortex
* Juno board
To build the software for one of these two platforms, follow these steps:
@@ -9,7 +58,7 @@ To build the software for one of these two platforms, follow these steps:
1. Specify the cross-compiler prefix, the targeted platform and build:
CROSS_COMPILE=<path-to-aarch64-gcc>/bin/aarch64-none-elf- \
- make PLAT=<platform>
+ make PLAT=<platform> all
... where `<platform>` is either `fvp` or `juno`.
@@ -17,18 +66,56 @@ To build the software for one of these two platforms, follow these steps:
debug version instead,
CROSS_COMPILE=<path-to-aarch64-gcc>/bin/aarch64-none-elf- \
- make PLAT=<platform> DEBUG=1
+ make PLAT=<platform> DEBUG=1 all
To make the build verbose, use:
CROSS_COMPILE=<path-to-aarch64-gcc>/bin/aarch64-none-elf- \
- make PLAT=<platform> V=1
+ make PLAT=<platform> V=1 all
2. The build process creates products in a `build` directory tree.
The resulting binary is in `build/<platform>/<build_type>/tftf.bin`
where `<build_type>` is either `debug` or `release`.
The resulting ELF file is in `build/<platform>/<build_type>/tftf/tftf.elf`
+### Summary of build options
+
+The Test Framework build system supports the following build options. Unless
+mentioned otherwise, these options are expected to be specified at the build
+command line and are not to be modified in any component makefiles. Note that
+the build system doesn't track dependency for build options. Therefore, if any
+of the build options are changed from a previous build, a clean build must be
+performed.
+
+* `CROSS_COMPILE`: Prefix to toolchain binaries. Please refer to examples in
+ this document for usage.
+
+* `DEBUG`: Choose between a debug and release build. It can take either 0
+ (release) or 1 (debug) as values. 0 is the default.
+
+* `PLAT`: Choose a platform to build the Test Framework for. The chosen
+ platform name must be the name of one of the directories under the `plat/`
+ directory other than `common`.
+
+* `TEST_REPORT_FORMAT`: Format of the test report. It can take either 'raw'
+ (text output on the console) or 'junit' (XML Junit format). The default is
+ 'raw'.
+
+* `V`: Verbose build. If assigned anything other than 0, the build commands
+ are printed. Default is 0.
+
+- - - - - - - - - - - - - - - - - - - - - - - - - -
+
+_Copyright (c) 2014, ARM Limited and Contributors. All rights reserved._
+
+
+[ARM FVP website]: http://www.arm.com/fvp
+[Linaro Toolchain]: http://releases.linaro.org/14.07/components/toolchain/binaries/
+[DS-5]: http://www.arm.com/products/tools/software-tools/ds-5/index.php
+
+
+---------------------------------------------------------
+Old documentation
### Overview of TFTF behaviour