Running Tests
Refer to the Juno and FVP platform documentation in the TF-A documentation. The same instructions mostly apply to running the TF-A Tests on those two platforms. The difference is that the following images are not needed here:
Normal World bootloader. The TFTF replaces it in the boot flow;
Linux Kernel;
Device tree;
Filesystem.
In other words, only the following software images are needed:
BL1
firmware image;FIP
image containing the following images:BL2
;SCP_BL2
if required by the platform (e.g. Juno);BL31
;BL32
(optional);tftf.bin
(standing as the BL33 image).
Running Manual Tests on FVP
The manual tests rely on storing state in non-volatile memory (NVM) across reboot. On FVP the NVM is not persistent across reboots, so the following flag must be used to write the NVM to a file when the model exits.
-C bp.flashloader0.fnameWrite=[filename]
To ensure the model exits on shutdown the following flag must be used:
-C bp.ve_sysregs.exit_on_shutdown=1
After the model has been shutdown, this file must be fed back in to continue the test. Note this flash file includes the FIP image, so the original fip.bin does not need to be passed in. The following flag is used:
-C bp.flashloader0.fname=[filename]
Running Firmware Update (FWU) Tests
As previously mentioned in Putting it all together, there are a couple of extra images involved when running the FWU tests. They need to be loaded at the right addresses, which depend on the platform.
On FVP
In addition to the usual BL1 and FIP images, the following extra images must be loaded:
NS_BL1U
image at address0x0BEB8000
(i.e. NS_BL1U_BASE macro in TF-A)FWU_FIP
image at address0x08400000
(i.e. NS_BL2U_BASE macro in TF-A)Backup FIP
image at address0x09000000
(i.e. FIP_BKP_ADDRESS macro in TF-A tests).
An example script is provided in scripts/run_fwu_fvp.sh
.
On Juno
The same set of extra images and load addresses apply for Juno as for FVP.
The new images must be programmed in flash memory by adding some entries in the
SITE1/HBI0262x/images.txt
configuration file on the Juno SD card (where
x
depends on the revision of the Juno board). Refer to the Juno Getting
Started Guide, section 2.3 “Flash memory programming” for more
information. Users should ensure these do not overlap with any other entries in
the file.
Addresses in this file are expressed as an offset from the base address of the
flash (that is, 0x08000000
).
NOR10UPDATE: AUTO ; Image Update:NONE/AUTO/FORCE
NOR10ADDRESS: 0x00400000 ; Image Flash Address
NOR10FILE: \SOFTWARE\fwu_fip.bin ; Image File Name
NOR10LOAD: 00000000 ; Image Load Address
NOR10ENTRY: 00000000 ; Image Entry Point
NOR11UPDATE: AUTO ; Image Update:NONE/AUTO/FORCE
NOR11ADDRESS: 0x03EB8000 ; Image Flash Address
NOR11FILE: \SOFTWARE\ns_bl1u.bin ; Image File Name
NOR11LOAD: 00000000 ; Image Load Address
NOR11ENTRY: 00000000 ; Image Load Address
NOR12UPDATE: AUTO ; Image Update:NONE/AUTO/FORCE
NOR12ADDRESS: 0x01000000 ; Image Flash Address
NOR12FILE: \SOFTWARE\backup_fip.bin ; Image File Name
NOR12LOAD: 00000000 ; Image Load Address
NOR12ENTRY: 00000000 ; Image Entry Point
Copyright (c) 2019, Arm Limited. All rights reserved.