user_qt.txt
12.6 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
; 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\user_qt.o --asm_dir=.\Flash\List\ --list_dir=.\Flash\List\ --depend=.\flash\obj\user_qt.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.\RTE\_Flash -IC:\Users\软件部\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include -IC:\Users\软件部\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\user_qt.crf ..\..\User\parameter\user_QT.c]
THUMB
AREA ||i.agvControlToPlc||, CODE, READONLY, ALIGN=2
agvControlToPlc PROC
;;;29
;;;30 void agvControlToPlc()
000000 b510 PUSH {r4,lr}
;;;31 {
;;;32 //双字区
;;;33 DataToQt[0] = HandlePlcData.SendPlcData.QR_X & 0XFFFF;
000002 4936 LDR r1,|L1.220|
000004 4836 LDR r0,|L1.224|
000006 6dca LDR r2,[r1,#0x5c] ; HandlePlcData
000008 f8202c34 STRH r2,[r0,#-0x34]
;;;34 DataToQt[1] = (HandlePlcData.SendPlcData.QR_X >> 16) & 0XFFFF;
00000c 0c12 LSRS r2,r2,#16
00000e f8202c32 STRH r2,[r0,#-0x32]
;;;35 DataToQt[2] = HandlePlcData.SendPlcData.QR_Y & 0XFFFF;
000012 6e0a LDR r2,[r1,#0x60] ; HandlePlcData
000014 f8202c30 STRH r2,[r0,#-0x30]
;;;36 DataToQt[3] = (HandlePlcData.SendPlcData.QR_Y >> 16) & 0XFFFF;
000018 0c12 LSRS r2,r2,#16
00001a f8202c2e STRH r2,[r0,#-0x2e]
;;;37
;;;38 //单字
;;;39 DataToQt[40] = HandlePlcData.SendPlcData.QR_W * 100;
00001e f8b12064 LDRH r2,[r1,#0x64] ; HandlePlcData
000022 eb0203c2 ADD r3,r2,r2,LSL #3
000026 eb031202 ADD r2,r3,r2,LSL #4
00002a f64f73ff MOV r3,#0xffff
00002e ea030282 AND r2,r3,r2,LSL #2
000032 8382 STRH r2,[r0,#0x1c]
;;;40 DataToQt[41] = HandlePlcData.SendPlcData.CurrentID;
000034 f8b1204c LDRH r2,[r1,#0x4c] ; HandlePlcData
000038 83c2 STRH r2,[r0,#0x1e]
;;;41 DataToQt[42] = HandlePlcData.SendPlcData.CurrentLandMark;
00003a f8b1204a LDRH r2,[r1,#0x4a] ; HandlePlcData
00003e 8402 STRH r2,[r0,#0x20]
;;;42
;;;43 DataToQt[43] = HandlePlcData.SendPlcData.FirstWheelAcSpeed;
000040 880a LDRH r2,[r1,#0] ; HandlePlcData
000042 8442 STRH r2,[r0,#0x22]
;;;44 DataToQt[44] = HandlePlcData.SendPlcData.SecondWheelAcSpeed;
000044 884a LDRH r2,[r1,#2] ; HandlePlcData
000046 8482 STRH r2,[r0,#0x24]
;;;45
;;;46 DataToQt[45] = HandlePlcData.SendPlcData.FirstWheelAcAngle * 100;
000048 ed910a0a VLDR s0,[r1,#0x28]
00004c eddf0a25 VLDR s1,|L1.228|
000050 ee200a20 VMUL.F32 s0,s0,s1
000054 eebc0ac0 VCVT.U32.F32 s0,s0
000058 ee102a10 VMOV r2,s0
00005c 84c2 STRH r2,[r0,#0x26]
;;;47 DataToQt[46] = HandlePlcData.SendPlcData.SecondWheelAcAngle * 100;
00005e ed910a0b VLDR s0,[r1,#0x2c]
000062 ee200a20 VMUL.F32 s0,s0,s1
000066 eebc0ac0 VCVT.U32.F32 s0,s0
00006a ee102a10 VMOV r2,s0
00006e 8502 STRH r2,[r0,#0x28]
;;;48
;;;49 DataToQt[47] = (short)HandlePlcData.SendPlcData.FirstWheelTarAngle * 100;
000070 ed910a0e VLDR s0,[r1,#0x38]
000074 eebd0ac0 VCVT.S32.F32 s0,s0
000078 ee102a10 VMOV r2,s0
00007c eb0204c2 ADD r4,r2,r2,LSL #3
000080 eb041202 ADD r2,r4,r2,LSL #4
000084 ea030282 AND r2,r3,r2,LSL #2
000088 8542 STRH r2,[r0,#0x2a]
;;;50 DataToQt[48] = (short)HandlePlcData.SendPlcData.SecondWheelTarAngle * 100;
00008a ed910a0f VLDR s0,[r1,#0x3c]
00008e eebd0ac0 VCVT.S32.F32 s0,s0
000092 ee102a10 VMOV r2,s0
000096 eb0204c2 ADD r4,r2,r2,LSL #3
00009a eb041202 ADD r2,r4,r2,LSL #4
00009e ea030282 AND r2,r3,r2,LSL #2
0000a2 8582 STRH r2,[r0,#0x2c]
;;;51
;;;52 DataToQt[49] = HandlePlcData.SendPlcData.FirstMagneticGuidanceDataL;
0000a4 8a0a LDRH r2,[r1,#0x10] ; HandlePlcData
0000a6 85c2 STRH r2,[r0,#0x2e]
;;;53 DataToQt[50] = HandlePlcData.SendPlcData.SecondMagneticGuidanceDataL;
0000a8 8a4a LDRH r2,[r1,#0x12] ; HandlePlcData
0000aa 8602 STRH r2,[r0,#0x30]
;;;54 DataToQt[51] = HandlePlcData.SendPlcData.ThirdMagneticGuidanceDataL;
0000ac 8a8a LDRH r2,[r1,#0x14] ; HandlePlcData
0000ae 8642 STRH r2,[r0,#0x32]
;;;55 DataToQt[52] = HandlePlcData.SendPlcData.FourthMagneticGuidanceDataL;
0000b0 8aca LDRH r2,[r1,#0x16] ; HandlePlcData
0000b2 8682 STRH r2,[r0,#0x34]
;;;56
;;;57 DataToQt[53] = HandlePlcData.SendPlcData.FirstMagneticGuidanceDataR;
0000b4 8b0a LDRH r2,[r1,#0x18] ; HandlePlcData
0000b6 86c2 STRH r2,[r0,#0x36]
;;;58 DataToQt[54] = HandlePlcData.SendPlcData.SecondMagneticGuidanceDataR;
0000b8 8b4a LDRH r2,[r1,#0x1a] ; HandlePlcData
0000ba 8702 STRH r2,[r0,#0x38]
;;;59 DataToQt[55] = HandlePlcData.SendPlcData.ThirdMagneticGuidanceDataR;
0000bc 8b8a LDRH r2,[r1,#0x1c] ; HandlePlcData
0000be 8742 STRH r2,[r0,#0x3a]
;;;60 DataToQt[56] = HandlePlcData.SendPlcData.FourthMagneticGuidanceDataR;
0000c0 8bca LDRH r2,[r1,#0x1e] ; HandlePlcData
0000c2 8782 STRH r2,[r0,#0x3c]
;;;61
;;;62 DataToQt[57] = (short)HandlePlcData.SendPlcData.AgvOffset * 10;
0000c4 ed910a1a VLDR s0,[r1,#0x68]
0000c8 eebd0ac0 VCVT.S32.F32 s0,s0
0000cc ee101a10 VMOV r1,s0
0000d0 eb010181 ADD r1,r1,r1,LSL #2
0000d4 ea030141 AND r1,r3,r1,LSL #1
0000d8 87c1 STRH r1,[r0,#0x3e]
;;;63
;;;64 //半字
;;;65 }
0000da bd10 POP {r4,pc}
;;;66
ENDP
|L1.220|
DCD HandlePlcData+0xa8
|L1.224|
DCD ||.bss||+0x34
|L1.228|
0000e4 42c80000 DCFS 0x42c80000 ; 100
AREA ||i.agvDriveInputData||, CODE, READONLY, ALIGN=1
agvDriveInputData PROC
;;;66
;;;67 void agvDriveInputData()
000000 4770 BX lr
;;;68 {
;;;69
;;;70 }
;;;71
ENDP
AREA ||i.agvDriveOutputData||, CODE, READONLY, ALIGN=1
agvDriveOutputData PROC
;;;71
;;;72 void agvDriveOutputData()
000000 4770 BX lr
;;;73 {
;;;74
;;;75 }
;;;76
ENDP
AREA ||i.agvPlcToControl||, CODE, READONLY, ALIGN=2
agvPlcToControl PROC
;;;10
;;;11 void agvPlcToControl()
000000 4915 LDR r1,|L4.88|
;;;12 {
;;;13 //双字区
;;;14 DataToQt[100] = HandlePlcData.RecvPlcData.FrontWheelAcDis & 0xFFFF;
000002 4816 LDR r0,|L4.92|
000004 6a0a LDR r2,[r1,#0x20] ; HandlePlcData
000006 8002 STRH r2,[r0,#0]
;;;15 DataToQt[101] = (HandlePlcData.RecvPlcData.FrontWheelAcDis >> 16) & 0xFFFF;
000008 0c12 LSRS r2,r2,#16
00000a 8042 STRH r2,[r0,#2]
;;;16 DataToQt[102] = HandlePlcData.RecvPlcData.BackWheelAcDis & 0xFFFF;
00000c 6a4a LDR r2,[r1,#0x24] ; HandlePlcData
00000e 8082 STRH r2,[r0,#4]
;;;17 DataToQt[103] = (HandlePlcData.RecvPlcData.BackWheelAcDis >> 16) & 0xFFFF;
000010 0c12 LSRS r2,r2,#16
000012 80c2 STRH r2,[r0,#6]
;;;18 //单字
;;;19 DataToQt[140] = HandlePlcData.RecvPlcData.FirstWheelSetSpeed;
000014 880a LDRH r2,[r1,#0] ; HandlePlcData
000016 f8a02050 STRH r2,[r0,#0x50]
;;;20 DataToQt[141] = HandlePlcData.RecvPlcData.SecondWheelSetSpeed;
00001a 884a LDRH r2,[r1,#2] ; HandlePlcData
00001c f8a02052 STRH r2,[r0,#0x52]
;;;21
;;;22 DataToQt[142] = (short)(HandlePlcData.RecvPlcData.FirstWheelTarAngle * 100);
000020 ed910a02 VLDR s0,[r1,#8]
000024 eddf0a0e VLDR s1,|L4.96|
000028 ee200a20 VMUL.F32 s0,s0,s1
00002c eebd0ac0 VCVT.S32.F32 s0,s0
000030 ee102a10 VMOV r2,s0
000034 f8a02054 STRH r2,[r0,#0x54]
;;;23 DataToQt[143] = (short)(HandlePlcData.RecvPlcData.SecondWheelTarAngle * 100);
000038 ed910a03 VLDR s0,[r1,#0xc]
00003c ee200a20 VMUL.F32 s0,s0,s1
000040 eebd0ac0 VCVT.S32.F32 s0,s0
000044 ee102a10 VMOV r2,s0
000048 f8a02056 STRH r2,[r0,#0x56]
;;;24
;;;25 //半字
;;;26 DataToQt[180] = HandlePlcData.RecvPlcData.ManualAutomaticSignal;
00004c f891104c LDRB r1,[r1,#0x4c] ; HandlePlcData
000050 f8a010a0 STRH r1,[r0,#0xa0]
;;;27
;;;28 }
000054 4770 BX lr
;;;29
ENDP
000056 0000 DCW 0x0000
|L4.88|
DCD HandlePlcData
|L4.92|
DCD ||.bss||+0xc8
|L4.96|
000060 42c80000 DCFS 0x42c80000 ; 100
AREA ||i.agvSensorTest||, CODE, READONLY, ALIGN=1
agvSensorTest PROC
;;;76
;;;77 void agvSensorTest()
000000 4770 BX lr
;;;78 {
;;;79
;;;80
;;;81 }
ENDP
AREA ||.bss||, DATA, NOINIT, ALIGN=1
DataToQt
% 1000
AREA ||area_number.8||, DATA, NOINIT, ALIGN=2
EXPORTAS ||area_number.8||, ||.bss||
SendPlc
% 200
AREA ||area_number.9||, DATA, NOINIT, ALIGN=2
EXPORTAS ||area_number.9||, ||.bss||
RecvPlc
% 200
AREA ||area_number.10||, DATA, NOINIT, ALIGN=1
EXPORTAS ||area_number.10||, ||.bss||
DriveInput
% 60
AREA ||area_number.11||, DATA, NOINIT, ALIGN=2
EXPORTAS ||area_number.11||, ||.bss||
DriveOutput
% 136
;*** Start embedded assembler ***
#line 1 "..\\..\\User\\parameter\\user_QT.c"
AREA ||.rev16_text||, CODE
THUMB
EXPORT |__asm___9_user_QT_c_DataToQt____REV16|
#line 129 "..\\..\\Libraries\\CMSIS\\Include\\core_cmInstr.h"
|__asm___9_user_QT_c_DataToQt____REV16| PROC
#line 130
rev16 r0, r0
bx lr
ENDP
AREA ||.revsh_text||, CODE
THUMB
EXPORT |__asm___9_user_QT_c_DataToQt____REVSH|
#line 144
|__asm___9_user_QT_c_DataToQt____REVSH| PROC
#line 145
revsh r0, r0
bx lr
ENDP
AREA ||.rrx_text||, CODE
THUMB
EXPORT |__asm___9_user_QT_c_DataToQt____RRX|
#line 300
|__asm___9_user_QT_c_DataToQt____RRX| PROC
#line 301
rrx r0, r0
bx lr
ENDP
;*** End embedded assembler ***