Преглед изворни кода

[nothing]

rtthread_coredump
huangyulong пре 1 година
родитељ
комит
2cdb278b81

+ 3
- 0
EWARM/stm32_broad_mini.ewp Прегледај датотеку

@@ -1089,6 +1089,9 @@
1089 1089
             <file>
1090 1090
                 <name>$PROJ_DIR$\startup_stm32f103xb.s</name>
1091 1091
             </file>
1092
+            <file>
1093
+                <name>$PROJ_DIR$\..\Middlewares\coredump\testbug.c</name>
1094
+            </file>
1092 1095
         </group>
1093 1096
         <group>
1094 1097
             <name>User</name>

+ 0
- 644
EWARM/stm32_broad_mini/Exe/core_dump.txt Прегледај датотеку

@@ -1,644 +0,0 @@
1
-Registers@current_thread
2
-R0: 0x0800473a
3
-R1: 0x200007c8
4
-R2: 0x200007c8
5
-R3: 0x00000000
6
-R4: 0x00000008
7
-R5: 0x00000001
8
-R6: 0x2000055e
9
-R7: 0x00000008
10
-R8: 0x20000810
11
-R9: 0x08004735
12
-R10: 0x00000020
13
-R11: 0x00000000
14
-R12: 0x00000070
15
-R13(SP): 0x200007c8
16
-R14(LR): 0x080036e3
17
-R15(PC): 0x0800473a
18
-xPSR: 0x20000000
19
-Stack segment:
20
-mem@0x200007c8,0x0000007c
21
-0x2000055e 0x00000000 0x00000000 0x00000000
22
-0x00000000 0x00000000 0x00000000 0x00000000
23
-0x0001118a 0x00000008 0x2000055e 0x200023ac
24
-0x00000002 0x00000000 0x2000055e 0xdeadbeef
25
-0xdeadbeef 0x08003723 0x0001118a 0x0000000d
26
-0x00000000 0x08003243 0x00000000 0xdeadbeef
27
-0xdeadbeef 0xdeadbeef 0xdeadbeef 0xdeadbeef
28
-0xdeadbeef 0x08000fe5 0x23232323 
29
-Data segment:
30
-mem@0x20000000,0x0000004c
31
-0x00000001 0x200005cc 0x20002068 0x00000078
32
-0x00000002 0x200004f4 0x2000226c 0x00000020
33
-0x00000005 0x20000024 0x20000024 0x00000030
34
-0x0000000a 0x20000610 0x200020ac 0x0000002c
35
-0x00000010 0x007a1200 0x00000001 
36
-ZI segment:
37
-mem@0x2000004c,0x0000248c
38
-0x00001ea0 0x00000490 0x00000000 0x6e69616d
39
-0x00000000 0x00000000 0x20000064 0x20000064
40
-0x2000006c 0x2000006c 0x20000470 0x0800442b
41
-0x00000000 0x200000dc 0x00000400 0x00000000
42
-0x000a0a04 0x00000400 0x00000014 0x00000012
43
-0x6e69616d 0x00000000 0x00000000 0x200000a8
44
-0x200000a8 0x200000b0 0x200000b0 0x080012c5
45
-0x20000058 0x00000000 0x00000000 0x00000000
46
-0x00000000 0x00001ea0 0x00000490 0x00000000
47
-0x23232323 0x23232323 0x23232323 0x23232323
48
-0x23232323 0x23232323 0x23232323 0x23232323
49
-0x23232323 0x23232323 0x23232323 0x23232323
50
-0x23232323 0x23232323 0x23232323 0x23232323
51
-0x23232323 0x23232323 0x23232323 0x23232323
52
-0x23232323 0x23232323 0x23232323 0x23232323
53
-0x23232323 0x23232323 0x23232323 0x23232323
54
-0x23232323 0x23232323 0x23232323 0x23232323
55
-0x23232323 0x23232323 0x23232323 0x23232323
56
-0x23232323 0x23232323 0x23232323 0x23232323
57
-0x23232323 0x23232323 0x23232323 0x23232323
58
-0x23232323 0x23232323 0x23232323 0x23232323
59
-0x23232323 0x23232323 0x23232323 0x23232323
60
-0x23232323 0x23232323 0x23232323 0x23232323
61
-0x23232323 0x23232323 0x23232323 0x23232323
62
-0x23232323 0x23232323 0x23232323 0x23232323
63
-0x23232323 0x23232323 0x23232323 0x23232323
64
-0x23232323 0x23232323 0x23232323 0x23232323
65
-0x23232323 0x23232323 0x23232323 0x23232323
66
-0x23232323 0x23232323 0x23232323 0x23232323
67
-0x23232323 0x23232323 0x23232323 0x23232323
68
-0x23232323 0x23232323 0x23232323 0x23232323
69
-0x23232323 0x23232323 0x23232323 0x23232323
70
-0x23232323 0x23232323 0x23232323 0x23232323
71
-0x23232323 0x23232323 0x23232323 0x23232323
72
-0x23232323 0x23232323 0x23232323 0x23232323
73
-0x23232323 0x23232323 0x23232323 0x23232323
74
-0x23232323 0x23232323 0x23232323 0x23232323
75
-0x23232323 0x23232323 0x23232323 0x23232323
76
-0x23232323 0x23232323 0x23232323 0x23232323
77
-0x23232323 0x23232323 0x23232323 0x23232323
78
-0x23232323 0x23232323 0x23232323 0x23232323
79
-0x23232323 0x23232323 0x23232323 0x23232323
80
-0x23232323 0x23232323 0x23232323 0x23232323
81
-0x23232323 0x23232323 0x23232323 0x23232323
82
-0x23232323 0x23232323 0x23232323 0x23232323
83
-0x23232323 0x23232323 0x23232323 0x23232323
84
-0x23232323 0x23232323 0x23232323 0x23232323
85
-0x23232323 0x23232323 0x23232323 0x23232323
86
-0x23232323 0x23232323 0x23232323 0x23232323
87
-0x23232323 0x23232323 0x23232323 0x23232323
88
-0x23232323 0x23232323 0x23232323 0x23232323
89
-0x23232323 0x23232323 0x23232323 0x23232323
90
-0x23232323 0x23232323 0x23232323 0x23232323
91
-0x23232323 0x23232323 0x23232323 0x23232323
92
-0x23232323 0x23232323 0x23232323 0x23232323
93
-0x23232323 0x23232323 0x23232323 0x23232323
94
-0x23232323 0x23232323 0x23232323 0x23232323
95
-0x23232323 0x23232323 0x23232323 0x23232323
96
-0x23232323 0x0000000a 0x00000000 0x0000000a
97
-0x200005c0 0x20000030 0x08000ceb 0x20000604
98
-0x0000000a 0x00000000 0x20000604 0x200005c0
99
-0x080012c5 0x200005c0 0x00000000 0x00000000
100
-0x00000000 0x00000000 0x00000002 0x000005ec
101
-0x08000e93 0x08000e96 0x21000000 0x200021d9
102
-0x200021d8 0x20002490 0x00000001 0x00000001
103
-0x08000e47 0x00000001 0x00000001 0x00000002
104
-0x00000000 0x200005c0 0x20000058 0x00000000
105
-0x00000015 0xdeadbeef 0xdeadbeef 0xdeadbeef
106
-0xdeadbeef 0x00000000 0x10000000 0x20002054
107
-0x00000001 0x000005ec 0x08000c1b 0x08000c1a
108
-0x41000000 0x00000002 0x20000058 0x00000000
109
-0xdeadbeef 0xdeadbeef 0x08001031 0x00000002
110
-0xdeadbeef 0xdeadbeef 0x08000c2f 0x23232323
111
-0x00011ea0 0x00000568 0x00000000 0x78726873
112
-0x00000000 0x00000082 0x2000226c 0x20000014
113
-0x200004fc 0x200004fc 0x00000000 0x00010300
114
-0x6f630001 0x75646572 0x0000706d 0x00000000
115
-0x00000000 0x00000000 0x00000000 0x00000000
116
-0x00000000 0x00000000 0x00000000 0x00000000
117
-0x00000000 0x00000000 0x00000000 0x00000000
118
-0x00000000 0x00000000 0x00000000 0x00000000
119
-0x6f630000 0x75646572 0x0000706d 0x00000000
120
-0x00000000 0x00000000 0x00000000 0x00000000
121
-0x00000000 0x00000000 0x00000000 0x00000000
122
-0x00000000 0x00000000 0x00000000 0x00000000
123
-0x00000000 0x00000000 0x00000000 0x00000000
124
-0x00080000 0x00000008 0x00011ea0 0x000005ec
125
-0x00000490 0x65687374 0x00006c6c 0x00000001
126
-0x20002068 0x20000004 0x20002334 0x20002334
127
-0x20000798 0x08002f57 0x00000000 0x20000644
128
-0x00000200 0x00000000 0x00151501 0x00200000
129
-0x0000000a 0x0000000a 0x65687374 0x00006c6c
130
-0x0000008a 0x200020ac 0x20000034 0x20000618
131
-0x20000618 0x080012c5 0x200005c0 0x0000000a
132
-0x0001118a 0x00000000 0x00000000 0x00011ea0
133
-0x000007f8 0x0000000d 0x00000000 0xdeadbeef
134
-0x00000000 0x200021d6 0x20002253 0x200006b0
135
-0x00000010 0x200004fc 0x00000000 0x00000030
136
-0xffffffff 0x200005c0 0x00000000 0x200021d6
137
-0x20002253 0x08000390 0x080002ff 0x00000008
138
-0xffffffff 0x66666666 0x36363636 0x200021d6
139
-0x20002253 0x23232323 0x00000000 0x00000070
140
-0x08000779 0x00000000 0x080003b8 0x00000000
141
-0x00000000 0x00000000 0x00011497 0x00000070
142
-0x08000e93 0x08000e74 0x41000000 0x200021d5
143
-0x200021d4 0x20002490 0x00000001 0x00000001
144
-0x08000e47 0x00000001 0x00000001 0x000114ac
145
-0x00000000 0x00000000 0x00000001 0x00000000
146
-0x08000ceb 0x200021d4 0x08000ac3 0x0800400d
147
-0x2000074c 0x080040b4 0x00000001 0x200021d4
148
-0x2000074c 0x20000810 0x080007d3 0x0000248c
149
-0x2000004c 0x20000740 0x000006f8 0x08003fdf
150
-0x00000000 0x00000001 0x000114d0 0x0001120f
151
-0x20000788 0x200007c8 0x0000007c 0x200005c0
152
-0x080040a9 0x00000000 0x00000008 0x00000001
153
-0x2000055e 0x00000008 0x0800474f 0x00000008
154
-0x00000001 0x2000055e 0x00000008 0x20000810
155
-0x08004735 0x00000020 0x00000000 0x0800473a
156
-0x200007c8 0x200007c8 0x00000000 0x00000070
157
-0x080036e3 0x0800473a 0x20000000 0x2000055e
158
-0x00000000 0x00000000 0x00000000 0x00000000
159
-0x00000000 0x00000000 0x00000000 0x0001118a
160
-0x00000008 0x2000055e 0x200023ac 0x00000002
161
-0x00000000 0x2000055e 0xdeadbeef 0xdeadbeef
162
-0x08003723 0x0001118a 0x0000000d 0x00000000
163
-0x08003243 0x00000000 0xdeadbeef 0xdeadbeef
164
-0xdeadbeef 0xdeadbeef 0xdeadbeef 0xdeadbeef
165
-0x08000fe5 0x23232323 0x00001ea0 0x00001ff4
166
-0x000005ec 0x00000000 0x00000000 0x00000000
167
-0x00000000 0x00000000 0x00000000 0x00000000
168
-0x00000000 0x00000000 0x00000000 0x00000000
169
-0x00000000 0x00000000 0x00000000 0x00000000
170
-0x00000000 0x00000000 0x00000000 0x00000000
171
-0x00000000 0x00000000 0x00000000 0x00000000
172
-0x00000000 0x00000000 0x00000000 0x00000000
173
-0x00000000 0x00000000 0x00000000 0x00000000
174
-0x00000000 0x00000000 0x00000000 0x00000000
175
-0x00000000 0x00000000 0x00000000 0x00000000
176
-0x00000000 0x00000000 0x00000000 0x00000000
177
-0x00000000 0x00000000 0x00000000 0x00000000
178
-0x00000000 0x00000000 0x00000000 0x00000000
179
-0x00000000 0x00000000 0x00000000 0x00000000
180
-0x00000000 0x00000000 0x00000000 0x00000000
181
-0x00000000 0x00000000 0x00000000 0x00000000
182
-0x00000000 0x00000000 0x00000000 0x00000000
183
-0x00000000 0x00000000 0x00000000 0x00000000
184
-0x00000000 0x00000000 0x00000000 0x00000000
185
-0x00000000 0x00000000 0x00000000 0x00000000
186
-0x00000000 0x00000000 0x00000000 0x00000000
187
-0x00000000 0x00000000 0x00000000 0x00000000
188
-0x00000000 0x00000000 0x00000000 0x00000000
189
-0x00000000 0x00000000 0x00000000 0x00000000
190
-0x00000000 0x00000000 0x00000000 0x00000000
191
-0x00000000 0x00000000 0x00000000 0x00000000
192
-0x00000000 0x00000000 0x00000000 0x00000000
193
-0x00000000 0x00000000 0x00000000 0x00000000
194
-0x00000000 0x00000000 0x00000000 0x00000000
195
-0x00000000 0x00000000 0x00000000 0x00000000
196
-0x00000000 0x00000000 0x00000000 0x00000000
197
-0x00000000 0x00000000 0x00000000 0x00000000
198
-0x00000000 0x00000000 0x00000000 0x00000000
199
-0x00000000 0x00000000 0x00000000 0x00000000
200
-0x00000000 0x00000000 0x00000000 0x00000000
201
-0x00000000 0x00000000 0x00000000 0x00000000
202
-0x00000000 0x00000000 0x00000000 0x00000000
203
-0x00000000 0x00000000 0x00000000 0x00000000
204
-0x00000000 0x00000000 0x00000000 0x00000000
205
-0x00000000 0x00000000 0x00000000 0x00000000
206
-0x00000000 0x00000000 0x00000000 0x00000000
207
-0x00000000 0x00000000 0x00000000 0x00000000
208
-0x00000000 0x00000000 0x00000000 0x00000000
209
-0x00000000 0x00000000 0x00000000 0x00000000
210
-0x00000000 0x00000000 0x00000000 0x00000000
211
-0x00000000 0x00000000 0x00000000 0x00000000
212
-0x00000000 0x00000000 0x00000000 0x00000000
213
-0x00000000 0x00000000 0x00000000 0x00000000
214
-0x00000000 0x00000000 0x00000000 0x00000000
215
-0x00000000 0x00000000 0x00000000 0x00000000
216
-0x00000000 0x00000000 0x00000000 0x00000000
217
-0x00000000 0x00000000 0x00000000 0x00000000
218
-0x00000000 0x00000000 0x00000000 0x00000000
219
-0x00000000 0x00000000 0x00000000 0x00000000
220
-0x00000000 0x00000000 0x00000000 0x00000000
221
-0x00000000 0x00000000 0x00000000 0x00000000
222
-0x00000000 0x00000000 0x00000000 0x00000000
223
-0x00000000 0x00000000 0x00000000 0x00000000
224
-0x00000000 0x00000000 0x00000000 0x00000000
225
-0x00000000 0x00000000 0x00000000 0x00000000
226
-0x00000000 0x00000000 0x00000000 0x00000000
227
-0x00000000 0x00000000 0x00000000 0x00000000
228
-0x00000000 0x00000000 0x00000000 0x00000000
229
-0x00000000 0x00000000 0x00000000 0x00000000
230
-0x00000000 0x00000000 0x00000000 0x00000000
231
-0x00000000 0x00000000 0x00000000 0x00000000
232
-0x00000000 0x00000000 0x00000000 0x00000000
233
-0x00000000 0x00000000 0x00000000 0x00000000
234
-0x00000000 0x00000000 0x00000000 0x00000000
235
-0x00000000 0x00000000 0x00000000 0x00000000
236
-0x00000000 0x00000000 0x00000000 0x00000000
237
-0x00000000 0x00000000 0x00000000 0x00000000
238
-0x00000000 0x00000000 0x00000000 0x00000000
239
-0x00000000 0x00000000 0x00000000 0x00000000
240
-0x00000000 0x00000000 0x00000000 0x00000000
241
-0x00000000 0x00000000 0x00000000 0x00000000
242
-0x00000000 0x00000000 0x00000000 0x00000000
243
-0x00000000 0x00000000 0x00000000 0x00000000
244
-0x00000000 0x00000000 0x00000000 0x00000000
245
-0x00000000 0x00000000 0x00000000 0x00000000
246
-0x00000000 0x00000000 0x00000000 0x00000000
247
-0x00000000 0x00000000 0x00000000 0x00000000
248
-0x00000000 0x00000000 0x00000000 0x00000000
249
-0x00000000 0x00000000 0x00000000 0x00000000
250
-0x00000000 0x00000000 0x00000000 0x00000000
251
-0x00000000 0x00000000 0x00000000 0x00000000
252
-0x00000000 0x00000000 0x00000000 0x00000000
253
-0x00000000 0x00000000 0x00000000 0x00000000
254
-0x00000000 0x00000000 0x00000000 0x00000000
255
-0x00000000 0x00000000 0x00000000 0x00000000
256
-0x00000000 0x00000000 0x00000000 0x00000000
257
-0x00000000 0x00000000 0x00000000 0x00000000
258
-0x00000000 0x00000000 0x00000000 0x00000000
259
-0x00000000 0x00000000 0x00000000 0x00000000
260
-0x00000000 0x00000000 0x00000000 0x00000000
261
-0x00000000 0x00000000 0x00000000 0x00000000
262
-0x00000000 0x00000000 0x00000000 0x00000000
263
-0x00000000 0x00000000 0x00000000 0x00000000
264
-0x00000000 0x00000000 0x00000000 0x00000000
265
-0x00000000 0x00000000 0x00000000 0x00000000
266
-0x00000000 0x00000000 0x00000000 0x00000000
267
-0x00000000 0x00000000 0x00000000 0x00000000
268
-0x00000000 0x00000000 0x00000000 0x00000000
269
-0x00000000 0x00000000 0x00000000 0x00000000
270
-0x00000000 0x00000000 0x00000000 0x00000000
271
-0x00000000 0x00000000 0x00000000 0x00000000
272
-0x00000000 0x00000000 0x00000000 0x00000000
273
-0x00000000 0x00000000 0x00000000 0x00000000
274
-0x00000000 0x00000000 0x00000000 0x00000000
275
-0x00000000 0x00000000 0x00000000 0x00000000
276
-0x00000000 0x00000000 0x00000000 0x00000000
277
-0x00000000 0x00000000 0x00000000 0x00000000
278
-0x00000000 0x00000000 0x00000000 0x00000000
279
-0x00000000 0x00000000 0x00000000 0x00000000
280
-0x00000000 0x00000000 0x00000000 0x00000000
281
-0x00000000 0x00000000 0x00000000 0x00000000
282
-0x00000000 0x00000000 0x00000000 0x00000000
283
-0x00000000 0x00000000 0x00000000 0x00000000
284
-0x00000000 0x00000000 0x00000000 0x00000000
285
-0x00000000 0x00000000 0x00000000 0x00000000
286
-0x00000000 0x00000000 0x00000000 0x00000000
287
-0x00000000 0x00000000 0x00000000 0x00000000
288
-0x00000000 0x00000000 0x00000000 0x00000000
289
-0x00000000 0x00000000 0x00000000 0x00000000
290
-0x00000000 0x00000000 0x00000000 0x00000000
291
-0x00000000 0x00000000 0x00000000 0x00000000
292
-0x00000000 0x00000000 0x00000000 0x00000000
293
-0x00000000 0x00000000 0x00000000 0x00000000
294
-0x00000000 0x00000000 0x00000000 0x00000000
295
-0x00000000 0x00000000 0x00000000 0x00000000
296
-0x00000000 0x00000000 0x00000000 0x00000000
297
-0x00000000 0x00000000 0x00000000 0x00000000
298
-0x00000000 0x00000000 0x00000000 0x00000000
299
-0x00000000 0x00000000 0x00000000 0x00000000
300
-0x00000000 0x00000000 0x00000000 0x00000000
301
-0x00000000 0x00000000 0x00000000 0x00000000
302
-0x00000000 0x00000000 0x00000000 0x00000000
303
-0x00000000 0x00000000 0x00000000 0x00000000
304
-0x00000000 0x00000000 0x00000000 0x00000000
305
-0x00000000 0x00000000 0x00000000 0x00000000
306
-0x00000000 0x00000000 0x00000000 0x00000000
307
-0x00000000 0x00000000 0x00000000 0x00000000
308
-0x00000000 0x00000000 0x00000000 0x00000000
309
-0x00000000 0x00000000 0x00000000 0x00000000
310
-0x00000000 0x00000000 0x00000000 0x00000000
311
-0x00000000 0x00000000 0x00000000 0x00000000
312
-0x00000000 0x00000000 0x00000000 0x00000000
313
-0x00000000 0x00000000 0x00000000 0x00000000
314
-0x00000000 0x00000000 0x00000000 0x00000000
315
-0x00000000 0x00000000 0x00000000 0x00000000
316
-0x00000000 0x00000000 0x00000000 0x00000000
317
-0x00000000 0x00000000 0x00000000 0x00000000
318
-0x00000000 0x00000000 0x00000000 0x00000000
319
-0x00000000 0x00000000 0x00000000 0x00000000
320
-0x00000000 0x00000000 0x00000000 0x00000000
321
-0x00000000 0x00000000 0x00000000 0x00000000
322
-0x00000000 0x00000000 0x00000000 0x00000000
323
-0x00000000 0x00000000 0x00000000 0x00000000
324
-0x00000000 0x00000000 0x00000000 0x00000000
325
-0x00000000 0x00000000 0x00000000 0x00000000
326
-0x00000000 0x00000000 0x00000000 0x00000000
327
-0x00000000 0x00000000 0x00000000 0x00000000
328
-0x00000000 0x00000000 0x00000000 0x00000000
329
-0x00000000 0x00000000 0x00000000 0x00000000
330
-0x00000000 0x00000000 0x00000000 0x00000000
331
-0x00000000 0x00000000 0x00000000 0x00000000
332
-0x00000000 0x00000000 0x00000000 0x00000000
333
-0x00000000 0x00000000 0x00000000 0x00000000
334
-0x00000000 0x00000000 0x00000000 0x00000000
335
-0x00000000 0x00000000 0x00000000 0x00000000
336
-0x00000000 0x00000000 0x00000000 0x00000000
337
-0x00000000 0x00000000 0x00000000 0x00000000
338
-0x00000000 0x00000000 0x00000000 0x00000000
339
-0x00000000 0x00000000 0x00000000 0x00000000
340
-0x00000000 0x00000000 0x00000000 0x00000000
341
-0x00000000 0x00000000 0x00000000 0x00000000
342
-0x00000000 0x00000000 0x00000000 0x00000000
343
-0x00000000 0x00000000 0x00000000 0x00000000
344
-0x00000000 0x00000000 0x00000000 0x00000000
345
-0x00000000 0x00000000 0x00000000 0x00000000
346
-0x00000000 0x00000000 0x00000000 0x00000000
347
-0x00000000 0x00000000 0x00000000 0x00000000
348
-0x00000000 0x00000000 0x00000000 0x00000000
349
-0x00000000 0x00000000 0x00000000 0x00000000
350
-0x00000000 0x00000000 0x00000000 0x00000000
351
-0x00000000 0x00000000 0x00000000 0x00000000
352
-0x00000000 0x00000000 0x00000000 0x00000000
353
-0x00000000 0x00000000 0x00000000 0x00000000
354
-0x00000000 0x00000000 0x00000000 0x00000000
355
-0x00000000 0x00000000 0x00000000 0x00000000
356
-0x00000000 0x00000000 0x00000000 0x00000000
357
-0x00000000 0x00000000 0x00000000 0x00000000
358
-0x00000000 0x00000000 0x00000000 0x00000000
359
-0x00000000 0x00000000 0x00000000 0x00000000
360
-0x00000000 0x00000000 0x00000000 0x00000000
361
-0x00000000 0x00000000 0x00000000 0x00000000
362
-0x00000000 0x00000000 0x00000000 0x00000000
363
-0x00000000 0x00000000 0x00000000 0x00000000
364
-0x00000000 0x00000000 0x00000000 0x00000000
365
-0x00000000 0x00000000 0x00000000 0x00000000
366
-0x00000000 0x00000000 0x00000000 0x00000000
367
-0x00000000 0x00000000 0x00000000 0x00000000
368
-0x00000000 0x00000000 0x00000000 0x00000000
369
-0x00000000 0x00000000 0x00000000 0x00000000
370
-0x00000000 0x00000000 0x00000000 0x00000000
371
-0x00000000 0x00000000 0x00000000 0x00000000
372
-0x00000000 0x00000000 0x00000000 0x00000000
373
-0x00000000 0x00000000 0x00000000 0x00000000
374
-0x00000000 0x00000000 0x00000000 0x00000000
375
-0x00000000 0x00000000 0x00000000 0x00000000
376
-0x00000000 0x00000000 0x00000000 0x00000000
377
-0x00000000 0x00000000 0x00000000 0x00000000
378
-0x00000000 0x00000000 0x00000000 0x00000000
379
-0x00000000 0x00000000 0x00000000 0x00000000
380
-0x00000000 0x00000000 0x00000000 0x00000000
381
-0x00000000 0x00000000 0x00000000 0x00000000
382
-0x00000000 0x00000000 0x00000000 0x00000000
383
-0x00000000 0x00000000 0x00000000 0x00000000
384
-0x00000000 0x00000000 0x00000000 0x00000000
385
-0x00000000 0x00000000 0x00000000 0x00000000
386
-0x00000000 0x00000000 0x00000000 0x00000000
387
-0x00000000 0x00000000 0x00000000 0x00000000
388
-0x00000000 0x00000000 0x00000000 0x00000000
389
-0x00000000 0x00000000 0x00000000 0x00000000
390
-0x00000000 0x00000000 0x00000000 0x00000000
391
-0x00000000 0x00000000 0x00000000 0x00000000
392
-0x00000000 0x00000000 0x00000000 0x00000000
393
-0x00000000 0x00000000 0x00000000 0x00000000
394
-0x00000000 0x00000000 0x00000000 0x00000000
395
-0x00000000 0x00000000 0x00000000 0x00000000
396
-0x00000000 0x00000000 0x00000000 0x00000000
397
-0x00000000 0x00000000 0x00000000 0x00000000
398
-0x00000000 0x00000000 0x00000000 0x00000000
399
-0x00000000 0x00000000 0x00000000 0x00000000
400
-0x00000000 0x00000000 0x00000000 0x00000000
401
-0x00000000 0x00000000 0x00000000 0x00000000
402
-0x00000000 0x00000000 0x00000000 0x00000000
403
-0x00000000 0x00000000 0x00000000 0x00000000
404
-0x00000000 0x00000000 0x00000000 0x00000000
405
-0x00000000 0x00000000 0x00000000 0x00000000
406
-0x00000000 0x00000000 0x00000000 0x00000000
407
-0x00000000 0x00000000 0x00000000 0x00000000
408
-0x00000000 0x00000000 0x00000000 0x00000000
409
-0x00000000 0x00000000 0x00000000 0x00000000
410
-0x00000000 0x00000000 0x00000000 0x00000000
411
-0x00000000 0x00000000 0x00000000 0x00000000
412
-0x00000000 0x00000000 0x00000000 0x00000000
413
-0x00000000 0x00000000 0x00000000 0x00000000
414
-0x00000000 0x00000000 0x00000000 0x00000000
415
-0x00000000 0x00000000 0x00000000 0x00000000
416
-0x00000000 0x00000000 0x00000000 0x00000000
417
-0x00000000 0x00000000 0x00000000 0x00000000
418
-0x00000000 0x00000000 0x00000000 0x00000000
419
-0x00000000 0x00000000 0x00000000 0x00000000
420
-0x00000000 0x00000000 0x00000000 0x00000000
421
-0x00000000 0x00000000 0x00000000 0x00000000
422
-0x00000000 0x00000000 0x00000000 0x00000000
423
-0x00000000 0x00000000 0x00000000 0x00000000
424
-0x00000000 0x00000000 0x00000000 0x00000000
425
-0x00000000 0x00000000 0x00000000 0x00000000
426
-0x00000000 0x00000000 0x00000000 0x00000000
427
-0x00000000 0x00000000 0x00000000 0x00000000
428
-0x00000000 0x00000000 0x00000000 0x00000000
429
-0x00000000 0x00000000 0x00000000 0x00000000
430
-0x00000000 0x00000000 0x00000000 0x00000000
431
-0x00000000 0x00000000 0x00000000 0x00000000
432
-0x00000000 0x00000000 0x00000000 0x00000000
433
-0x00000000 0x00000000 0x00000000 0x00000000
434
-0x00000000 0x00000000 0x00000000 0x00000000
435
-0x00000000 0x00000000 0x00000000 0x00000000
436
-0x00000000 0x00000000 0x00000000 0x00000000
437
-0x00000000 0x00000000 0x00000000 0x00000000
438
-0x00000000 0x00000000 0x00000000 0x00000000
439
-0x00000000 0x00000000 0x00000000 0x00000000
440
-0x00000000 0x00000000 0x00000000 0x00000000
441
-0x00000000 0x00000000 0x00000000 0x00000000
442
-0x00000000 0x00000000 0x00000000 0x00000000
443
-0x00000000 0x00000000 0x00000000 0x00000000
444
-0x00000000 0x00000000 0x00000000 0x00000000
445
-0x00000000 0x00000000 0x00000000 0x00000000
446
-0x00000000 0x00000000 0x00000000 0x00000000
447
-0x00000000 0x00000000 0x00000000 0x00000000
448
-0x00000000 0x00000000 0x00000000 0x00000000
449
-0x00000000 0x00000000 0x00000000 0x00000000
450
-0x00000000 0x00000000 0x00000000 0x00000000
451
-0x00000000 0x00000000 0x00000000 0x00000000
452
-0x00000000 0x00000000 0x00000000 0x00000000
453
-0x00000000 0x00000000 0x00000000 0x00000000
454
-0x00000000 0x00000000 0x00000000 0x00000000
455
-0x00000000 0x00000000 0x00000000 0x00000000
456
-0x00000000 0x00000000 0x00000000 0x00000000
457
-0x00000000 0x00000000 0x00000000 0x00000000
458
-0x00000000 0x00000000 0x00000000 0x00000000
459
-0x00000000 0x00000000 0x00000000 0x00000000
460
-0x00000000 0x00000000 0x00000000 0x00000000
461
-0x00000000 0x00000000 0x00000000 0x00000000
462
-0x00000000 0x00000000 0x00000000 0x00000000
463
-0x00000000 0x00000000 0x00000000 0x00000000
464
-0x00000000 0x00000000 0x00000000 0x00000000
465
-0x00000000 0x00000000 0x00000000 0x00000000
466
-0x00000000 0x00000000 0x00000000 0x00000000
467
-0x00000000 0x00000000 0x00000000 0x00000000
468
-0x00000000 0x00000000 0x00000000 0x00000000
469
-0x00000000 0x00000000 0x00000000 0x00000000
470
-0x00000000 0x00000000 0x00000000 0x00000000
471
-0x00000000 0x00000000 0x00000000 0x00000000
472
-0x00000000 0x00000000 0x00000000 0x00000000
473
-0x00000000 0x00000000 0x00000000 0x00000000
474
-0x00000000 0x00000000 0x00000000 0x00000000
475
-0x00000000 0x00000000 0x00000000 0x00000000
476
-0x00000000 0x00000000 0x00000000 0x00000000
477
-0x00000000 0x00000000 0x00000000 0x00000000
478
-0x00000000 0x00000000 0x00000000 0x00000000
479
-0x00000000 0x00000000 0x00000000 0x00000000
480
-0x00000000 0x00000000 0x00000000 0x00000000
481
-0x00000000 0x00000000 0x00000000 0x00000000
482
-0x00000000 0x00000000 0x00000000 0x00000000
483
-0x00000000 0x00000000 0x00000000 0x00000000
484
-0x00000000 0x00000000 0x00000000 0x00000000
485
-0x00000000 0x00000000 0x00000000 0x00000000
486
-0x00000000 0x00000000 0x00000000 0x00000000
487
-0x00000000 0x00000000 0x00000000 0x00000000
488
-0x00000000 0x00000000 0x00000000 0x00000000
489
-0x00000000 0x00000000 0x00000000 0x00000000
490
-0x00000000 0x00000000 0x00000000 0x00000000
491
-0x00000000 0x00000000 0x00000000 0x00000000
492
-0x00000000 0x00000000 0x00000000 0x00000000
493
-0x00000000 0x00000000 0x00000000 0x00000000
494
-0x00000000 0x00000000 0x00000000 0x00000000
495
-0x00000000 0x00000000 0x00000000 0x00000000
496
-0x00000000 0x00000000 0x00000000 0x00000000
497
-0x00000000 0x00000000 0x00000000 0x00000000
498
-0x00000000 0x00000000 0x00000000 0x00000000
499
-0x00000000 0x00000000 0x00000000 0x00000000
500
-0x00000000 0x00000000 0x00000000 0x00000000
501
-0x00000000 0x00000000 0x00000000 0x00000000
502
-0x00000000 0x00000000 0x00000000 0x00000000
503
-0x00000000 0x00000000 0x00000000 0x00000000
504
-0x00000000 0x00000000 0x00000000 0x00000000
505
-0x00000000 0x00000000 0x00000000 0x00000000
506
-0x00000000 0x00000000 0x00000000 0x00000000
507
-0x00000000 0x00000000 0x00000000 0x00000000
508
-0x00000000 0x00000000 0x00000000 0x00000000
509
-0x00000000 0x00000000 0x00000000 0x00000000
510
-0x00000000 0x00000000 0x00000000 0x00000000
511
-0x00000000 0x00000000 0x00000000 0x00000000
512
-0x00000000 0x00000000 0x00000000 0x00000000
513
-0x00000000 0x00000000 0x00000000 0x00000000
514
-0x00000000 0x00000000 0x00000000 0x00000000
515
-0x00000000 0x00000000 0x00000000 0x00000000
516
-0x00000000 0x00000000 0x00000000 0x00000000
517
-0x00000000 0x00000000 0x00000000 0x00000000
518
-0x00000000 0x00000000 0x00000000 0x00000000
519
-0x00000000 0x00000000 0x00000000 0x00000000
520
-0x00000000 0x00000000 0x00000000 0x00000000
521
-0x00000000 0x00000000 0x00000000 0x00000000
522
-0x00000000 0x00000000 0x00000000 0x00000000
523
-0x00000000 0x00000000 0x00000000 0x00000000
524
-0x00000000 0x00000000 0x00000000 0x00000000
525
-0x00000000 0x00000000 0x00000000 0x00000000
526
-0x00000000 0x00000000 0x00000000 0x00000000
527
-0x00000000 0x00000000 0x00000000 0x00000000
528
-0x00000000 0x00000000 0x00000000 0x00000000
529
-0x00000000 0x00000000 0x00000000 0x00000000
530
-0x00000000 0x00000000 0x00000000 0x00000000
531
-0x00000000 0x00000000 0x00000000 0x00000000
532
-0x00000000 0x00000000 0x00000000 0x00000000
533
-0x00000000 0x00000000 0x00000000 0x00000000
534
-0x00000000 0x00000000 0x00000000 0x00000000
535
-0x00000000 0x00000000 0x00000000 0x00000000
536
-0x00000000 0x00000000 0x00000000 0x00000000
537
-0x00000000 0x00000000 0x00000000 0x00000000
538
-0x00000000 0x00000000 0x00000000 0x00000000
539
-0x00000000 0x00000000 0x00000000 0x00000000
540
-0x00000000 0x00000000 0x00000000 0x00000000
541
-0x00000000 0x00000000 0x00000000 0x00000000
542
-0x00000000 0x00000000 0x00000000 0x00000000
543
-0x00000000 0x00000000 0x00000000 0x00000000
544
-0x00000000 0x00000000 0x00000000 0x00000000
545
-0x00000000 0x00000000 0x00000000 0x00000000
546
-0x00000000 0x00000000 0x00000000 0x00000000
547
-0x00000000 0x00000000 0x00000000 0x00000000
548
-0x00000000 0x00000000 0x00000000 0x00000000
549
-0x00000000 0x00011ea0 0x00001ff4 0x00001ff4
550
-0x00011e50 0x20002078 0x200005dc 0x00000000
551
-0x6c646974 0x00000065 0x00000081 0x20000004
552
-0x200005cc 0x20002384 0x20002384 0x20002178
553
-0x080042d1 0x00000000 0x200020d4 0x00000100
554
-0x00000000 0x001f1f01 0x80000000 0x00000020
555
-0x00000010 0x6c646974 0x00000065 0x0000008a
556
-0x20000034 0x20000610 0x200020b4 0x200020b4
557
-0x080012c5 0x2000205c 0x00000000 0x00000000
558
-0x00000000 0x00000000 0x23232323 0x23232323
559
-0x23232323 0x23232323 0x23232323 0x23232323
560
-0x23232323 0x23232323 0x23232323 0x23232323
561
-0x23232323 0x23232323 0x23232323 0x23232323
562
-0x23232323 0x23232323 0x23232323 0x23232323
563
-0x23232323 0x23232323 0x23232323 0x23232323
564
-0x23232323 0x23232323 0x23232323 0x23232323
565
-0x23232323 0x23232323 0x23232323 0x23232323
566
-0x23232323 0x23232323 0x23232323 0x23232323
567
-0x23232323 0x23232323 0x23232323 0x2000004c
568
-0x2000004c 0x20002254 0x200000d0 0x00000000
569
-0xdeadbeef 0xdeadbeef 0xdeadbeef 0xdeadbeef
570
-0xdeadbeef 0xdeadbeef 0xdeadbeef 0x200000d0
571
-0x20002394 0x20002254 0x200000d0 0x00000000
572
-0x08004261 0x080042ce 0x61005000 0x200000d0
573
-0x00000000 0xdeadbeef 0x080042d9 0xdeadbeef
574
-0x08000fe5 0x23232323 0x33320020 0x30303233
575
-0x30003333 0x302c6334 0x30303078 0x38343230
576
-0x00000a63 0x6f6d656d 0x75207972 0x65676173
577
-0x206e6920 0x20656874 0x74737973 0x0d2e6d65
578
-0x0000000a 0x00000000 0x00000000 0x00000000
579
-0x00000000 0x00000000 0x00000000 0x00000000
580
-0x00000000 0x00000000 0x00000000 0x00000000
581
-0x00000000 0x00000000 0x00000000 0x00000000
582
-0x00000000 0x00000000 0x2000004c 0x20002040
583
-0x2000004c 0x70616568 0x00000000 0x00000082
584
-0x20000014 0x200004f4 0x20002274 0x20002274
585
-0x00000001 0x00001fe8 0x00000368 0x000007f8
586
-0x2000228c 0x2000228c 0x20002294 0x20002294
587
-0x2000229c 0x2000229c 0x200022a4 0x200022a4
588
-0x200022ac 0x200022ac 0x200022b4 0x200022b4
589
-0x200022bc 0x200022bc 0x200022c4 0x200022c4
590
-0x200022cc 0x200022cc 0x200022d4 0x200022d4
591
-0x200022dc 0x200022dc 0x200022e4 0x200022e4
592
-0x200022ec 0x200022ec 0x200022f4 0x200022f4
593
-0x200022fc 0x200022fc 0x20002304 0x20002304
594
-0x2000230c 0x2000230c 0x20002314 0x20002314
595
-0x2000231c 0x2000231c 0x20002324 0x20002324
596
-0x2000232c 0x2000232c 0x200005d4 0x200005d4
597
-0x2000233c 0x2000233c 0x20002344 0x20002344
598
-0x2000234c 0x2000234c 0x20002354 0x20002354
599
-0x2000235c 0x2000235c 0x20002364 0x20002364
600
-0x2000236c 0x2000236c 0x20002374 0x20002374
601
-0x2000237c 0x2000237c 0x20002070 0x20002070
602
-0x200005c0 0x80200000 0x20002394 0x20002394
603
-0x08004318 0x080043e4 0x00000000 0x00000000
604
-0x200004e8 0x00000000 0x2068736d 0x0000003e
605
-0x00000000 0x00000000 0x00000000 0x00000000
606
-0x00000000 0x00000000 0x00000000 0x00000000
607
-0x00000000 0x00000000 0x00000000 0x00000000
608
-0x00000000 0x00000000 0x00000000 0x00000000
609
-0x00000000 0x00000000 0x00000000 0x00000000
610
-0x00000000 0x00000000 0x00000000 0x00000000
611
-0x00000000 0x00000000 0x00000000 0x00000000
612
-0x00000000 0x00000000 0x00000000 0x00011fd7
613
-0x40012c00 0x00000007 0x00000000 0x000003e7
614
-0x00000000 0x00000000 0x00000000 0x00000000
615
-0x00000000 0x00000000 0x00000000 0x00000000
616
-0x00000000 0x00000000 0x00000000 0x01010200
617
-0x01010101 0x00010101 0x20002484 0x20002484
618
-0x000019d8 0x40013800 0x0001c200 0x00000000
619
-0x00000000 0x00000000 0x0000000c 0x00000000
620
-0x00000000 0x00000000 0x00000001 0x00000000
621
-0x00000000 0x00000000 0x00000000 0x00000000
622
-0x00202000 0x00000000 0x15000000 
623
-Registers@tidle
624
-R0: 0x200000d0
625
-R1: 0x20002394
626
-R2: 0x20002254
627
-R3: 0x200000d0
628
-R4: 0x00000000
629
-R5: 0xdeadbeef
630
-R6: 0xdeadbeef
631
-R7: 0xdeadbeef
632
-R8: 0xdeadbeef
633
-R9: 0xdeadbeef
634
-R10: 0xdeadbeef
635
-R11: 0xdeadbeef
636
-R12: 0x00000000
637
-R13(SP): 0x200021b8
638
-R14(LR): 0x08004261
639
-R15(PC): 0x080042ce
640
-xPSR: 0x61005000
641
-Stack segment:
642
-mem@0x200021b8,0x0000001c
643
-0x200000d0 0x00000000 0xdeadbeef 0x080042d9
644
-0xdeadbeef 0x08000fe5 0x23232323 

+ 147
- 144
Middlewares/coredump/coredump.c Прегледај датотеку

@@ -1,15 +1,15 @@
1 1
 // SPDX-License-Identifier: GPL-3.0-only
2 2
 /*
3
- * Copyright (c) 2008-2023 100askTeam : Dongshan WEI <weidongshan@qq.com> 
3
+ * Copyright (c) 2008-2023 100askTeam : Dongshan WEI <weidongshan@qq.com>
4 4
  * Discourse:  https://forums.100ask.net
5 5
  */
6
- 
6
+
7 7
 /*  Copyright (C) 2008-2023 深圳百问网科技有限公司
8 8
  *  All rights reserved
9 9
  *
10 10
  * 免责声明: 百问网编写的文档, 仅供学员学习使用, 可以转发或引用(请保留作者信息),禁止用于商业用途!
11 11
  * 免责声明: 百问网编写的程序, 可以用于商业用途, 但百问网不承担任何后果!
12
- * 
12
+ *
13 13
  * 本程序遵循GPL V3协议, 请遵循协议
14 14
  * 百问网学习平台   : https://www.100ask.net
15 15
  * 百问网交流社区   : https://forums.100ask.net
@@ -18,25 +18,20 @@
18 18
  * 联系我们(E-mail): weidongshan@qq.com
19 19
  *
20 20
  *          版权所有,盗版必究。
21
- *  
21
+ *
22 22
  * 修改历史     版本号           作者        修改内容
23 23
  *-----------------------------------------------------
24 24
  * 2024.10.17      v01         百问科技      创建文件
25 25
  *-----------------------------------------------------
26 26
  */
27
- 
28 27
 #include <rtthread.h>
29 28
 #include <string.h>
30 29
 #include <stdint.h>
31 30
 
32
-
33
-#if               /* ARMCC */ (  (defined ( __CC_ARM ) && defined ( __TARGET_FPU_VFP ))    \
34
-                  /* Clang */ || (defined ( __clang__ ) && defined ( __VFP_FP__ ) && !defined(__SOFTFP__)) \
35
-                  /* IAR */   || (defined ( __ICCARM__ ) && defined ( __ARMVFP__ ))        \
36
-                  /* GNU */   || (defined ( __GNUC__ ) && defined ( __VFP_FP__ ) && !defined(__SOFTFP__)) )
37
-#define USE_FPU   1
31
+#if /* ARMCC */ ((defined(__CC_ARM) && defined(__TARGET_FPU_VFP)) /* Clang */ || (defined(__clang__) && defined(__VFP_FP__) && !defined(__SOFTFP__)) /* IAR */ || (defined(__ICCARM__) && defined(__ARMVFP__)) /* GNU */ || (defined(__GNUC__) && defined(__VFP_FP__) && !defined(__SOFTFP__)))
32
+    #define USE_FPU 1
38 33
 #else
39
-#define USE_FPU   0
34
+    #define USE_FPU 0
40 35
 #endif
41 36
 
42 37
 struct exception_stack_frame
@@ -150,172 +145,180 @@ struct exception_info
150 145
 static void DumpRegisters(struct stack_frame *sp, char *thread)
151 146
 {
152 147
 #if USE_FPU
153
-	if (sp->flag) /* 使用FPU */
154
-	{
155
-		struct stack_frame_fpu *sp_fpu = (struct stack_frame_fpu *)sp;
156
-		rt_kprintf("Registers@%s\n", thread);
157
-		rt_kprintf("R0: 0x%08x\n", sp_fpu->exception_stack_frame.r0);
158
-		rt_kprintf("R1: 0x%08x\n", sp_fpu->exception_stack_frame.r1);
159
-		rt_kprintf("R2: 0x%08x\n", sp_fpu->exception_stack_frame.r2);
160
-		rt_kprintf("R3: 0x%08x\n", sp_fpu->exception_stack_frame.r3);
161
-		rt_kprintf("R4: 0x%08x\n", sp_fpu->r4);
162
-		rt_kprintf("R5: 0x%08x\n", sp_fpu->r5);
163
-		rt_kprintf("R6: 0x%08x\n", sp_fpu->r6);
164
-		rt_kprintf("R7: 0x%08x\n", sp_fpu->r7);
165
-		rt_kprintf("R8: 0x%08x\n", sp_fpu->r8);
166
-		rt_kprintf("R9: 0x%08x\n", sp_fpu->r9);
167
-		rt_kprintf("R10: 0x%08x\n", sp_fpu->r10);
168
-		rt_kprintf("R11: 0x%08x\n", sp_fpu->r11);
169
-		rt_kprintf("R12: 0x%08x\n", sp_fpu->exception_stack_frame.r12);
170
-		rt_kprintf("R13(sp_fpu): 0x%08x\n", (uint32_t)sp_fpu + sizeof(*sp_fpu));
171
-		rt_kprintf("R14(LR): 0x%08x\n", sp_fpu->exception_stack_frame.lr);
172
-		rt_kprintf("R15(PC): 0x%08x\n", sp_fpu->exception_stack_frame.pc);
173
-		rt_kprintf("xPSR: 0x%08x\n", sp_fpu->exception_stack_frame.psr);
174
-	}
175
-	else
148
+    if (sp->flag) /* 使用FPU */
149
+    {
150
+        struct stack_frame_fpu *sp_fpu = (struct stack_frame_fpu *)sp;
151
+        rt_kprintf("Registers@%s\n", thread);
152
+        rt_kprintf("R0: 0x%08x\n", sp_fpu->exception_stack_frame.r0);
153
+        rt_kprintf("R1: 0x%08x\n", sp_fpu->exception_stack_frame.r1);
154
+        rt_kprintf("R2: 0x%08x\n", sp_fpu->exception_stack_frame.r2);
155
+        rt_kprintf("R3: 0x%08x\n", sp_fpu->exception_stack_frame.r3);
156
+        rt_kprintf("R4: 0x%08x\n", sp_fpu->r4);
157
+        rt_kprintf("R5: 0x%08x\n", sp_fpu->r5);
158
+        rt_kprintf("R6: 0x%08x\n", sp_fpu->r6);
159
+        rt_kprintf("R7: 0x%08x\n", sp_fpu->r7);
160
+        rt_kprintf("R8: 0x%08x\n", sp_fpu->r8);
161
+        rt_kprintf("R9: 0x%08x\n", sp_fpu->r9);
162
+        rt_kprintf("R10: 0x%08x\n", sp_fpu->r10);
163
+        rt_kprintf("R11: 0x%08x\n", sp_fpu->r11);
164
+        rt_kprintf("R12: 0x%08x\n", sp_fpu->exception_stack_frame.r12);
165
+        rt_kprintf("R13(sp_fpu): 0x%08x\n", (uint32_t)sp_fpu + sizeof(*sp_fpu));
166
+        rt_kprintf("R14(LR): 0x%08x\n", sp_fpu->exception_stack_frame.lr);
167
+        rt_kprintf("R15(PC): 0x%08x\n", sp_fpu->exception_stack_frame.pc);
168
+        rt_kprintf("xPSR: 0x%08x\n", sp_fpu->exception_stack_frame.psr);
169
+    }
170
+    else
176 171
 #endif
177
-	{
178
-		rt_kprintf("Registers@%s\n", thread);
179
-		rt_kprintf("R0: 0x%08x\n", sp->exception_stack_frame.r0);
180
-		rt_kprintf("R1: 0x%08x\n", sp->exception_stack_frame.r1);
181
-		rt_kprintf("R2: 0x%08x\n", sp->exception_stack_frame.r2);
182
-		rt_kprintf("R3: 0x%08x\n", sp->exception_stack_frame.r3);
183
-		rt_kprintf("R4: 0x%08x\n", sp->r4);
184
-		rt_kprintf("R5: 0x%08x\n", sp->r5);
185
-		rt_kprintf("R6: 0x%08x\n", sp->r6);
186
-		rt_kprintf("R7: 0x%08x\n", sp->r7);
187
-		rt_kprintf("R8: 0x%08x\n", sp->r8);
188
-		rt_kprintf("R9: 0x%08x\n", sp->r9);
189
-		rt_kprintf("R10: 0x%08x\n", sp->r10);
190
-		rt_kprintf("R11: 0x%08x\n", sp->r11);
191
-		rt_kprintf("R12: 0x%08x\n", sp->exception_stack_frame.r12);
192
-		rt_kprintf("R13(SP): 0x%08x\n", (uint32_t)sp + sizeof(*sp));
193
-		rt_kprintf("R14(LR): 0x%08x\n", sp->exception_stack_frame.lr);
194
-		rt_kprintf("R15(PC): 0x%08x\n", sp->exception_stack_frame.pc);
195
-		rt_kprintf("xPSR: 0x%08x\n", sp->exception_stack_frame.psr);
196
-	}
197
-	
172
+    {
173
+        rt_kprintf("Registers@%s\n", thread);
174
+        rt_kprintf("R0: 0x%08x\n", sp->exception_stack_frame.r0);
175
+        rt_kprintf("R1: 0x%08x\n", sp->exception_stack_frame.r1);
176
+        rt_kprintf("R2: 0x%08x\n", sp->exception_stack_frame.r2);
177
+        rt_kprintf("R3: 0x%08x\n", sp->exception_stack_frame.r3);
178
+        rt_kprintf("R4: 0x%08x\n", sp->r4);
179
+        rt_kprintf("R5: 0x%08x\n", sp->r5);
180
+        rt_kprintf("R6: 0x%08x\n", sp->r6);
181
+        rt_kprintf("R7: 0x%08x\n", sp->r7);
182
+        rt_kprintf("R8: 0x%08x\n", sp->r8);
183
+        rt_kprintf("R9: 0x%08x\n", sp->r9);
184
+        rt_kprintf("R10: 0x%08x\n", sp->r10);
185
+        rt_kprintf("R11: 0x%08x\n", sp->r11);
186
+        rt_kprintf("R12: 0x%08x\n", sp->exception_stack_frame.r12);
187
+        rt_kprintf("R13(SP): 0x%08x\n", (uint32_t)sp + sizeof(*sp));
188
+        rt_kprintf("R14(LR): 0x%08x\n", sp->exception_stack_frame.lr);
189
+        rt_kprintf("R15(PC): 0x%08x\n", sp->exception_stack_frame.pc);
190
+        rt_kprintf("xPSR: 0x%08x\n", sp->exception_stack_frame.psr);
191
+    }
198 192
 }
199 193
 
200 194
 static void DumpMem(uint32_t addr, uint32_t len)
201 195
 {
202
-	uint32_t *paddr;
203
-	uint32_t i;
204
-
205
-	if (len == 0)
206
-		return;
207
-	
208
-	paddr = (uint32_t *)addr;
209
-	rt_kprintf("mem@0x%08x,0x%08x\n", addr, len);
210
-	
211
-	for (i = 0; i < len;)
212
-	{
213
-		rt_kprintf("0x%08x", *paddr);
214
-		paddr++;
215
-
216
-		i+= 4;
217
-		if (i % 16 == 0)
218
-			rt_kprintf("\n");
219
-		else
220
-			rt_kprintf(" ");
221
-	}
222
-	rt_kprintf("\n");
196
+    uint32_t *paddr;
197
+    uint32_t i;
198
+
199
+    if (len == 0)
200
+        return;
201
+
202
+    paddr = (uint32_t *)addr;
203
+    rt_kprintf("mem@0x%08x,0x%08x\n", addr, len);
204
+
205
+    for (i = 0; i < len;)
206
+    {
207
+        rt_kprintf("0x%08x", *paddr);
208
+        paddr++;
209
+
210
+        i += 4;
211
+        if (i % 16 == 0)
212
+            rt_kprintf("\n");
213
+        else
214
+            rt_kprintf(" ");
215
+    }
216
+    rt_kprintf("\n");
223 217
 }
224 218
 
225
-void DumpTasks(void)
219
+void DumpCurrentTask(struct stack_frame *sp)
226 220
 {
227
-    struct rt_object *object = RT_NULL;
228
-    struct rt_list_node *node = RT_NULL;
229
-    struct rt_object_information *information = RT_NULL;
230
-	struct rt_thread *thread;
231
-	rt_thread_t current_thread = rt_thread_self();
232
-	struct stack_frame *sp;
233
-	uint32_t sp_addr;
234
-	uint32_t sp_len;
221
+    uint32_t cur_sp;
222
+    uint32_t cur_sp_len;
223
+
224
+    rt_thread_t current_thread = rt_thread_self();
225
+
226
+    /* 打印当前任务的寄存器 */
227
+    DumpRegisters(sp, "current_thread");
228
+
229
+    /* 打印当前任务的栈 */
230
+    rt_kprintf("Stack segment:\n");
231
+
232
+#if USE_FPU
233
+    if (sp->flag)
234
+        cur_sp = (uint32_t)sp + sizeof(struct stack_frame_fpu);
235
+    else
236
+#endif
237
+        cur_sp = (uint32_t)sp + sizeof(struct stack_frame);
238
+
239
+    cur_sp_len = (uint32_t)current_thread->stack_addr + current_thread->stack_size - cur_sp;
240
+    DumpMem(cur_sp, cur_sp_len);
241
+}
242
+
243
+void DumpDataZI(void)
244
+{
245
+#pragma section = ".data"
246
+#pragma section = ".bss"
247
+    /* 打印数据段 */
248
+    rt_kprintf("Data segment:\n");
249
+    DumpMem((uint32_t)__section_begin(".data"), (uint32_t)__section_end(".data") - (uint32_t)__section_begin(".data"));
235 250
 
236
-    information = rt_object_get_information(RT_Object_Class_Thread);
251
+    /* 打印ZI段 */
252
+    rt_kprintf("ZI segment:\n");
253
+    DumpMem((uint32_t)__section_begin(".bss"), (uint32_t)__section_end(".bss") - (uint32_t)__section_begin(".bss"));
254
+}
255
+
256
+void DumpOtherTasks(void)
257
+{
258
+    struct rt_object_information *information = rt_object_get_information(RT_Object_Class_Thread);
237 259
 
238 260
     /* parameter check */
239 261
     if (information == RT_NULL)
240
-        return ;
262
+        return;
241 263
 
242 264
     /* enter critical */
243 265
     rt_enter_critical();
244 266
 
245 267
     /* try to find object */
268
+    rt_thread_t current_thread = rt_thread_self();
269
+    struct rt_list_node *node = RT_NULL;
270
+
246 271
     rt_list_for_each(node, &(information->object_list))
247 272
     {
248
-        object = rt_list_entry(node, struct rt_object, list);
249
-		thread = (struct rt_thread *)object;
250
-		if (thread != current_thread)
251
-		{
252
-			/* 打印线程的寄存器 */
253
-			DumpRegisters(thread->sp, thread->name);
254
-
255
-			/* 打印线程的栈 */
256
-			rt_kprintf("Stack segment:\n");
257
-			sp = (struct stack_frame *)thread->sp;
258
-#if USE_FPU			
259
-			if (sp->flag)
260
-				sp_addr = (uint32_t)sp + sizeof(struct stack_frame_fpu);
261
-			else
262
-#endif				
263
-				sp_addr = (uint32_t)sp + sizeof(struct stack_frame);
264
-
265
-			sp_len = (uint32_t)thread->stack_addr + thread->stack_size - sp_addr;
266
-			DumpMem(sp_addr, sp_len);
267
-		}
273
+        struct rt_object *object = rt_list_entry(node, struct rt_object, list);
274
+        struct rt_thread *thread = (struct rt_thread *)object;
275
+
276
+        if (thread != current_thread)
277
+        {
278
+            /* 打印线程的寄存器 */
279
+            DumpRegisters(thread->sp, thread->name);
280
+
281
+            /* 打印线程的栈 */
282
+            rt_kprintf("Stack segment:\n");
283
+            struct stack_frame *sp = (struct stack_frame *)thread->sp;
284
+            uint32_t sp_addr;
285
+#if USE_FPU
286
+            if (sp->flag)
287
+                sp_addr = (uint32_t)sp + sizeof(struct stack_frame_fpu);
288
+            else
289
+#endif
290
+                sp_addr = (uint32_t)sp + sizeof(struct stack_frame);
291
+
292
+            uint32_t sp_len = (uint32_t)thread->stack_addr + thread->stack_size - sp_addr;
293
+            DumpMem(sp_addr, sp_len);
294
+        }
268 295
     }
269 296
 
270 297
     /* leave critical */
271 298
     rt_exit_critical();
272
-
273 299
 }
274 300
 
275 301
 #pragma section = ".data"
276 302
 #pragma section = ".bss"
277 303
 
278
-void DumpCore(struct    stack_frame *sp)
304
+void DumpCore(struct stack_frame *sp)
279 305
 {
280
-	uint32_t cur_sp;
281
-	uint32_t cur_sp_len;
282
-
283
-	rt_thread_t current_thread = rt_thread_self();
284
-	
285
-	/* 打印当前任务的寄存器 */
286
-	DumpRegisters(sp, "current_thread");
287
-
288
-	/* 打印当前任务的栈 */
289
-	rt_kprintf("Stack segment:\n");
290
-	
291
-#if USE_FPU			
292
-	if (sp->flag)
293
-		cur_sp = (uint32_t)sp + sizeof(struct stack_frame_fpu);
294
-	else
295
-#endif		
296
-		cur_sp = (uint32_t)sp + sizeof(struct stack_frame);
297
-	
298
-	cur_sp_len = (uint32_t)current_thread->stack_addr + current_thread->stack_size - cur_sp;
299
-	DumpMem(cur_sp, cur_sp_len);
300
-
301
-	/* 打印数据段 */
302
-	rt_kprintf("Data segment:\n");
303
-	DumpMem((uint32_t)__section_begin(".data"), (uint32_t)__section_end(".data") - (uint32_t)__section_begin(".data"));
304
-
305
-	/* 打印ZI段 */
306
-	rt_kprintf("ZI segment:\n");
307
-	DumpMem((uint32_t)__section_begin(".bss"), (uint32_t)__section_end(".bss") - (uint32_t)__section_begin(".bss"));
308
-
309
-	/* 打印其他任务的寄存器和栈 */
310
-	DumpTasks();
306
+    /* 打印当前任务寄存器和栈 */
307
+    DumpCurrentTask(sp);
308
+
309
+    /* 打印数据段 */
310
+    DumpDataZI();
311
+
312
+    /* 打印其他任务的寄存器和栈 */
313
+    DumpOtherTasks();
311 314
 }
312 315
 
313 316
 void rt_hw_hard_fault_exception(struct exception_info *exception_info)
314 317
 {
315
-	DumpCore(&exception_info->stack_frame);
316
-    while (1);
318
+    DumpCore(&exception_info->stack_frame);
319
+    while (1)
320
+    ;
317 321
 }
318 322
 
319 323
 void coredump_cmd_asm(void);
320 324
 MSH_CMD_EXPORT_ALIAS(coredump_cmd_asm, coredump, coredump from user);
321
-

+ 37
- 30
Middlewares/coredump/coredump_cmd.S Прегледај датотеку

@@ -54,45 +54,52 @@ coredump_cmd_asm:
54 54
 	POP {r0} /* xpsr */
55 55
         BX      LR
56 56
 
57
-	IMPORT rt_hw_hard_fault_exception
58
-	EXPORT HardFault_Handler
57
+    IMPORT rt_hw_hard_fault_exception
58
+    EXPORT HardFault_Handler
59 59
 HardFault_Handler:
60 60
 
61
-	; get current context
62
-	MRS 	r0, msp 				; get fault context from handler.
63
-	TST 	lr, #0x04				; if(!EXC_RETURN[2])
64
-	BEQ 	_get_sp_done
65
-	MRS 	r0, psp 				; get fault context from thread.
61
+    ; get current context
62
+    MRS     r0, msp                 ; get fault context from handler.
63
+    TST     lr, #0x04               ; if(!EXC_RETURN[2])
64
+    BEQ     _get_sp_done
65
+    MRS     r0, psp                 ; get fault context from thread.
66 66
 _get_sp_done
67 67
 
68
-	STMFD	r0!, {r4 - r11} 		; push r4 - r11 register
69
-	;STMFD	 r0!, {lr}				 ; push exec_return register
70 68
 #if defined ( __ARMVFP__ )
71
-	MOV  R1, #0   ; not use FPU
72
-	TST  lr, #(1<<4)
73
-	BNE  _set_flag_done
74
-	MOV  R1, #1   ; use FPU
75
-_set_flag_done	  
76
-	SUB 	r0, r0, #0x04			; push dummy for flag
77
-	STR 	R1, [r0]
69
+    TST     lr, #0x10               ; if(!EXC_RETURN[4])
70
+    BNE     skip_push_fpu
71
+    VSTMDB  r0!, {d8 - d15}         ; push FPU register s16~s31
72
+skip_push_fpu
78 73
 #endif
79
-	SUB 	r0, r0, #0x04
80
-	STR 	lr, [r0]
81 74
 
82
-	TST 	lr, #0x04				; if(!EXC_RETURN[2])
83
-	BEQ 	_update_msp
84
-	MSR 	psp, r0 				; update stack pointer to PSP.
85
-	B		_update_done
75
+    STMFD   r0!, {r4 - r11}         ; push r4 - r11 register
76
+
77
+#if defined ( __ARMVFP__ )
78
+    MOV     r4, #0x00               ; flag = 0
79
+    TST     lr, #0x10               ; if(!EXC_RETURN[4])
80
+    BNE     push_flag
81
+    MOV     r4, #0x01               ; flag = 1
82
+push_flag
83
+    STMFD   r0!, {r4}              ; push flag
84
+#endif
85
+
86
+    STMFD   r0!, {lr}              ; push flag
87
+
88
+    TST     lr, #0x04               ; if(!EXC_RETURN[2])
89
+    BEQ     _update_msp
90
+    MSR     psp, r0                 ; update stack pointer to PSP.
91
+    B       _update_done
86 92
 _update_msp
87
-	MSR 	msp, r0 				; update stack pointer to MSP.
93
+    MSR     msp, r0                 ; update stack pointer to MSP.
88 94
 _update_done
89 95
 
90
-	PUSH	{lr}
91
-	BL		rt_hw_hard_fault_exception
92
-	POP 	{lr}
96
+    PUSH    {lr}
97
+    BL      rt_hw_hard_fault_exception
98
+    POP     {lr}
99
+
100
+    ORR     lr, lr, #0x04
101
+    BX      lr
102
+
103
+    END
93 104
 
94
-	ORR 	lr, lr, #0x04
95
-	BX		lr
96
-        
97
-        END
98 105
 

+ 5
- 1
Middlewares/rtthread/board.c Прегледај датотеку

@@ -95,7 +95,11 @@ void SysInit(void)
95 95
 
96 96
 int main(void)
97 97
 {
98
-    rt_kprintf("%s\n", __func__);
98
+    int i = 1;
99
+    int q = 58;
100
+    int d = i + q;
101
+    //rt_kprintf("%s\n", __func__);
102
+    test_softbreakpoint();
99 103
     return 0;
100 104
 }
101 105
 

+ 1
- 1
Middlewares/rtthread/rtconfig.h Прегледај датотеку

@@ -67,7 +67,7 @@
67 67
 
68 68
 // <e>Software timers Configuration
69 69
 // <i> Enables user timers
70
-#define RT_USING_TIMER_SOFT         0
70
+#define RT_USING_TIMER_SOFT         1
71 71
 #if RT_USING_TIMER_SOFT == 0
72 72
     #undef RT_USING_TIMER_SOFT
73 73
 #endif

Loading…
Откажи
Сачувај