1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- #!/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
|