1 # this method initializes debug modules which are not affected by software reset
2 # register names should be referenced including the register group name to improve performance
4 proc init_debug_modules
{} {
5 # initialize LR to avoid invalid stack after reset
6 reg
"User\\/System Mode Registers/LR" = 0xFFFFFFFF
8 # clear DWT function registers
9 reg
"Core Debug Registers/DEMCR" = 0x1000001
10 reg
"Data Watchpoint and Trace Unit Registers/DWT_FUNCTION0" = 0x0
11 reg
"Data Watchpoint and Trace Unit Registers/DWT_FUNCTION1" = 0x0
12 reg
"Data Watchpoint and Trace Unit Registers/DWT_FUNCTION2" = 0x0
13 reg
"Data Watchpoint and Trace Unit Registers/DWT_FUNCTION3" = 0x0
14 # clear FPB comparators
15 reg
"Flash Patch and Breakpoint Unit Registers/FP_COMP0" = 0x0
16 reg
"Flash Patch and Breakpoint Unit Registers/FP_COMP1" = 0x0
17 reg
"Flash Patch and Breakpoint Unit Registers/FP_COMP2" = 0x0
18 reg
"Flash Patch and Breakpoint Unit Registers/FP_COMP3" = 0x0
19 reg
"Flash Patch and Breakpoint Unit Registers/FP_COMP4" = 0x0
20 reg
"Flash Patch and Breakpoint Unit Registers/FP_COMP5" = 0x0
23 proc init_trace_modules
{} {
25 reg
"Data Watchpoint and Trace Unit Registers/DWT_CTRL" =0x40000000
26 reg
"Data Watchpoint and Trace Unit Registers/DWT_CYCCNT" =0x0
27 reg
"Data Watchpoint and Trace Unit Registers/DWT_CPICNT" =0x0
28 reg
"Data Watchpoint and Trace Unit Registers/DWT_EXCCNT" =0x0
29 reg
"Data Watchpoint and Trace Unit Registers/DWT_SLEEPCNT" =0x0
30 reg
"Data Watchpoint and Trace Unit Registers/DWT_LSUCNT" =0x0
31 reg
"Data Watchpoint and Trace Unit Registers/DWT_FOLDCNT" =0x0
32 reg
"Data Watchpoint and Trace Unit Registers/DWT_COMP0" =0x0
33 reg
"Data Watchpoint and Trace Unit Registers/DWT_COMP1" =0x0
34 reg
"Data Watchpoint and Trace Unit Registers/DWT_COMP2" =0x0
35 reg
"Data Watchpoint and Trace Unit Registers/DWT_COMP3" =0x0
36 reg
"Data Watchpoint and Trace Unit Registers/DWT_MASK0" =0x0
37 reg
"Data Watchpoint and Trace Unit Registers/DWT_MASK1" =0x0
38 reg
"Data Watchpoint and Trace Unit Registers/DWT_MASK2" =0x0
39 reg
"Data Watchpoint and Trace Unit Registers/DWT_MASK3" =0x0
41 reg
"Instrumentation Trace Macrocell Registers/ITM_LAR" =0xc5acce55
42 reg
"Instrumentation Trace Macrocell Registers/ITM_TER" =0x0
43 reg
"Instrumentation Trace Macrocell Registers/ITM_TPR" =0x0
44 reg
"Instrumentation Trace Macrocell Registers/ITM_TCR" =0x0
45 reg
"Instrumentation Trace Macrocell Registers/ITM_LAR" =0x1
46 # reset Funnel registers
47 reg
"Embedded Trace Funnel Registers/ETF_FCR" =0x300
49 reg
"Core Platform Miscellaneous Control Module (MCM) Registers/MCM_ETBCC" =0x0
50 reg
"Core Platform Miscellaneous Control Module (MCM) Registers/MCM_ETBRL" =0x0
51 # set SCB_VTOR register for RAM
52 reg
"System Control Registers/SCB_VTOR" =0x20000000
59 config MemIdentifier p
65 #-------------------------------------------------------------------------------
67 #-------------------------------------------------------------------------------