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 :ref:`build_putting_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 address ``0x0BEB8000`` (i.e. NS_BL1U_BASE macro in TF-A) - ``FWU_FIP`` image at address ``0x08400000`` (i.e. NS_BL2U_BASE macro in TF-A) - ``Backup FIP`` image at address ``0x09000000`` (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.* .. _Juno Getting Started Guide: http://infocenter.arm.com/help/topic/com.arm.doc.dui0928e/DUI0928E_juno_arm_development_platform_gsg.pdf .. _Juno and FVP platform documentation: https://trustedfirmware-a.readthedocs.io/en/latest/plat/ .. _TF-A documentation: https://trustedfirmware-a.readthedocs.org