The FVPs can be debugged using Arm Development Studio [2]_.
-TF-A's FIP format [5]. It contains all images executed by TF-A, including U-Boot.
+ Building U-Boot
+ ^^^^^^^^^^^^^^^
+
+ Set the ``CROSS_COMPILE`` environment variable as usual, and run:
+
+ .. code-block:: bash
+
+ make vexpress_fvp_defconfig
+ make
+
+ Running U-Boot
+ ^^^^^^^^^^^^^^
+
+ Set ``CROSS_COMPILE`` as usual and build TF-A:
+
+ .. code-block:: bash
+
+ git clone https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git
+ cd trusted-firmware-a
+ make PLAT=fvp BL33=/path/to/u-boot.bin fiptool all fip
+
+ This command generates the ROM image `bl1.bin`, and a boot image `fip.bin` in
++TF-A's FIP format [5]_. It contains all images executed by TF-A, including U-Boot.
+ Note that TF-A outputs the built binaries into `build/fvp/release/`.
+
+ If you already have a FIP image, and are primarily interested in updating the BL33
+ image (i.e., U-Boot), use `fiptool` from TF-A:
+
+ .. code-block:: bash
+
+ make fiptool
+ tools/fiptool/fiptool update --nt-fw=/path/to/u-boot.bin /path/to/fip.bin
+
+ To run the FVP:
+
+ .. code-block:: bash
+
+ FVP_Base_RevC-2xAEMvA -C bp.flashloader0.fname=fip.bin \
+ -C bp.secureflashloader.fname=bl1.bin \
+ -C bp.vis.disable_visualisation=1
+
+ This setup relies on semi-hosting, as well as, having a kernel image (``Image``)
+ and ramdisk (``ramdisk.img``) in the current working directory.
+
Juno
----