main.txt
22.8 KB
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
; generated by Component: ARM Compiler 5.06 update 6 (build 750) Tool: ArmCC [4d3637]
; commandline ArmCC [--c99 --list --split_sections --debug -c --asm --interleave -o.\flash\obj\main.o --asm_dir=.\Flash\List\ --list_dir=.\Flash\List\ --depend=.\flash\obj\main.d --cpu=Cortex-M4.fp --apcs=interwork -O1 --diag_suppress=9931,870 -I..\..\Libraries\CMSIS\Include -I..\..\Libraries\CMSIS\Device\ST\STM32F4xx\Include -I..\..\Libraries\STM32F4xx_StdPeriph_Driver\inc -I..\..\uCOS-III\uC-CPU -I..\..\uCOS-III\uC-LIB -I..\..\uCOS-III\uCOS-III\Ports -I..\..\uCOS-III\uCOS-III\Source -I..\..\uCOS-III\uC-CPU\ARM-Cortex-M4\RealView -I..\..\uCOS-III\uC-LIB\Ports\ARM-Cortex-M4\RealView -I..\..\uCOS-III\uCOS-III\Ports\ARM-Cortex-M4\Generic\RealView -I..\..\User -I..\..\User\bsp -I..\..\User\bsp\inc -I..\..\User\libapp -I..\..\RL-ARM\Config -I..\..\RL-ARM\Driver -I..\..\RL-ARM\RL-RTX\inc -I..\..\User\bsp\BSP -I..\..\RL-ARM\RL-CAN -I..\..\Libraries\DSP_LIB\Include -I..\..\MODBUS\modbus\rtu -I..\..\MODBUS\BARE\port -I..\..\MODBUS\modbus\include -I..\..\User\bsp\BSP -I..\..\PLC -I..\..\Avoid -I..\..\User\parameter -I..\..\User\LaserMotionCtr -I..\..\User\W5100S -I..\..\User\bsp -I..\..\User\CHASSIS -I..\..\User\CONTROLFUNCTION -I..\..\User\DATAUPDATE -I..\..\User\HARAWARE -I..\..\User\MOTORDRIVER -I..\..\User\NAVAGATION -I..\..\User\PLATFORM -I..\..\User\SENSOR -I.\RTE\_Flash -IC:\Users\YDJ\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include -IC:\Users\YDJ\AppData\Local\Arm\Packs\Keil\STM32F4xx_DFP\2.13.0\Drivers\CMSIS\Device\ST\STM32F4xx\Include -D__UVISION_VERSION=527 -D_RTE_ -DSTM32F407xx -DUSE_STDPERIPH_DRIVER -DSTM32F40_41xxx -D__RTX -D__FPU_USED=1 --omf_browse=.\flash\obj\main.crf ..\..\User\main.c]
THUMB
AREA ||i.AppTaskCanUpdate||, CODE, READONLY, ALIGN=1
AppTaskCanUpdate PROC
;;;240
;;;241 static void AppTaskCanUpdate (void *p_arg)
000000 b508 PUSH {r3,lr}
|L1.2|
;;;242 {
;;;243 (void)p_arg;
;;;244 OS_ERR err;
;;;245 while(1)
;;;246 {
;;;247 OSTimeDly(10, OS_OPT_TIME_PERIODIC, &err);
000002 466a MOV r2,sp
000004 2108 MOVS r1,#8
000006 200a MOVS r0,#0xa
000008 f7fffffe BL OSTimeDly
00000c e7f9 B |L1.2|
;;;248 }
;;;249 }
;;;250
ENDP
AREA ||i.AppTaskCreate||, CODE, READONLY, ALIGN=2
AppTaskCreate PROC
;;;75
;;;76 static void AppTaskCreate(void *p_arg)
000000 e92d47f0 PUSH {r4-r10,lr}
;;;77 {
000004 b08a SUB sp,sp,#0x28
000006 4681 MOV r9,r0
;;;78 OS_ERR err;
;;;79 if(PVDFlag == 5)
000008 4841 LDR r0,|L2.272|
00000a 2400 MOVS r4,#0
;;;80 {
;;;81 /* 创建一个启动任务(也就是主任务)。启动任务会创建所有的应用程序任务 */
;;;82 OSTaskCreate((OS_TCB *)&AppTaskFeedDogTCB, /* 任务控制块地址 */
00000c 2503 MOVS r5,#3
00000e 7800 LDRB r0,[r0,#0] ;79 ; PVDFlag
000010 f10d0824 ADD r8,sp,#0x24
000014 2805 CMP r0,#5 ;79
000016 d115 BNE |L2.68|
000018 9405 STR r4,[sp,#0x14]
00001a f44f7080 MOV r0,#0x100
00001e e9cd4506 STRD r4,r5,[sp,#0x18]
000022 f8cd8020 STR r8,[sp,#0x20]
000026 e9cd0403 STRD r0,r4,[sp,#0xc]
00002a 2119 MOVS r1,#0x19
00002c 4a39 LDR r2,|L2.276|
00002e e9cd2101 STRD r2,r1,[sp,#4]
000032 2002 MOVS r0,#2
000034 9000 STR r0,[sp,#0]
000036 4837 LDR r0,|L2.276|
000038 2300 MOVS r3,#0
00003a 4a37 LDR r2,|L2.280|
00003c a137 ADR r1,|L2.284|
00003e 3868 SUBS r0,r0,#0x68
000040 f7fffffe BL OSTaskCreate
|L2.68|
;;;83 (CPU_CHAR *)"App Task FeedDog", /* 任务名 */
;;;84 (OS_TASK_PTR )AppTaskFeedDog, /* 启动任务函数地址 */
;;;85 (void *)0, /* 传递给任务的参数 */
;;;86 (OS_PRIO )APP_CFG_TASK_FeedDog_PRIO, /* 任务优先级 */
;;;87 (CPU_STK *)&AppTaskFeedDogStk[0], /* 堆栈基地址 */
;;;88 (CPU_STK_SIZE )APP_CFG_TASK_FEEDDOG_STK_SIZE / 10, /* 堆栈监测区,这里表示后10%作为监测区 */
;;;89 (CPU_STK_SIZE )APP_CFG_TASK_FEEDDOG_STK_SIZE, /* 堆栈空间大小 */
;;;90 (OS_MSG_QTY )0, /* 本任务支持接受的最大消息数 */
;;;91 (OS_TICK )0, /* 设置时间片 */
;;;92 (void *)0, /* 堆栈空间大小 */
;;;93 (OS_OPT )(OS_OPT_TASK_STK_CHK | OS_OPT_TASK_STK_CLR),
;;;94 (OS_ERR *)&err);
;;;95 }
;;;96 //以太网通讯任务
;;;97 OSTaskCreate((OS_TCB *)&AppTaskEthernetSerCom, /* 任务控制块地址 */
000044 e9cd4506 STRD r4,r5,[sp,#0x18]
000048 4839 LDR r0,|L2.304|
00004a 9001 STR r0,[sp,#4]
00004c 9405 STR r4,[sp,#0x14]
00004e 2004 MOVS r0,#4
000050 f44f6680 MOV r6,#0x400
000054 2766 MOVS r7,#0x66
000056 f8cd8020 STR r8,[sp,#0x20]
00005a 9000 STR r0,[sp,#0]
00005c e9cd7602 STRD r7,r6,[sp,#8]
000060 4833 LDR r0,|L2.304|
000062 9404 STR r4,[sp,#0x10]
000064 2300 MOVS r3,#0
000066 4a33 LDR r2,|L2.308|
000068 a133 ADR r1,|L2.312|
00006a 3868 SUBS r0,r0,#0x68
00006c f7fffffe BL OSTaskCreate
;;;98 (CPU_CHAR *)"App Task Ethernet Ser", /* 任务名 */
;;;99 (OS_TASK_PTR )AppTaskEthernetSer, /* 启动任务函数地址 */
;;;100 (void *)0, /* 传递给任务的参数 */
;;;101 (OS_PRIO )APP_CFG_TASK_EthernetSer_PRIO, /* 任务优先级 */
;;;102 (CPU_STK *)&AppTaskEthernetSerComStk[0], /* 堆栈基地址 */
;;;103 (CPU_STK_SIZE )APP_CFG_TASK_ETHERNETSERCOM_STK_SIZE / 10, /* 堆栈监测区,这里表示后10%作为监测区 */
;;;104 (CPU_STK_SIZE )APP_CFG_TASK_ETHERNETSERCOM_STK_SIZE, /* 堆栈空间大小 */
;;;105 (OS_MSG_QTY )0, /* 本任务支持接受的最大消息数 */
;;;106 (OS_TICK )0, /* 设置时间片 */
;;;107 (void *)0, /* 堆栈空间大小 */
;;;108 (OS_OPT )(OS_OPT_TASK_STK_CHK | OS_OPT_TASK_STK_CLR),
;;;109 (OS_ERR *)&err);
;;;110 //Client
;;;111 //运动控制
;;;112 OSTaskCreate((OS_TCB *)&AppTaskMotion, /* 任务控制块地址 */
000070 9405 STR r4,[sp,#0x14]
000072 0070 LSLS r0,r6,#1
000074 e9cd4506 STRD r4,r5,[sp,#0x18]
000078 f8cd9020 STR r9,[sp,#0x20]
00007c e9cd0403 STRD r0,r4,[sp,#0xc]
000080 21cc MOVS r1,#0xcc
000082 4a33 LDR r2,|L2.336|
000084 e9cd2101 STRD r2,r1,[sp,#4]
000088 2009 MOVS r0,#9
00008a 9000 STR r0,[sp,#0]
00008c 4830 LDR r0,|L2.336|
00008e 2300 MOVS r3,#0
000090 4a30 LDR r2,|L2.340|
000092 a131 ADR r1,|L2.344|
000094 3868 SUBS r0,r0,#0x68
000096 f7fffffe BL OSTaskCreate
;;;113 (CPU_CHAR *)"App Task Motion Control", /* 任务名 */
;;;114 (OS_TASK_PTR )AppTaskMotionControl, /* 启动任务函数地址 */
;;;115 (void *)0, /* 传递给任务的参数 */
;;;116 (OS_PRIO )APP_CFG_TASK_MotionControl_PRIO, /* 任务优先级 5*/
;;;117 (CPU_STK *)&AppTaskMotionStk[0], /* 堆栈基地址 */
;;;118 (CPU_STK_SIZE )APP_CFG_TASK_MotionControl_STK_SIZE / 10, /* 堆栈监测区,这里表示后10%作为监测区 */
;;;119 (CPU_STK_SIZE )APP_CFG_TASK_MotionControl_STK_SIZE, /* 堆栈空间大小 */
;;;120 (OS_MSG_QTY )0, /* 本任务支持接受的最大消息数 */
;;;121 (OS_TICK )0, /* 设置时间片 */
;;;122 (void *)0, /* 堆栈空间大小 */
;;;123 (OS_OPT )(OS_OPT_TASK_STK_CHK | OS_OPT_TASK_STK_CLR),
;;;124 (OS_ERR *)p_arg);
;;;125 /****************************CANdriver**********************************/
;;;126 OSTaskCreate((OS_TCB *)&AppTaskCANTCB,
00009a 2007 MOVS r0,#7
00009c 9405 STR r4,[sp,#0x14]
00009e e9cd0807 STRD r0,r8,[sp,#0x1c]
0000a2 4833 LDR r0,|L2.368|
0000a4 9406 STR r4,[sp,#0x18]
0000a6 f04f0a08 MOV r10,#8
0000aa e9cda000 STRD r10,r0,[sp,#0]
0000ae e9cd7602 STRD r7,r6,[sp,#8]
0000b2 2300 MOVS r3,#0
0000b4 4a2f LDR r2,|L2.372|
0000b6 a130 ADR r1,|L2.376|
0000b8 9404 STR r4,[sp,#0x10]
0000ba 3868 SUBS r0,r0,#0x68
0000bc f7fffffe BL OSTaskCreate
;;;127 (CPU_CHAR *)"App Task CAN",
;;;128 (OS_TASK_PTR )AppTaskCanUpdate,
;;;129 (void *)0,
;;;130 (OS_PRIO )APP_CFG_TASK_CAN_PRIO,
;;;131 (CPU_STK *)&AppTaskCANTCBStk[0],
;;;132 (CPU_STK_SIZE )APP_CFG_TASK_USER_CAN_STK_SIZE / 10,
;;;133 (CPU_STK_SIZE )APP_CFG_TASK_USER_CAN_STK_SIZE,
;;;134 (OS_MSG_QTY )0,
;;;135 (OS_TICK )0,
;;;136 (void *)0,
;;;137 (OS_OPT )(OS_OPT_TASK_STK_CHK | OS_OPT_TASK_SAVE_FP | OS_OPT_TASK_STK_CLR),
;;;138 (OS_ERR *)&err);
;;;139
;;;140 OSTaskCreate((OS_TCB *)&AppTaskEthernetCliCom, /* 任务控制块地址 */
0000c0 e9cd4506 STRD r4,r5,[sp,#0x18]
0000c4 4830 LDR r0,|L2.392|
0000c6 9001 STR r0,[sp,#4]
0000c8 9405 STR r4,[sp,#0x14]
0000ca 2005 MOVS r0,#5
0000cc f8cd8020 STR r8,[sp,#0x20]
0000d0 9000 STR r0,[sp,#0]
0000d2 e9cd7602 STRD r7,r6,[sp,#8]
0000d6 482c LDR r0,|L2.392|
0000d8 9404 STR r4,[sp,#0x10]
0000da 2300 MOVS r3,#0
0000dc 4a2b LDR r2,|L2.396|
0000de a12c ADR r1,|L2.400|
0000e0 3868 SUBS r0,r0,#0x68
0000e2 f7fffffe BL OSTaskCreate
;;;141 (CPU_CHAR *)"App Task Ethernet Cli", /* 任务名 */
;;;142 (OS_TASK_PTR )AppTaskEthernetCli, /* 启动任务函数地址 */
;;;143 (void *)0, /* 传递给任务的参数 */
;;;144 (OS_PRIO )APP_CFG_TASK_EthernetCli_PRIO, /* 任务优先级 */
;;;145 (CPU_STK *)&AppTaskEthernetCliComStk[0], /* 堆栈基地址 */
;;;146 (CPU_STK_SIZE )APP_CFG_TASK_ETHERNETCLICOM_STK_SIZE / 10, /* 堆栈监测区,这里表示后10%作为监测区 */
;;;147 (CPU_STK_SIZE )APP_CFG_TASK_ETHERNETCLICOM_STK_SIZE, /* 堆栈空间大小 */
;;;148 (OS_MSG_QTY )0, /* 本任务支持接受的最大消息数 */
;;;149 (OS_TICK )0, /* 设置时间片 */
;;;150 (void *)0, /* 堆栈空间大小 */
;;;151 (OS_OPT )(OS_OPT_TASK_STK_CHK | OS_OPT_TASK_STK_CLR),
;;;152 (OS_ERR *)&err);
;;;153
;;;154 OSTaskCreate((OS_TCB *)&AppTaskSpeed, /* 任务控制块地址 */
0000e6 e9cd4506 STRD r4,r5,[sp,#0x18]
0000ea 482f LDR r0,|L2.424|
0000ec 9405 STR r4,[sp,#0x14]
0000ee e9cda000 STRD r10,r0,[sp,#0]
0000f2 f8cd9020 STR r9,[sp,#0x20]
0000f6 e9cd7602 STRD r7,r6,[sp,#8]
0000fa 2300 MOVS r3,#0
0000fc 4a2b LDR r2,|L2.428|
0000fe a12c ADR r1,|L2.432|
000100 9404 STR r4,[sp,#0x10]
000102 3868 SUBS r0,r0,#0x68
000104 f7fffffe BL OSTaskCreate
;;;155 (CPU_CHAR *)"App Task Speed Ctr", /* 任务名 */
;;;156 (OS_TASK_PTR )AppTaskSpeedCtr, /* 启动任务函数地址 */
;;;157 (void *)0, /* 传递给任务的参数 */
;;;158 (OS_PRIO )APP_CFG_TASK_SpeedCtr_PRIO, /* 任务优先级 2*/
;;;159 (CPU_STK *)&AppTaskSpeedStk[0], /* 堆栈基地址 */
;;;160 (CPU_STK_SIZE )APP_CFG_TASK_Speed_STK_SIZE / 10, /* 堆栈监测区,这里表示后10%作为监测区 */
;;;161 (CPU_STK_SIZE )APP_CFG_TASK_Speed_STK_SIZE, /* 堆栈空间大小 */
;;;162 (OS_MSG_QTY )0, /* 本任务支持接受的最大消息数 */
;;;163 (OS_TICK )0, /* 设置时间片 */
;;;164 (void *)0, /* 堆栈空间大小 */
;;;165 (OS_OPT )(OS_OPT_TASK_STK_CHK | OS_OPT_TASK_STK_CLR),
;;;166 (OS_ERR *)p_arg);
;;;167 }
000108 b00a ADD sp,sp,#0x28
00010a e8bd87f0 POP {r4-r10,pc}
;;;168 /*
ENDP
00010e 0000 DCW 0x0000
|L2.272|
DCD ||.data||
|L2.276|
DCD ||.bss||+0x68
|L2.280|
DCD AppTaskFeedDog
|L2.284|
00011c 41707020 DCB "App Task FeedDog",0
000120 5461736b
000124 20466565
000128 64446f67
00012c 00
00012d 00 DCB 0
00012e 00 DCB 0
00012f 00 DCB 0
|L2.304|
DCD ||.bss||+0x4d0
|L2.308|
DCD AppTaskEthernetSer
|L2.312|
000138 41707020 DCB "App Task Ethernet Ser",0
00013c 5461736b
000140 20457468
000144 65726e65
000148 74205365
00014c 7200
00014e 00 DCB 0
00014f 00 DCB 0
|L2.336|
DCD ||.bss||+0x25a0
|L2.340|
DCD AppTaskMotionControl
|L2.344|
000158 41707020 DCB "App Task Motion Control",0
00015c 5461736b
000160 204d6f74
000164 696f6e20
000168 436f6e74
00016c 726f6c00
|L2.368|
DCD ||.bss||+0x4608
|L2.372|
DCD AppTaskCanUpdate
|L2.376|
000178 41707020 DCB "App Task CAN",0
00017c 5461736b
000180 2043414e
000184 00
000185 00 DCB 0
000186 00 DCB 0
000187 00 DCB 0
|L2.392|
DCD ||.bss||+0x1538
|L2.396|
DCD AppTaskEthernetCli
|L2.400|
000190 41707020 DCB "App Task Ethernet Cli",0
000194 5461736b
000198 20457468
00019c 65726e65
0001a0 7420436c
0001a4 6900
0001a6 00 DCB 0
0001a7 00 DCB 0
|L2.424|
DCD ||.bss||+0x5670
|L2.428|
DCD AppTaskSpeedCtr
|L2.432|
0001b0 41707020 DCB "App Task Speed Ctr",0
0001b4 5461736b
0001b8 20537065
0001bc 65642043
0001c0 747200
0001c3 00 DCB 0
AREA ||i.AppTaskEthernetCli||, CODE, READONLY, ALIGN=2
AppTaskEthernetCli PROC
;;;219 extern int32_t bsp_GetRunTime(void);
;;;220 static void AppTaskEthernetCli(void *p_arg)
000000 b508 PUSH {r3,lr}
;;;221 {
;;;222 OS_ERR err;
;;;223 while(1)
;;;224 {
;;;225 agv.Public.SystemTime = bsp_GetRunTime();
000002 4c05 LDR r4,|L3.24|
|L3.4|
000004 f7fffffe BL bsp_GetRunTime
000008 f8c400bc STR r0,[r4,#0xbc] ; agv
;;;226 OSTimeDly(10, OS_OPT_TIME_PERIODIC, &err);
00000c 466a MOV r2,sp
00000e 2108 MOVS r1,#8
000010 200a MOVS r0,#0xa
000012 f7fffffe BL OSTimeDly
000016 e7f5 B |L3.4|
;;;227 }
;;;228 }
;;;229 extern void _AppTaskRunCoreUpdate(void);
ENDP
|L3.24|
DCD agv
AREA ||i.AppTaskEthernetSer||, CODE, READONLY, ALIGN=1
AppTaskEthernetSer PROC
;;;193
;;;194 static void AppTaskEthernetSer(void *p_arg)
000000 b508 PUSH {r3,lr}
;;;195 {
;;;196 OS_ERR err;
;;;197 SpiInit();
000002 f7fffffe BL SpiInit
|L4.6|
;;;198
;;;199 while(1)
;;;200 {
;;;201 do_tcp_server();
000006 f7fffffe BL do_tcp_server
;;;202
;;;203 do_tcp_client();
00000a f7fffffe BL do_tcp_client
;;;204
;;;205 OSTimeDly(10, OS_OPT_TIME_PERIODIC, &err);
00000e 466a MOV r2,sp
000010 2108 MOVS r1,#8
000012 200a MOVS r0,#0xa
000014 f7fffffe BL OSTimeDly
000018 e7f5 B |L4.6|
;;;206 }
;;;207 }
;;;208
ENDP
AREA ||i.AppTaskFeedDog||, CODE, READONLY, ALIGN=1
AppTaskFeedDog PROC
;;;177 */
;;;178 static void AppTaskFeedDog (void *p_arg)
000000 b508 PUSH {r3,lr}
;;;179 {
;;;180 OS_ERR err;
;;;181 extern void bsp_InitWwdg(uint8_t _ucTreg, uint8_t _ucWreg, uint32_t WWDG_Prescaler);
;;;182 bsp_InitWWDG();
000002 f7fffffe BL bsp_InitWWDG
|L5.6|
;;;183 while (1)
;;;184 {
;;;185 FeedDog();
000006 f7fffffe BL FeedDog
;;;186
;;;187 OSTimeDly(10, OS_OPT_TIME_DLY, &err);
00000a 466a MOV r2,sp
00000c 2100 MOVS r1,#0
00000e 200a MOVS r0,#0xa
000010 f7fffffe BL OSTimeDly
000014 e7f7 B |L5.6|
;;;188 }
;;;189 }
;;;190
ENDP
AREA ||i.AppTaskMotionControl||, CODE, READONLY, ALIGN=1
AppTaskMotionControl PROC
;;;208
;;;209 static void AppTaskMotionControl(void *p_arg)
000000 b508 PUSH {r3,lr}
|L6.2|
;;;210 {
;;;211 OS_ERR err;
;;;212
;;;213 while(1)
;;;214 {
;;;215
;;;216 OSTimeDly(10, OS_OPT_TIME_PERIODIC, &err);
000002 466a MOV r2,sp
000004 2108 MOVS r1,#8
000006 200a MOVS r0,#0xa
000008 f7fffffe BL OSTimeDly
00000c e7f9 B |L6.2|
;;;217 }
;;;218 }
;;;219 extern int32_t bsp_GetRunTime(void);
ENDP
AREA ||i.AppTaskSpeedCtr||, CODE, READONLY, ALIGN=1
AppTaskSpeedCtr PROC
;;;229 extern void _AppTaskRunCoreUpdate(void);
;;;230 static void AppTaskSpeedCtr (void *p_arg)
000000 b508 PUSH {r3,lr}
|L7.2|
;;;231 {
;;;232 (void)p_arg;
;;;233 OS_ERR err;
;;;234 while(1)
;;;235 {
;;;236 _AppTaskRunCoreUpdate();
000002 f7fffffe BL _AppTaskRunCoreUpdate
;;;237 OSTimeDly(10, OS_OPT_TIME_PERIODIC, &err);
000006 466a MOV r2,sp
000008 2108 MOVS r1,#8
00000a 200a MOVS r0,#0xa
00000c f7fffffe BL OSTimeDly
000010 e7f7 B |L7.2|
;;;238 }
;;;239 }
;;;240
ENDP
AREA ||i.main||, CODE, READONLY, ALIGN=1
main PROC
;;;49
;;;50 int main(void)
000000 b508 PUSH {r3,lr}
;;;51 {
;;;52 OS_ERR err;
;;;53 NVIC_SetVectorTable(FLASH_BASE,0x20000);/* 中断向量重映射 */
000002 f44f3100 MOV r1,#0x20000
000006 0288 LSLS r0,r1,#10
000008 f7fffffe BL NVIC_SetVectorTable
;;;54 CPU_Init();
00000c f7fffffe BL CPU_Init
;;;55 bsp_Init();
000010 f7fffffe BL bsp_Init
;;;56 BSP_Tick_Init();
000014 f7fffffe BL BSP_Tick_Init
;;;57 /* 初始化uC/OS-III 内核 */
;;;58 OSInit(&err);
000018 4668 MOV r0,sp
00001a f7fffffe BL OSInit
;;;59 AppTaskCreate(&err); /* 创建任务 */
00001e 4668 MOV r0,sp
000020 f7fffffe BL AppTaskCreate
;;;60 /* 启动多任务系统,控制权交给uC/OS-III */
;;;61 OSStart(&err);
000024 4668 MOV r0,sp
000026 f7fffffe BL OSStart
;;;62 (void)&err;
;;;63 return (0);
00002a 2000 MOVS r0,#0
;;;64 }
00002c bd08 POP {r3,pc}
;;;65
ENDP
AREA ||.bss||, DATA, NOINIT, ALIGN=2
AppTaskFeedDogTCB
% 104
AppTaskFeedDogStk
% 1024
AppTaskEthernetSerCom
% 104
AppTaskEthernetSerComStk
% 4096
AppTaskEthernetCliCom
% 104
AppTaskEthernetCliComStk
% 4096
AppTaskMotion
% 104
AppTaskMotionStk
% 8192
AppTaskCANTCB
% 104
AppTaskCANTCBStk
% 4096
AppTaskSpeed
% 104
AppTaskSpeedStk
% 4096
AREA ||.data||, DATA, ALIGN=0
PVDFlag
000000 00 DCB 0x00
;*** Start embedded assembler ***
#line 1 "..\\..\\User\\main.c"
AREA ||.rev16_text||, CODE
THUMB
EXPORT |__asm___6_main_c_main____REV16|
#line 129 "..\\..\\Libraries\\CMSIS\\Include\\core_cmInstr.h"
|__asm___6_main_c_main____REV16| PROC
#line 130
rev16 r0, r0
bx lr
ENDP
AREA ||.revsh_text||, CODE
THUMB
EXPORT |__asm___6_main_c_main____REVSH|
#line 144
|__asm___6_main_c_main____REVSH| PROC
#line 145
revsh r0, r0
bx lr
ENDP
AREA ||.rrx_text||, CODE
THUMB
EXPORT |__asm___6_main_c_main____RRX|
#line 300
|__asm___6_main_c_main____RRX| PROC
#line 301
rrx r0, r0
bx lr
ENDP
;*** End embedded assembler ***
__ARM_use_no_argv EQU 0