Blame view

build2/epsilon-master/build/device/gdb_script.gdb 1.16 KB
6663b6c9   adorian   projet complet av...
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
  # Add a routine to debug ARM exceptions
  
  define armex
    printf "SCB_CFSR        0x%x\n", *0xE000ED28
    printf "SCB_HFSR        0x%x\n", *0xE000ED2C
    printf "SCB_HFSR        0x%x\n", *0xE000ED2C
    printf "SCB_MMAR        0x%x\n", *0xE000ED34
    printf "SCB_BFAR        0x%x\n", *0xE000ED38
    printf "xPSR            0x%x\n", *(int *)($msp+28)
    printf "ReturnAddress   0x%x\n", *(int *)($msp+24)
    printf "LR (R14)        0x%x\n", *(int *)($msp+20)
    printf "R12             0x%x\n", *(int *)($msp+16)
    printf "R3              0x%x\n", *(int *)($msp+12)
    printf "R2              0x%x\n", *(int *)($msp+8)
    printf "R1              0x%x\n", *(int *)($msp+4)
    printf "R0              0x%x\n", *(int *)($msp)
    printf "Return instruction:\n"
    x/i *(int *)($msp+24)
  end
  
  document armex
  ARMv7 Exception entry behavior.
  xPSR, ReturnAddress, LR (R14), R12, R3, R2, R1, and R0
  end
  
  # Let's connect to OpenOCD
  target remote localhost:3333
  
  # GDB pagniation is annoying
  set pagination off
  
  # Load our executable
  load
  
  # Tell OpenOCD to reset and halt
  monitor itm ports on
  monitor tpiu config internal swo.log.bin uart off 16000000
  monitor reset halt
  
  break init
  break abort
  break __assert
  
  continue