blob: 90210b822deb16893cd2eeba288aee9c6c9acfdf (
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
|
#!/bin/bash
GDB_DEVICE_NAME='/dev/gdbtty$i'
DSP_FIRMWARE_NAME='/lib/firmware/dra7-dsp$[$i+1]-fw.xe66'
DSP_L2_GLOBAL_OFFSET="40000000"
DSP_L2_GLOBAL_SHIFT="00800000"
case "$1" in
start)
dsp_core_l2_offset=$DSP_L2_GLOBAL_OFFSET
i=0
while [ -c "`eval echo $GDB_DEVICE_NAME`" ]
do
dsp_firmware=`eval echo $DSP_FIRMWARE_NAME`
if [ -f "`eval echo $DSP_FIRMWARE_NAME`" ]
then
eval echo "Initializing $GDB_DEVICE_NAME based on $DSP_FIRMWARE_NAME ..."
gdb_data_local=`eval readelf -s "$DSP_FIRMWARE_NAME" | \
grep 'gdb_globalData' | \
awk '{print $2}'`
echo "gdb_globalData (local) = $gdb_data_local"
printf "gdb_globalData (global) = %X\n" \
$[0x$gdb_data_local + 0x$dsp_core_l2_offset]
printf "%X\n" $[0x$gdb_data_local + 0x$dsp_core_l2_offset] \
>> `eval echo $GDB_DEVICE_NAME`
fi
i=$[$i + 1]
dsp_core_l2_offset=`printf "%X" $[0x$dsp_core_l2_offset + 0x$DSP_L2_GLOBAL_SHIFT]`
done
;;
stop)
# Nothing to be done.
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
;;
esac
|