blob: 1e3f73a0f4349643039c973c51efc3bdaf413436 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
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
|