==============================================
= ARM RealView Emulation Board Documentation =
==============================================


Howto build UEFI RealView EB for RealTime System Model
------------------------------------------------------

For Linux
---------

1. Get EDK2 from Tianocore Subversion repository
svn co https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2 edk2 --username guest
 
2. Get FatPkg from EDK2 SVN repository: 
cd edk2
svn co https://edk2-fatdriver2.svn.sourceforge.net/svnroot/edk2-fatdriver2/trunk/FatPkg FatPkg --username guest

3. Apply BaseTools patches (BaseTools-Pending-Patches.patch combines all the currently pending BaseTools patches)
patch -p1 < ArmPlatformPkg/Documentation/patches/BaseTools-Pending-Patches.patch

4. Set up the environment. And build the EDK2’s tools
export EDK_TOOLS_PATH=`pwd`/BaseTools
. edksetup.sh `pwd`/BaseTools/
make -C $EDK_TOOLS_PATH

5. Build the ARM RealView EB UEFI Firmware
build -a ARM -p ArmPlatformPkg/ArmRealViewEBPkg/ArmRealViewEb-RTSM-A8.dsc -t RVCTLINUX


Howto test UEFI RealView EB on RealTime System Model - Example Cortex A8
------------------------------------------------------------------------

   1. Build 'ArmRealViewEb-RTSM-A8.dsc'

   2. To Run ArmRealViewEbPkg on the RTSM
         1. Start RealView Debugger
         2. Target > "Connect to Target"
         3. Add RTSM
         4. Configure this new RTSM.
         5. Choose CortexA8
         6. Setup the 'fname' of baseboard.flashldr_0 with your FD file (eg: c:\dev\edk2\Build\ArmRealViewEb-RTSM-A8\DEBUG_RVCT\FV\ARMREALVIEWEB_EFI.fd)
         7. Turn use_s8 to TRUE in baseboard.sp810_sysctrl
         8. Turn uart_enable to TRUE in baseboard.uart_0 
   4. Connect a telnet client to the port 5000 of your localhost
   5. Launch the program 