aboutsummaryrefslogtreecommitdiffstats
path: root/hw/drive_calib.sh
blob: f3e43f6e85262086f968b4b365c1b62d30dec799 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#!/bin/bash
# Decisive calibration at the candidate LR slot 0x41bfbc.
#  PC_VAL=0x00400000 is MAPPED R-X and even (ARM). Add.92: planting it executes 17 ARM
#  NOPs and faults at 0x400044. So:
#    addr == 0x400044 (or anything != PC_VAL)  -> execution PROCEEDED from our PC = PC CONTROL
#    addr == 0x400000 with FSR 0x5/0xf         -> we only reached the fetch
#    the usual 0x4064000 / FSR 0x857           -> no redirect at all (parent copy)
echo "START $(date +%T)"
for PV in 0x00400000 0x00416e60; do
  cd /root/psp && source ./env.sh >/dev/null 2>&1
  rm -f /tmp/am_usb*.lock
  $PSP_PY work/atx_power.py cycle 18 >/dev/null 2>&1
  cd /root/psp/hw
  SLOT=0x41bfbc PC_VAL=$PV timeout 150 $PSP_PY /root/psp/hw/gcp_slot_shot.py 2>&1 | sed "s/^/PC_VAL=$PV /" | grep -E "SLOT=|Traceback" | head -2
done
echo CALIB-DONE