Foundation_v8运行ARM Trusted Firmware记录

1.准备edk2


注意,编译时提示uuid.h not found,需要安装uuid-dev


make -C BaseTool V=s


GCC49_AARCH64_PREFIX=~/works/gcc-linaro-aarch64-none-elf-4.9-2014.07_linux/bin/aarch64-none-elf- \

make -f ArmPlatformPkg/Scripts/Makefile EDK2_ARCH=AARCH64 \

EDK2_DSC=ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-FVP-AArch64.dsc \

EDK2_TOOLCHAIN=GCC49 EDK2_BUILD=DEBUG \

EDK2_MACROS="-n 6 -D ARM_FOUNDATION_FVP=1"


编译完成后,BL33文件位于:


Build/ArmVExpress-FVP-AArch64/DEBUG_GCC49/FV/FVP_AARCH64_EFI.fd



2.编译ARM trusted firmware


CROSS_COMPILE=~/works/gcc-linaro-aarch64-none-elf-4.9-2014.07_linux/bin/aarch64-none-elf- \

BL33=~/works/edk2/Build/ArmVExpress-FVP-AArch64/DEBUG_GCC49/FV/FVP_AARCH64_EFI.fd \

V=99 DEBUG=1 \

make all fip


编译结果:

Building fvp

long opt (0) : name = bl2

long opt (1) : name = bl30

long opt (2) : name = bl31

long opt (3) : name = bl32

long opt (4) : name = bl33

long opt (5) : name = dump

long opt (6) : name = help

long opt (7) : name = (null)

Firmware Image Package ToC:

---------------------------

- Trusted Boot Firmware BL2: offset=0xB0, size=0x3008

  file: './build/fvp/release/bl2.bin'

- EL3 Runtime Firmware BL3-1: offset=0x30B8, size=0x5010

  file: './build/fvp/release/bl31.bin'

- Non-Trusted Firmware BL3-3: offset=0x80C8, size=0x280000

  file: '/home/manfeel/works/edk2/Build/ArmVExpress-FVP-AArch64/DEBUG_GCC49/FV/FVP_AARCH64_EFI.fd'

---------------------------

Creating "build/fvp/release/fip.bin"


Built build/fvp/release/fip.bin successfully



3.运行

~/works/Foundation_v8pkg/models/Linux64_GCC-4.1/Foundation_v8 \

--cores=4 \

--no-secure-memory \

--visualization \

--gicv3 \

--data="/home/manfeel/works/arm-trusted-firmware/build/fvp/debug/bl1.bin"@0x0 \

--data="/home/manfeel/works/arm-trusted-firmware/build/fvp/release/fip.bin"@0x8000000



当前目录需存在BL2,BL3的镜像,fvp利用semi hosting IO来完成载入.





你可能感兴趣的:(Foundation_v8运行ARM Trusted Firmware记录)