[U-Boot] Hi all, Can not start the latest version of uboot on Foundation platform on ARM v8 (vexpress_aemv8a_config)

Duxiaoqiang duxiaoqiang at huawei.com
Thu Oct 16 11:14:36 CEST 2014


Hi all

         This week I downloaded the latest version of U-Boot and tested on ARM v8 platform, My boot environment was based on ARM trusted firmware: arm trusted firmware + Uboot + Linux.

         Few weeks ago I did the same job on old U-Boot version, and it worked well. I even tried FIT image on old version with verified boot, it also success.

         I checked my operation steps and configure many times, and I can't find any problem within it. For I still have the old version of U-boot, So I checked the same operation and configures on old version again, it's fine!

         So I think there may exist some problems with vexpress_aemv8a_config and vexpress_aemv8a_semi_config in the latest version of U-Boot, or my operation need to do some adjustment on new version.

Can anyone give me some suggestions? Below is my configure and operations.


1)      Build Uboot

>For arm trusted firmware's default address for BL33(U-boot) 0x88000000, so macro CONFIG_SYS_TEXT_BASE which locate in file <vexpress_aemv8a.h> should be modified from 0x80000000 to 0x88000000

Compile Uboot as bellow:

$cd uboot

$make vexpress_aemv8a_config

$ make CROSS_COMPILE= all

2)      Make uImage

$cd  <linux_kernel_path>/arch/arm64/boot

$/<uboot_path>/tools/mkimage -A arm64 -O linux -T kernel -C none -a 0x80080000 -e 0x80080000  -n 'linux-3.15' -d Image uImage

Both load address and link address are 0x80080000.



3)      Make firmware Package
>Firmware package includes: bl1.bin/ bl2.bin/ bl31.bin/ bl33.bin(uboot.bin)
>Set variable BL33 as <path>/uboot.bin
$cd <firmware_path>
$make CROSS_COMPILE=<path>/bin/aarch64-none-elf- PLAT=fvp BL33=<path_bl33>/uboot.bin all fip



4)      Running system

Copy all of the images to a directory and start FVP as

$/<path_to_fvp>/Foundation_v8       \

--cores=4                 \

--no-secure-memory        \

--visualization             \

--gicv3                   \

--data=bl1.bin at 0x0<mailto:--data=bl1.bin at 0x0>        \

--data=fip.bin at 0x8000000<mailto:--data=fip.bin at 0x8000000>  \

--data=uImage at 0x90000000 \

--data=ramdisk_file at 0xa1000000 \

--data=fdt.dtb at 0xa0000000<mailto:--data=fdt.dtb at 0xa0000000>

0x90000000 is kernel's address, 0xa0000000 is device tree dtb's address, and 0xa1000000 is ramdisk's address, we also need to fill in ramdisk's size



Once firmware successfully started, System will stop at uboot's shell environment. But there seems system halted before enter Uboot.

Logs as below:
Connected to localhost.
Escape character is '^]'.
NOTICE:  Booting Trusted Firmware
NOTICE:  BL1: v1.0(release):
NOTICE:  BL1: Built : 16:00:48, Oct 16 2014
NOTICE:  BL1: Booting BL2
NOTICE:  BL2: v1.0(release):
NOTICE:  BL2: Built : 16:00:49, Oct 16 2014
NOTICE:  BL1: Booting BL3-1
NOTICE:  BL3-1: v1.0(release):
NOTICE:  BL3-1: Built : 16:00:51, Oct 16 2014



System stopped here, may not enter Uboot.



Thanks



More information about the U-Boot mailing list