mirror of
				https://github.com/espressif/esp-idf.git
				synced 2025-10-31 04:59:55 +00:00 
			
		
		
		
	espcoredump.py: Parse EPS and EPC register values using register index
This commit is contained in:
		| @@ -85,19 +85,19 @@ class XtensaRegisters(object): | |||||||
|     # extra regs IDs used in EXTRA_INFO note |     # extra regs IDs used in EXTRA_INFO note | ||||||
|     EXCCAUSE_IDX = 0 |     EXCCAUSE_IDX = 0 | ||||||
|     EXCVADDR_IDX = 1 |     EXCVADDR_IDX = 1 | ||||||
|     EPS2_IDX = 2 |     EPC1_IDX = 177 | ||||||
|     EPS3_IDX = 3 |     EPC2_IDX = 178 | ||||||
|     EPS4_IDX = 4 |     EPC3_IDX = 179 | ||||||
|     EPS5_IDX = 5 |     EPC4_IDX = 180 | ||||||
|     EPS6_IDX = 6 |     EPC5_IDX = 181 | ||||||
|     EPS7_IDX = 7 |     EPC6_IDX = 182 | ||||||
|     EPC1_IDX = 8 |     EPC7_IDX = 183 | ||||||
|     EPC2_IDX = 9 |     EPS2_IDX = 194 | ||||||
|     EPC3_IDX = 10 |     EPS3_IDX = 195 | ||||||
|     EPC4_IDX = 11 |     EPS4_IDX = 196 | ||||||
|     EPC5_IDX = 12 |     EPS5_IDX = 197 | ||||||
|     EPC6_IDX = 13 |     EPS6_IDX = 198 | ||||||
|     EPC7_IDX = 14 |     EPS7_IDX = 199 | ||||||
|  |  | ||||||
|     @property |     @property | ||||||
|     def registers(self): |     def registers(self): | ||||||
| @@ -138,19 +138,16 @@ def print_exc_regs_info(extra_info): | |||||||
|         exccause_str = ('Invalid EXCCAUSE code', 'Invalid EXCAUSE description or not found.') |         exccause_str = ('Invalid EXCCAUSE code', 'Invalid EXCAUSE description or not found.') | ||||||
|     print('exccause       0x%x (%s)' % (exccause, exccause_str[0])) |     print('exccause       0x%x (%s)' % (exccause, exccause_str[0])) | ||||||
|     print('excvaddr       0x%x' % extra_info[1 + 2 * XtensaRegisters.EXCVADDR_IDX + 1]) |     print('excvaddr       0x%x' % extra_info[1 + 2 * XtensaRegisters.EXCVADDR_IDX + 1]) | ||||||
|     print('epc1           0x%x' % extra_info[1 + 2 * XtensaRegisters.EPC1_IDX + 1]) |  | ||||||
|     print('epc2           0x%x' % extra_info[1 + 2 * XtensaRegisters.EPC2_IDX + 1]) |     # skip crashed_task_tcb, exccause, and excvaddr | ||||||
|     print('epc3           0x%x' % extra_info[1 + 2 * XtensaRegisters.EPC3_IDX + 1]) |     for i in range(5, len(extra_info), 2): | ||||||
|     print('epc4           0x%x' % extra_info[1 + 2 * XtensaRegisters.EPC4_IDX + 1]) |         if (extra_info[i] >= XtensaRegisters.EPC1_IDX and extra_info[i] <= XtensaRegisters.EPC7_IDX): | ||||||
|     print('epc5           0x%x' % extra_info[1 + 2 * XtensaRegisters.EPC5_IDX + 1]) |             print('epc%d           0x%x' % ((extra_info[i] - XtensaRegisters.EPC1_IDX + 1), extra_info[i + 1])) | ||||||
|     print('epc6           0x%x' % extra_info[1 + 2 * XtensaRegisters.EPC6_IDX + 1]) |  | ||||||
|     print('epc7           0x%x' % extra_info[1 + 2 * XtensaRegisters.EPC7_IDX + 1]) |     # skip crashed_task_tcb, exccause, and excvaddr | ||||||
|     print('eps2           0x%x' % extra_info[1 + 2 * XtensaRegisters.EPS2_IDX + 1]) |     for i in range(5, len(extra_info), 2): | ||||||
|     print('eps3           0x%x' % extra_info[1 + 2 * XtensaRegisters.EPS3_IDX + 1]) |         if (extra_info[i] >= XtensaRegisters.EPS2_IDX and extra_info[i] <= XtensaRegisters.EPS7_IDX): | ||||||
|     print('eps4           0x%x' % extra_info[1 + 2 * XtensaRegisters.EPS4_IDX + 1]) |             print('eps%d           0x%x' % ((extra_info[i] - XtensaRegisters.EPS2_IDX + 2), extra_info[i + 1])) | ||||||
|     print('eps5           0x%x' % extra_info[1 + 2 * XtensaRegisters.EPS5_IDX + 1]) |  | ||||||
|     print('eps6           0x%x' % extra_info[1 + 2 * XtensaRegisters.EPS6_IDX + 1]) |  | ||||||
|     print('eps7           0x%x' % extra_info[1 + 2 * XtensaRegisters.EPS7_IDX + 1]) |  | ||||||
|  |  | ||||||
|  |  | ||||||
| # from "gdb/xtensa-tdep.h" | # from "gdb/xtensa-tdep.h" | ||||||
|   | |||||||
| @@ -45,19 +45,17 @@ Crashed task handle: 0x3ffb5e80, name: 'main', GDB name: 'process 1073438336' | |||||||
| ================== CURRENT THREAD REGISTERS =================== | ================== CURRENT THREAD REGISTERS =================== | ||||||
| exccause       0x1d (StoreProhibitedCause) | exccause       0x1d (StoreProhibitedCause) | ||||||
| excvaddr       0x1 | excvaddr       0x1 | ||||||
| epc1           0x0 | epc1           0x400e38bf | ||||||
| epc2           0x0 | epc2           0x0 | ||||||
| epc3           0x0 | epc3           0x0 | ||||||
| epc4           0x0 | epc4           0x0 | ||||||
| epc5           0x0 | epc5           0x0 | ||||||
| epc6           0x0 | epc6           0x0 | ||||||
| epc7           0x0 |  | ||||||
| eps2           0x0 | eps2           0x0 | ||||||
| eps3           0x0 | eps3           0x0 | ||||||
| eps4           0x0 | eps4           0x0 | ||||||
| eps5           0x0 | eps5           0x0 | ||||||
| eps6           0x0 | eps6           0x0 | ||||||
| eps7           0x400e38bf |  | ||||||
| pc             0x400e37f7	0x400e37f7 | pc             0x400e37f7	0x400e37f7 | ||||||
| lbeg           0x0	0 | lbeg           0x0	0 | ||||||
| lend           0x0	0 | lend           0x0	0 | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Shubham Patil
					Shubham Patil