diff options
author | Antonio Niño Díaz <antonio.ninodiaz@arm.com> | 2018-11-27 09:06:15 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-11-27 09:06:15 +0100 |
commit | 48e32a131c283b096df450323f8698fd9d59f08a (patch) | |
tree | 0ea6c8ce3f5ce8c68d4342a1c2abef6afa0934a5 /lib/romlib | |
parent | 3b83c957b635e2ec21a7c3fbb28e0410e6e02ad6 (diff) | |
parent | afa5cfea6079bf7a10db53edcc72e6b8fa05c600 (diff) |
Merge pull request #1696 from satheesbalya-arm/sb1/sb1_2406_romlib_juno
romlib: Add juno support for romlib
Diffstat (limited to 'lib/romlib')
-rwxr-xr-x | lib/romlib/gen_combined_bl1_romlib.sh | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/lib/romlib/gen_combined_bl1_romlib.sh b/lib/romlib/gen_combined_bl1_romlib.sh new file mode 100755 index 00000000..1e3f73a0 --- /dev/null +++ b/lib/romlib/gen_combined_bl1_romlib.sh @@ -0,0 +1,53 @@ +#!/bin/sh +# Copyright (c) 2018, ARM Limited and Contributors. All rights reserved. +# +# SPDX-License-Identifier: BSD-3-Clause + +set -e + +output="bl1_romlib.bin" + +# Set trap for removing temporary file +trap 'r=$?;rm -f $bin_path/$$.tmp;exit $r' EXIT HUP QUIT INT TERM + +# Read input parameters +for i +do + case $i in + -o) + output=$2 + shift 2 + ;; + --) + shift + break + ;; + -*) + echo usage: gen_combined_bl1_romlib.sh [-o output] path_to_build_directory >&2 + ;; + esac +done + + +bin_path=$1 +romlib_path=$1/romlib +bl1_file="$1/bl1/bl1.elf" +romlib_file="$1/romlib/romlib.elf" +bl1_end="" +romlib_begin="" + +# Get address of __BL1_ROM_END__ +bl1_end=`nm -a "$bl1_file" | +awk '$3 == "__BL1_ROM_END__" {print "0x"$1}'` + +# Get start address of romlib "text" section +romlib_begin=`nm -a "$romlib_file" | +awk '$3 == ".text" {print "0x"$1}'` + +# Character "U" will be read as "55" in hex when it is +# concatenated with bl1.bin. Generate combined BL1 and ROMLIB +# binary with filler bytes for juno +(cat $bin_path/bl1.bin + yes U | sed $(($romlib_begin - $bl1_end))q | tr -d '\n' + cat $bin_path/romlib/romlib.bin) > $bin_path/$$.tmp && +mv $bin_path/$$.tmp $bin_path/$output |