mirror of https://github.com/acidanthera/audk.git
ArmPlatformPkg: remove mention of ARMGCC and ARMLINUXGCC
Remove the ARMGCC and ARMLINUXGCC from comments in the respective Makefiles of ArmPlatformPkg and ArmJunoPkg. Also drop the wildly outdated Versatile Express instructions, since they refer to ARMGCC as well. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18209 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
460616bdec
commit
e01b4a8a9a
|
@ -10,10 +10,8 @@
|
|||
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
#
|
||||
|
||||
# Define the following variables to specify an alternative toolchain to the one located in your PATH:
|
||||
# Define the following variable to specify an alternative toolchain to the one located in your PATH:
|
||||
# - RVCT_TOOLS_PATH: for RVCT and RVCTLINUX toolchains
|
||||
# - ARMGCC_TOOLS_PATH: for ARMGCC toolchain
|
||||
# - ARMLINUXGCC_TOOLS_PATH: for ARMLINUXGCC
|
||||
|
||||
EDK2_TOOLCHAIN ?= GCC49
|
||||
GCC49_AARCH64_PREFIX ?= aarch64-none-elf-
|
||||
|
|
|
@ -1,169 +0,0 @@
|
|||
=======================================
|
||||
= ARM Versatile Express Documentation =
|
||||
=======================================
|
||||
|
||||
Status
|
||||
------
|
||||
Build and Run on EDK2 Subversion revision 11837
|
||||
Requirements
|
||||
- RVCTv3 (untested) or RVCTv4 or ARMGCC (Code Sourcery q201009)
|
||||
- Using Ubuntu: gcc, make, uuid-dev
|
||||
- Using Cygwin: gcc, make, e2fsprogs (needed for uuid.h)
|
||||
|
||||
Serial Terminal settings
|
||||
- Baud Rates: 38400
|
||||
- Data: 8 bit
|
||||
- Parity: None
|
||||
- Flow Control: None
|
||||
|
||||
|
||||
Use ICE debugger with Versatile Express
|
||||
---------------------------------------
|
||||
Prior to use ICE debugger with Versatile Express, you will need to update the version of the ICE's firmware.
|
||||
If you have not installed RealView 4.0 SP3, do it.
|
||||
Open "RealView ICE Update" and "Install Firmware Update ...". Install "[ARM_INSTALL_PATH]\RVI\Firmware\3.4\11\ARM-RVI-3.4.0-25-base.rvi" and "[ARM_INSTALL_PATH]\RVI\Firmware\3.4\22\ARM-RVI-3.4.59-59-patch.rvi".
|
||||
|
||||
|
||||
Howto build UEFI Versatile Express
|
||||
----------------------------------
|
||||
For Linux
|
||||
---------
|
||||
|
||||
For the first time
|
||||
******************
|
||||
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. Set up the environment. And build the EDK2’s tools
|
||||
export EDK_TOOLS_PATH=`pwd`/BaseTools
|
||||
. edksetup.sh
|
||||
make -C $EDK_TOOLS_PATH
|
||||
|
||||
4. Ensure the ARMGCC toolchain is in your PATH environment variable or defined by the ARMGCC_TOOLS_PATH environment variable. Example:
|
||||
export ARMGCC_TOOLS_PATH=/opt/toolchains/arm-2010.09-arm-none-eabi-i686-pc-linux-gnu/bin/
|
||||
|
||||
5. Build the ARM Versatile Express UEFI Firmware
|
||||
build -a ARM -p ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-CTA9x4.dsc -t ARMGCC
|
||||
|
||||
6. Edit the ARM Versatile Express configuration file config.txt to declare the location of the UEFI firmware in NOR Flash
|
||||
TOTALIMAGES: 5 ;Number of Images (Max : 32)
|
||||
NOR0UPDATE: AUTO ;Image Update:NONE/AUTO/FORCE
|
||||
NOR0ADDRESS: BOOT ;Image Flash Address
|
||||
NOR0FILE: \SOFTWARE\bm_v209.axf ;Image File Name
|
||||
NOR1UPDATE: AUTO ;IMAGE UPDATE:NONE/AUTO/FORCE
|
||||
NOR1ADDRESS: 44000000 ;Image Flash Address
|
||||
NOR1FILE: \SOFTWARE\sec_uefi.bin ;Image File Name
|
||||
NOR1LOAD: 0 ;Image Load Address
|
||||
NOR1ENTRY: 0 ;Image Entry Point
|
||||
NOR2UPDATE: AUTO ;IMAGE UPDATE:NONE/AUTO/FORCE
|
||||
NOR2ADDRESS: 45000000 ;Image Flash Address
|
||||
NOR2FILE: \SOFTWARE\uefi.bin ;Image File Name
|
||||
NOR2LOAD: 45000000 ;Image Load Address
|
||||
NOR2ENTRY: 45000000 ;Image Entry Point
|
||||
NOR3UPDATE: AUTO ;IMAGE UPDATE:NONE/AUTO/FORCE
|
||||
NOR3ADDRESS: 46000000 ;Image Flash Address
|
||||
NOR3FILE: \SOFTWARE\kernel.bin ;Image File Name
|
||||
NOR3LOAD: 46000000 ;Image Load Address
|
||||
NOR3ENTRY: 46000000 ;Image Entry Point
|
||||
NOR4UPDATE: AUTO ;IMAGE UPDATE:NONE/AUTO/FORCE
|
||||
NOR4ADDRESS: 40000000 ;Image Flash Address
|
||||
NOR4NAME: BOOTSCRIPT ;Image Name
|
||||
NOR4FILE: \SOFTWARE\bootscr.txt ;Image File Name
|
||||
|
||||
7. To select second NOR Flash as a booting device, replace in the ARM Versatile Express file \SITE1\HBI0191B\board.txt:
|
||||
SCC: 0x004 0x00001F09
|
||||
By:
|
||||
SCC: 0x004 0x10001F09
|
||||
|
||||
8. Copy Build/ArmVExpress-CTA9x4/DEBUG_ARMGCC/FV/SEC_ARMVEXPRESS_EFI.fd to the ARM Versatile Express mass storage (available when the board is connected through USB to your host machine) under the folder SOTWARE and name sec_uefi.bin. Example for cygwin:
|
||||
cp Build/ArmVExpress-CTA9x4/DEBUG_ARMGCC/FV/SEC_ARMVEXPRESS_EFI.fd /cygdrive/e/SOFTWARE/sec_uefi.bin
|
||||
|
||||
9. Start the ARM Versatile Express board. You should read “Waiting for firmware at 0x80000000 ...” on the serial port.
|
||||
|
||||
10. Copy ARMVEXPRESS_EFI.fd at 0x80000000 with RealView Debugger
|
||||
readfile,raw,nowarn "[EDK2_PATH]\Build\ArmVExpress-CTA9x4\DEBUG_ARMGCC\FV\ARMVEXPRESS_EFI.fd"=0x80000000
|
||||
|
||||
11. Resume the execution from RealView Debugger
|
||||
|
||||
For all subsequent times
|
||||
************************
|
||||
1. Build ARM Versatile Express UEFI Firmware
|
||||
build -a ARM -p ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-CTA9x4.dsc -t ARMGCC
|
||||
|
||||
2. Start the ARM Versatile Express board. You should read “Waiting for firmware at 0x80000000 ...” on the serial port.
|
||||
|
||||
3. Copy ARMVEXPRESS_EFI.fd at 0x80000000 with RealView Debugger
|
||||
readfile,raw,nowarn "[EDK2_PATH]\Build\ArmVExpress-CTA9x4\DEBUG_ARMGCC\FV\ARMVEXPRESS_EFI.fd"=0x80000000
|
||||
|
||||
4. Resume the execution
|
||||
|
||||
|
||||
For RealView Compiler Toolchain on Windows
|
||||
------------------------------------------
|
||||
The command line window needs to be the one from Visual Studio to get the environment variables required to get some development tools (the windows compiler for BaseTools and `nmake`).
|
||||
The EDK2 toolchain name for ARM RealView Compiler Toolchain under a Windows environment is `RVCT`. The EDK2 build system will automatically pick up the RVCT toolchain defined in your PATH. If you want to use a specific version, set the environment variable 'RVCT_TOOLS_PATH':
|
||||
set RVCT_TOOLS_PATH=[YOUR_TOOLCHAIN_PATH]
|
||||
|
||||
|
||||
For RealView Compiler Toolchain on Linux
|
||||
----------------------------------------
|
||||
The EDK2 toolchain name for ARM RealView under a Linux environment is `RVCTLINUX`. The EDK2 build system will automatically pick up the RVCT toolchain defined in your PATH. If you want to use a specific version, set the environment variable 'RVCT_TOOLS_PATH':
|
||||
export RVCT_TOOLS_PATH=[YOUR_TOOLCHAIN_PATH]
|
||||
|
||||
|
||||
For RVCT on Cygwin
|
||||
------------------
|
||||
The EDK2 toolchain name for ARM RealView under a Cygwin environment is `RVCTCYGWIN`. The EDK2 build system will automatically pick up the RVCT toolchain defined in your PATH. If you want to use a specific version, set the environment variable 'RVCT_TOOLS_PATH':
|
||||
export RVCT_TOOLS_PATH=[YOUR_TOOLCHAIN_PATH]
|
||||
|
||||
|
||||
To support the standalone mode:
|
||||
-------------------------------
|
||||
The full ArmVe UEFI firmware can be written into NOR Flash to allow the entire boot sequence to be done after a cold boot.
|
||||
|
||||
build -a ARM -p ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-CTA9x4.dsc -t ARMGCC -D EDK2_ARMVE_STANDALONE=1
|
||||
ARMVEXPRESS_EFI.fd is required to be copied into the ARM Versatile Express board:
|
||||
cp Build/ArmVExpress-CTA9x4-Standalone/DEBUG_ARMGCC/FV/SEC_ARMVEXPRESS_EFI.fd /cygdrive/e/SOFTWARE/sec_uefi.bin
|
||||
cp Build/ArmVExpress-CTA9x4-Standalone/DEBUG_ARMGCC/FV/ARMVEXPRESS_EFI.fd /cygdrive/e/SOFTWARE/uefi.bin
|
||||
|
||||
|
||||
Trustzone Support
|
||||
-----------------
|
||||
ArmVE's UEFI supports booting Trustzone (two worlds: Secure and Normal Worlds) and No Trustzone (one world: the CPU remains in Secure World) supports. Trustzone support is enabled by Enabling SMC TZASC in the Test Chip SCC Register 1. This register can only be changed by editing the configuration file of your Versatile Express board: E:\SITE1\HBI0191B\board.txt Changing:
|
||||
SCC: 0x004 0x10001F09
|
||||
For:
|
||||
SCC: 0x004 0x10003F09
|
||||
|
||||
|
||||
Booting Linux
|
||||
-------------
|
||||
The default entry in the ARM Boot Manager is defined by the PCDs:
|
||||
|
||||
- gArmPlatformTokenSpaceGuid.PcdDefaultBootDescription|L"NorFlash"
|
||||
- gArmPlatformTokenSpaceGuid.PcdDefaultBootDevicePath|L"VenHw(E7223039-5836-41E1-B542-D7EC736C5E59)/MemoryMapped(0,0x46000000,0x462F0000)"
|
||||
- gArmPlatformTokenSpaceGuid.PcdDefaultBootArgument|"root=/dev/sda2 rootwait debug earlyprintk console=ttyAMA0,38400 mem=1G"
|
||||
- gArmPlatformTokenSpaceGuid.PcdDefaultBootType|1
|
||||
|
||||
The PCD PcdDefaultBootDevicePath expects a Device Path conforms to the UEFI specification.
|
||||
PcdDefaultBootType defines the type of the image pointed by PcdDefaultBootDevicePath.
|
||||
- PcdDefaultBootDevicePath = 0 for an EFI Application
|
||||
- PcdDefaultBootDevicePath = 1 for a legacy kernel with ATAG support
|
||||
- PcdDefaultBootDevicePath = 2 for a kernel with Flat Device Tree (FDT) support
|
||||
|
||||
Example of UEFI Device Path:
|
||||
|
||||
// Load FDT binary from the Firmware Volume (mapped at 0x80000000)
|
||||
#define LINUX_KERNEL L"MemoryMapped(11,0x80000000,0x6FEFFFFF)\\zImage.fdt"
|
||||
|
||||
// Linux Kernel from a SD Card
|
||||
#define LINUX_KERNEL L"VenHw(621B6FA5-4DC1-476F-B9D8-52C557D81070)/HD(1,MBR,0x00000000,0xF9,0x3C8907)\\boot\\zImage.fdt"
|
||||
|
||||
// Kernel from SATA HD - Partition 2
|
||||
#define LINUX_KERNEL L"Acpi(PNP0A03,0)/Pci(0|0)/Pci(0|0)/Pci(5|0)/Pci(0|0)/Sata(0,0,0)/HD(2,MBR,0x00076730,0x1F21BF,0x1F21BF)\\boot\\zImage.fdt"
|
||||
|
||||
// Kernel from NOR Flash
|
||||
#define LINUX_KERNEL L"VenHw(02118005-9DA7-443a-92D5-781F022AEDBB)/MemoryMapped(0,0x46000000,0x462F0000)"
|
|
@ -11,10 +11,8 @@
|
|||
#
|
||||
#*/
|
||||
|
||||
# Define the following variables to specify an alternative toolchain to the one located in your PATH:
|
||||
# Define the following variable to specify an alternative toolchain to the one located in your PATH:
|
||||
# - RVCT_TOOLS_PATH: for RVCT and RVCTLINUX toolchains
|
||||
# - ARMGCC_TOOLS_PATH: for ARMGCC toolchain
|
||||
# - ARMLINUXGCC_TOOLS_PATH: for ARMLINUXGCC
|
||||
|
||||
EDK2_TOOLCHAIN ?= RVCTLINUX
|
||||
EDK2_ARCH ?= ARM
|
||||
|
|
Loading…
Reference in New Issue