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來完成載入.





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章