diff options
Diffstat (limited to 'docs/user-guide.md')
-rw-r--r-- | docs/user-guide.md | 99 |
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 |