3130 lines
122 KiB
Plaintext
3130 lines
122 KiB
Plaintext
ARM GAS /tmp/cclV24WD.s page 1
|
||
|
||
|
||
1 .cpu cortex-m4
|
||
2 .arch armv7e-m
|
||
3 .fpu fpv4-sp-d16
|
||
4 .eabi_attribute 27, 1
|
||
5 .eabi_attribute 28, 1
|
||
6 .eabi_attribute 20, 1
|
||
7 .eabi_attribute 21, 1
|
||
8 .eabi_attribute 23, 3
|
||
9 .eabi_attribute 24, 1
|
||
10 .eabi_attribute 25, 1
|
||
11 .eabi_attribute 26, 1
|
||
12 .eabi_attribute 30, 6
|
||
13 .eabi_attribute 34, 1
|
||
14 .eabi_attribute 18, 4
|
||
15 .file "ADBMS_Abstraction.c"
|
||
16 .text
|
||
17 .Ltext0:
|
||
18 .cfi_sections .debug_frame
|
||
19 .file 1 "Core/Src/ADBMS_Abstraction.c"
|
||
20 .global numberofcells
|
||
21 .section .bss.numberofcells,"aw",%nobits
|
||
24 numberofcells:
|
||
25 0000 00 .space 1
|
||
26 .global numberofauxchannels
|
||
27 .section .bss.numberofauxchannels,"aw",%nobits
|
||
30 numberofauxchannels:
|
||
31 0000 00 .space 1
|
||
32 .section .rodata
|
||
33 .align 2
|
||
34 .LC0:
|
||
35 0000 FFFFFFFF .ascii "\377\377\377\377\377\377"
|
||
35 FFFF
|
||
36 .section .text.amsReset,"ax",%progbits
|
||
37 .align 1
|
||
38 .global amsReset
|
||
39 .syntax unified
|
||
40 .thumb
|
||
41 .thumb_func
|
||
43 amsReset:
|
||
44 .LFB130:
|
||
1:Core/Src/ADBMS_Abstraction.c **** /*
|
||
2:Core/Src/ADBMS_Abstraction.c **** * ADBMS_Abstraction.c
|
||
3:Core/Src/ADBMS_Abstraction.c **** *
|
||
4:Core/Src/ADBMS_Abstraction.c **** * Created on: 14.07.2022
|
||
5:Core/Src/ADBMS_Abstraction.c **** * Author: max
|
||
6:Core/Src/ADBMS_Abstraction.c **** */
|
||
7:Core/Src/ADBMS_Abstraction.c ****
|
||
8:Core/Src/ADBMS_Abstraction.c **** #include "ADBMS_Abstraction.h"
|
||
9:Core/Src/ADBMS_Abstraction.c **** #include "ADBMS_CMD_MAKROS.h"
|
||
10:Core/Src/ADBMS_Abstraction.c **** #include "ADBMS_LL_Driver.h"
|
||
11:Core/Src/ADBMS_Abstraction.c **** #include <stddef.h>
|
||
12:Core/Src/ADBMS_Abstraction.c ****
|
||
13:Core/Src/ADBMS_Abstraction.c **** uint8 numberofcells;
|
||
14:Core/Src/ADBMS_Abstraction.c **** uint8 numberofauxchannels;
|
||
15:Core/Src/ADBMS_Abstraction.c ****
|
||
16:Core/Src/ADBMS_Abstraction.c **** #define CHECK_RETURN(x) \
|
||
17:Core/Src/ADBMS_Abstraction.c **** { \
|
||
ARM GAS /tmp/cclV24WD.s page 2
|
||
|
||
|
||
18:Core/Src/ADBMS_Abstraction.c **** uint8 status = x; \
|
||
19:Core/Src/ADBMS_Abstraction.c **** if (status != 0) \
|
||
20:Core/Src/ADBMS_Abstraction.c **** return status; \
|
||
21:Core/Src/ADBMS_Abstraction.c **** }
|
||
22:Core/Src/ADBMS_Abstraction.c ****
|
||
23:Core/Src/ADBMS_Abstraction.c **** uint8 amsReset() {
|
||
45 .loc 1 23 18
|
||
46 .cfi_startproc
|
||
47 @ args = 0, pretend = 0, frame = 16
|
||
48 @ frame_needed = 1, uses_anonymous_args = 0
|
||
49 0000 80B5 push {r7, lr}
|
||
50 .cfi_def_cfa_offset 8
|
||
51 .cfi_offset 7, -8
|
||
52 .cfi_offset 14, -4
|
||
53 0002 84B0 sub sp, sp, #16
|
||
54 .cfi_def_cfa_offset 24
|
||
55 0004 00AF add r7, sp, #0
|
||
56 .cfi_def_cfa_register 7
|
||
24:Core/Src/ADBMS_Abstraction.c **** amsWakeUp();
|
||
57 .loc 1 24 3
|
||
58 0006 FFF7FEFF bl amsWakeUp
|
||
25:Core/Src/ADBMS_Abstraction.c **** readCMD(SRST, NULL, 0);
|
||
59 .loc 1 25 3
|
||
60 000a 0022 movs r2, #0
|
||
61 000c 0021 movs r1, #0
|
||
62 000e 2720 movs r0, #39
|
||
63 0010 FFF7FEFF bl readCMD
|
||
26:Core/Src/ADBMS_Abstraction.c **** mcuDelay(10);
|
||
64 .loc 1 26 3
|
||
65 0014 0A20 movs r0, #10
|
||
66 0016 FFF7FEFF bl mcuDelay
|
||
27:Core/Src/ADBMS_Abstraction.c **** amsWakeUp();
|
||
67 .loc 1 27 3
|
||
68 001a FFF7FEFF bl amsWakeUp
|
||
28:Core/Src/ADBMS_Abstraction.c **** amsStopBalancing();
|
||
69 .loc 1 28 3
|
||
70 001e FFF7FEFF bl amsStopBalancing
|
||
29:Core/Src/ADBMS_Abstraction.c **** amsConfigOverUnderVoltage(DEFAULT_OV, DEFAULT_UV);
|
||
71 .loc 1 29 3
|
||
72 0022 40F2A111 movw r1, #417
|
||
73 0026 40F26540 movw r0, #1125
|
||
74 002a FFF7FEFF bl amsConfigOverUnderVoltage
|
||
30:Core/Src/ADBMS_Abstraction.c ****
|
||
31:Core/Src/ADBMS_Abstraction.c **** const uint8 buffer[6] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF};
|
||
75 .loc 1 31 15
|
||
76 002e 214A ldr r2, .L8
|
||
77 0030 3B1D adds r3, r7, #4
|
||
78 0032 92E80300 ldm r2, {r0, r1}
|
||
79 0036 1860 str r0, [r3]
|
||
80 0038 0433 adds r3, r3, #4
|
||
81 003a 1980 strh r1, [r3] @ movhi
|
||
82 .LBB2:
|
||
32:Core/Src/ADBMS_Abstraction.c ****
|
||
33:Core/Src/ADBMS_Abstraction.c **** CHECK_RETURN(writeCMD(CLRFLAG, buffer, 6)); //clear flags,
|
||
83 .loc 1 33 3
|
||
84 003c 3B1D adds r3, r7, #4
|
||
85 003e 0622 movs r2, #6
|
||
ARM GAS /tmp/cclV24WD.s page 3
|
||
|
||
|
||
86 0040 1946 mov r1, r3
|
||
87 0042 40F21770 movw r0, #1815
|
||
88 0046 FFF7FEFF bl writeCMD
|
||
89 004a 0346 mov r3, r0
|
||
90 004c FB73 strb r3, [r7, #15]
|
||
91 .loc 1 33 3 is_stmt 0 discriminator 1
|
||
92 004e FB7B ldrb r3, [r7, #15] @ zero_extendqisi2
|
||
93 0050 002B cmp r3, #0
|
||
94 0052 01D0 beq .L2
|
||
95 0054 FB7B ldrb r3, [r7, #15] @ zero_extendqisi2
|
||
96 .loc 1 33 3
|
||
97 0056 28E0 b .L7
|
||
98 .L2:
|
||
99 .LBE2:
|
||
100 .LBB3:
|
||
34:Core/Src/ADBMS_Abstraction.c **** CHECK_RETURN(writeCMD(CLOVUV, buffer, 6)); //OVUV flags
|
||
101 .loc 1 34 3 is_stmt 1
|
||
102 0058 3B1D adds r3, r7, #4
|
||
103 005a 0622 movs r2, #6
|
||
104 005c 1946 mov r1, r3
|
||
105 005e 40F21570 movw r0, #1813
|
||
106 0062 FFF7FEFF bl writeCMD
|
||
107 0066 0346 mov r3, r0
|
||
108 0068 BB73 strb r3, [r7, #14]
|
||
109 .loc 1 34 3 is_stmt 0 discriminator 1
|
||
110 006a BB7B ldrb r3, [r7, #14] @ zero_extendqisi2
|
||
111 006c 002B cmp r3, #0
|
||
112 006e 01D0 beq .L4
|
||
113 0070 BB7B ldrb r3, [r7, #14] @ zero_extendqisi2
|
||
114 .loc 1 34 3
|
||
115 0072 1AE0 b .L7
|
||
116 .L4:
|
||
117 .LBE3:
|
||
118 .LBB4:
|
||
35:Core/Src/ADBMS_Abstraction.c **** CHECK_RETURN(writeCMD(ADCV | ADCV_CONT | ADCV_RD, NULL, 0)); //start continuous cell voltage meas
|
||
119 .loc 1 35 3 is_stmt 1
|
||
120 0074 0022 movs r2, #0
|
||
121 0076 0021 movs r1, #0
|
||
122 0078 4FF47870 mov r0, #992
|
||
123 007c FFF7FEFF bl writeCMD
|
||
124 0080 0346 mov r3, r0
|
||
125 0082 7B73 strb r3, [r7, #13]
|
||
126 .loc 1 35 3 is_stmt 0 discriminator 1
|
||
127 0084 7B7B ldrb r3, [r7, #13] @ zero_extendqisi2
|
||
128 0086 002B cmp r3, #0
|
||
129 0088 01D0 beq .L5
|
||
130 008a 7B7B ldrb r3, [r7, #13] @ zero_extendqisi2
|
||
131 .loc 1 35 3
|
||
132 008c 0DE0 b .L7
|
||
133 .L5:
|
||
134 .LBE4:
|
||
135 .LBB5:
|
||
36:Core/Src/ADBMS_Abstraction.c **** CHECK_RETURN(writeCMD(ADAX | ADAX_CONV_ALL, NULL, 0)); //start aux measurement
|
||
136 .loc 1 36 3 is_stmt 1
|
||
137 008e 0022 movs r2, #0
|
||
138 0090 0021 movs r1, #0
|
||
139 0092 4FF48260 mov r0, #1040
|
||
ARM GAS /tmp/cclV24WD.s page 4
|
||
|
||
|
||
140 0096 FFF7FEFF bl writeCMD
|
||
141 009a 0346 mov r3, r0
|
||
142 009c 3B73 strb r3, [r7, #12]
|
||
143 .loc 1 36 3 is_stmt 0 discriminator 1
|
||
144 009e 3B7B ldrb r3, [r7, #12] @ zero_extendqisi2
|
||
145 00a0 002B cmp r3, #0
|
||
146 00a2 01D0 beq .L6
|
||
147 00a4 3B7B ldrb r3, [r7, #12] @ zero_extendqisi2
|
||
148 .loc 1 36 3
|
||
149 00a6 00E0 b .L7
|
||
150 .L6:
|
||
151 .LBE5:
|
||
37:Core/Src/ADBMS_Abstraction.c ****
|
||
38:Core/Src/ADBMS_Abstraction.c **** return 0;
|
||
152 .loc 1 38 10 is_stmt 1
|
||
153 00a8 0023 movs r3, #0
|
||
154 .L7:
|
||
39:Core/Src/ADBMS_Abstraction.c **** }
|
||
155 .loc 1 39 1
|
||
156 00aa 1846 mov r0, r3
|
||
157 00ac 1037 adds r7, r7, #16
|
||
158 .cfi_def_cfa_offset 8
|
||
159 00ae BD46 mov sp, r7
|
||
160 .cfi_def_cfa_register 13
|
||
161 @ sp needed
|
||
162 00b0 80BD pop {r7, pc}
|
||
163 .L9:
|
||
164 00b2 00BF .align 2
|
||
165 .L8:
|
||
166 00b4 00000000 .word .LC0
|
||
167 .cfi_endproc
|
||
168 .LFE130:
|
||
170 .section .text.initAMS,"ax",%progbits
|
||
171 .align 1
|
||
172 .global initAMS
|
||
173 .syntax unified
|
||
174 .thumb
|
||
175 .thumb_func
|
||
177 initAMS:
|
||
178 .LFB131:
|
||
40:Core/Src/ADBMS_Abstraction.c ****
|
||
41:Core/Src/ADBMS_Abstraction.c **** uint8 initAMS(SPI_HandleTypeDef* hspi, uint8 numofcells, uint8 numofaux) {
|
||
179 .loc 1 41 74
|
||
180 .cfi_startproc
|
||
181 @ args = 0, pretend = 0, frame = 8
|
||
182 @ frame_needed = 1, uses_anonymous_args = 0
|
||
183 0000 80B5 push {r7, lr}
|
||
184 .cfi_def_cfa_offset 8
|
||
185 .cfi_offset 7, -8
|
||
186 .cfi_offset 14, -4
|
||
187 0002 82B0 sub sp, sp, #8
|
||
188 .cfi_def_cfa_offset 16
|
||
189 0004 00AF add r7, sp, #0
|
||
190 .cfi_def_cfa_register 7
|
||
191 0006 7860 str r0, [r7, #4]
|
||
192 0008 0B46 mov r3, r1
|
||
193 000a FB70 strb r3, [r7, #3]
|
||
ARM GAS /tmp/cclV24WD.s page 5
|
||
|
||
|
||
194 000c 1346 mov r3, r2
|
||
195 000e BB70 strb r3, [r7, #2]
|
||
42:Core/Src/ADBMS_Abstraction.c **** adbmsDriverInit(hspi);
|
||
196 .loc 1 42 3
|
||
197 0010 7868 ldr r0, [r7, #4]
|
||
198 0012 FFF7FEFF bl adbmsDriverInit
|
||
43:Core/Src/ADBMS_Abstraction.c **** numberofcells = numofcells;
|
||
199 .loc 1 43 17
|
||
200 0016 064A ldr r2, .L12
|
||
201 0018 FB78 ldrb r3, [r7, #3]
|
||
202 001a 1370 strb r3, [r2]
|
||
44:Core/Src/ADBMS_Abstraction.c **** numberofauxchannels = numofaux;
|
||
203 .loc 1 44 23
|
||
204 001c 054A ldr r2, .L12+4
|
||
205 001e BB78 ldrb r3, [r7, #2]
|
||
206 0020 1370 strb r3, [r2]
|
||
45:Core/Src/ADBMS_Abstraction.c ****
|
||
46:Core/Src/ADBMS_Abstraction.c **** return amsReset();
|
||
207 .loc 1 46 10
|
||
208 0022 FFF7FEFF bl amsReset
|
||
209 0026 0346 mov r3, r0
|
||
47:Core/Src/ADBMS_Abstraction.c **** }
|
||
210 .loc 1 47 1
|
||
211 0028 1846 mov r0, r3
|
||
212 002a 0837 adds r7, r7, #8
|
||
213 .cfi_def_cfa_offset 8
|
||
214 002c BD46 mov sp, r7
|
||
215 .cfi_def_cfa_register 13
|
||
216 @ sp needed
|
||
217 002e 80BD pop {r7, pc}
|
||
218 .L13:
|
||
219 .align 2
|
||
220 .L12:
|
||
221 0030 00000000 .word numberofcells
|
||
222 0034 00000000 .word numberofauxchannels
|
||
223 .cfi_endproc
|
||
224 .LFE131:
|
||
226 .section .text.amsWakeUp,"ax",%progbits
|
||
227 .align 1
|
||
228 .global amsWakeUp
|
||
229 .syntax unified
|
||
230 .thumb
|
||
231 .thumb_func
|
||
233 amsWakeUp:
|
||
234 .LFB132:
|
||
48:Core/Src/ADBMS_Abstraction.c ****
|
||
49:Core/Src/ADBMS_Abstraction.c **** uint8 amsWakeUp() {
|
||
235 .loc 1 49 19
|
||
236 .cfi_startproc
|
||
237 @ args = 0, pretend = 0, frame = 8
|
||
238 @ frame_needed = 1, uses_anonymous_args = 0
|
||
239 0000 80B5 push {r7, lr}
|
||
240 .cfi_def_cfa_offset 8
|
||
241 .cfi_offset 7, -8
|
||
242 .cfi_offset 14, -4
|
||
243 0002 82B0 sub sp, sp, #8
|
||
244 .cfi_def_cfa_offset 16
|
||
ARM GAS /tmp/cclV24WD.s page 6
|
||
|
||
|
||
245 0004 00AF add r7, sp, #0
|
||
246 .cfi_def_cfa_register 7
|
||
50:Core/Src/ADBMS_Abstraction.c **** uint8 buf[6];
|
||
51:Core/Src/ADBMS_Abstraction.c **** return readCMD(RDCFGA, buf, 6);
|
||
247 .loc 1 51 10
|
||
248 0006 3B46 mov r3, r7
|
||
249 0008 0622 movs r2, #6
|
||
250 000a 1946 mov r1, r3
|
||
251 000c 0220 movs r0, #2
|
||
252 000e FFF7FEFF bl readCMD
|
||
253 0012 0346 mov r3, r0
|
||
52:Core/Src/ADBMS_Abstraction.c **** }
|
||
254 .loc 1 52 1
|
||
255 0014 1846 mov r0, r3
|
||
256 0016 0837 adds r7, r7, #8
|
||
257 .cfi_def_cfa_offset 8
|
||
258 0018 BD46 mov sp, r7
|
||
259 .cfi_def_cfa_register 13
|
||
260 @ sp needed
|
||
261 001a 80BD pop {r7, pc}
|
||
262 .cfi_endproc
|
||
263 .LFE132:
|
||
265 .section .text.amsCellMeasurement,"ax",%progbits
|
||
266 .align 1
|
||
267 .global amsCellMeasurement
|
||
268 .syntax unified
|
||
269 .thumb
|
||
270 .thumb_func
|
||
272 amsCellMeasurement:
|
||
273 .LFB133:
|
||
53:Core/Src/ADBMS_Abstraction.c ****
|
||
54:Core/Src/ADBMS_Abstraction.c **** uint8 amsCellMeasurement(Cell_Module* module) {
|
||
274 .loc 1 54 47
|
||
275 .cfi_startproc
|
||
276 @ args = 0, pretend = 0, frame = 8
|
||
277 @ frame_needed = 1, uses_anonymous_args = 0
|
||
278 0000 80B5 push {r7, lr}
|
||
279 .cfi_def_cfa_offset 8
|
||
280 .cfi_offset 7, -8
|
||
281 .cfi_offset 14, -4
|
||
282 0002 82B0 sub sp, sp, #8
|
||
283 .cfi_def_cfa_offset 16
|
||
284 0004 00AF add r7, sp, #0
|
||
285 .cfi_def_cfa_register 7
|
||
286 0006 7860 str r0, [r7, #4]
|
||
55:Core/Src/ADBMS_Abstraction.c **** #warning check conversion counter to ensure that continous conversion has not been stopped
|
||
56:Core/Src/ADBMS_Abstraction.c **** #warning check for OW conditions: ADSV | ADSV_OW_0 / ADSV_OW_1
|
||
57:Core/Src/ADBMS_Abstraction.c **** return amsReadCellVoltages(module);
|
||
287 .loc 1 57 10
|
||
288 0008 7868 ldr r0, [r7, #4]
|
||
289 000a FFF7FEFF bl amsReadCellVoltages
|
||
290 000e 0346 mov r3, r0
|
||
58:Core/Src/ADBMS_Abstraction.c **** }
|
||
291 .loc 1 58 1
|
||
292 0010 1846 mov r0, r3
|
||
293 0012 0837 adds r7, r7, #8
|
||
294 .cfi_def_cfa_offset 8
|
||
ARM GAS /tmp/cclV24WD.s page 7
|
||
|
||
|
||
295 0014 BD46 mov sp, r7
|
||
296 .cfi_def_cfa_register 13
|
||
297 @ sp needed
|
||
298 0016 80BD pop {r7, pc}
|
||
299 .cfi_endproc
|
||
300 .LFE133:
|
||
302 .section .text.amsConfigCellMeasurement,"ax",%progbits
|
||
303 .align 1
|
||
304 .global amsConfigCellMeasurement
|
||
305 .syntax unified
|
||
306 .thumb
|
||
307 .thumb_func
|
||
309 amsConfigCellMeasurement:
|
||
310 .LFB134:
|
||
59:Core/Src/ADBMS_Abstraction.c ****
|
||
60:Core/Src/ADBMS_Abstraction.c **** uint8 amsConfigCellMeasurement(uint8 numberofChannels) {
|
||
311 .loc 1 60 56
|
||
312 .cfi_startproc
|
||
313 @ args = 0, pretend = 0, frame = 8
|
||
314 @ frame_needed = 1, uses_anonymous_args = 0
|
||
315 @ link register save eliminated.
|
||
316 0000 80B4 push {r7}
|
||
317 .cfi_def_cfa_offset 4
|
||
318 .cfi_offset 7, -4
|
||
319 0002 83B0 sub sp, sp, #12
|
||
320 .cfi_def_cfa_offset 16
|
||
321 0004 00AF add r7, sp, #0
|
||
322 .cfi_def_cfa_register 7
|
||
323 0006 0346 mov r3, r0
|
||
324 0008 FB71 strb r3, [r7, #7]
|
||
61:Core/Src/ADBMS_Abstraction.c **** numberofcells = numberofChannels;
|
||
325 .loc 1 61 17
|
||
326 000a 054A ldr r2, .L20
|
||
327 000c FB79 ldrb r3, [r7, #7]
|
||
328 000e 1370 strb r3, [r2]
|
||
62:Core/Src/ADBMS_Abstraction.c **** return 0;
|
||
329 .loc 1 62 10
|
||
330 0010 0023 movs r3, #0
|
||
63:Core/Src/ADBMS_Abstraction.c **** }
|
||
331 .loc 1 63 1
|
||
332 0012 1846 mov r0, r3
|
||
333 0014 0C37 adds r7, r7, #12
|
||
334 .cfi_def_cfa_offset 4
|
||
335 0016 BD46 mov sp, r7
|
||
336 .cfi_def_cfa_register 13
|
||
337 @ sp needed
|
||
338 0018 5DF8047B ldr r7, [sp], #4
|
||
339 .cfi_restore 7
|
||
340 .cfi_def_cfa_offset 0
|
||
341 001c 7047 bx lr
|
||
342 .L21:
|
||
343 001e 00BF .align 2
|
||
344 .L20:
|
||
345 0020 00000000 .word numberofcells
|
||
346 .cfi_endproc
|
||
347 .LFE134:
|
||
349 .global __aeabi_i2d
|
||
ARM GAS /tmp/cclV24WD.s page 8
|
||
|
||
|
||
350 .global __aeabi_dmul
|
||
351 .global __aeabi_dadd
|
||
352 .global __aeabi_d2f
|
||
353 .global __aeabi_d2uiz
|
||
354 .section .text.amsAuxAndStatusMeasurement,"ax",%progbits
|
||
355 .align 1
|
||
356 .global amsAuxAndStatusMeasurement
|
||
357 .syntax unified
|
||
358 .thumb
|
||
359 .thumb_func
|
||
361 amsAuxAndStatusMeasurement:
|
||
362 .LFB135:
|
||
64:Core/Src/ADBMS_Abstraction.c ****
|
||
65:Core/Src/ADBMS_Abstraction.c **** uint8 amsAuxAndStatusMeasurement(Cell_Module* module) {
|
||
363 .loc 1 65 55
|
||
364 .cfi_startproc
|
||
365 @ args = 0, pretend = 0, frame = 32
|
||
366 @ frame_needed = 1, uses_anonymous_args = 0
|
||
367 0000 80B5 push {r7, lr}
|
||
368 .cfi_def_cfa_offset 8
|
||
369 .cfi_offset 7, -8
|
||
370 .cfi_offset 14, -4
|
||
371 0002 88B0 sub sp, sp, #32
|
||
372 .cfi_def_cfa_offset 40
|
||
373 0004 00AF add r7, sp, #0
|
||
374 .cfi_def_cfa_register 7
|
||
375 0006 7860 str r0, [r7, #4]
|
||
66:Core/Src/ADBMS_Abstraction.c **** uint8 rxbuf[AUX_GROUP_A_SIZE] = {};
|
||
376 .loc 1 66 9
|
||
377 0008 07F11003 add r3, r7, #16
|
||
378 000c 0022 movs r2, #0
|
||
379 000e 1A60 str r2, [r3]
|
||
380 0010 9A80 strh r2, [r3, #4] @ movhi
|
||
381 .LBB6:
|
||
67:Core/Src/ADBMS_Abstraction.c ****
|
||
68:Core/Src/ADBMS_Abstraction.c **** CHECK_RETURN(readCMD(RDSTATC, rxbuf, STATUS_GROUP_C_SIZE));
|
||
382 .loc 1 68 3
|
||
383 0012 07F11003 add r3, r7, #16
|
||
384 0016 0622 movs r2, #6
|
||
385 0018 1946 mov r1, r3
|
||
386 001a 3220 movs r0, #50
|
||
387 001c FFF7FEFF bl readCMD
|
||
388 0020 0346 mov r3, r0
|
||
389 0022 FB77 strb r3, [r7, #31]
|
||
390 .loc 1 68 3 is_stmt 0 discriminator 1
|
||
391 0024 FB7F ldrb r3, [r7, #31] @ zero_extendqisi2
|
||
392 0026 002B cmp r3, #0
|
||
393 0028 01D0 beq .L23
|
||
394 002a FB7F ldrb r3, [r7, #31] @ zero_extendqisi2
|
||
395 .loc 1 68 3
|
||
396 002c 22E3 b .L33
|
||
397 .L23:
|
||
398 .LBE6:
|
||
69:Core/Src/ADBMS_Abstraction.c ****
|
||
70:Core/Src/ADBMS_Abstraction.c **** module->status.CS_FLT = rxbuf[0] | (rxbuf[1] << 8);
|
||
399 .loc 1 70 32 is_stmt 1
|
||
400 002e 3B7C ldrb r3, [r7, #16] @ zero_extendqisi2
|
||
ARM GAS /tmp/cclV24WD.s page 9
|
||
|
||
|
||
401 0030 1AB2 sxth r2, r3
|
||
402 .loc 1 70 44
|
||
403 0032 7B7C ldrb r3, [r7, #17] @ zero_extendqisi2
|
||
404 .loc 1 70 36
|
||
405 0034 1BB2 sxth r3, r3
|
||
406 0036 1B02 lsls r3, r3, #8
|
||
407 0038 1BB2 sxth r3, r3
|
||
408 003a 1343 orrs r3, r3, r2
|
||
409 003c 1BB2 sxth r3, r3
|
||
410 003e 9AB2 uxth r2, r3
|
||
411 .loc 1 70 25
|
||
412 0040 7B68 ldr r3, [r7, #4]
|
||
413 0042 A3F84820 strh r2, [r3, #72] @ movhi
|
||
71:Core/Src/ADBMS_Abstraction.c **** module->status.CCTS = rxbuf[2] | (rxbuf[3] << 8);
|
||
414 .loc 1 71 32
|
||
415 0046 BB7C ldrb r3, [r7, #18] @ zero_extendqisi2
|
||
416 0048 1AB2 sxth r2, r3
|
||
417 .loc 1 71 44
|
||
418 004a FB7C ldrb r3, [r7, #19] @ zero_extendqisi2
|
||
419 .loc 1 71 36
|
||
420 004c 1BB2 sxth r3, r3
|
||
421 004e 1B02 lsls r3, r3, #8
|
||
422 0050 1BB2 sxth r3, r3
|
||
423 0052 1343 orrs r3, r3, r2
|
||
424 0054 1BB2 sxth r3, r3
|
||
425 0056 C3F30C03 ubfx r3, r3, #0, #13
|
||
426 005a 99B2 uxth r1, r3
|
||
427 .loc 1 71 25
|
||
428 005c 7A68 ldr r2, [r7, #4]
|
||
429 005e B2F84A30 ldrh r3, [r2, #74] @ movhi
|
||
430 0062 61F3CF03 bfi r3, r1, #3, #13
|
||
431 0066 A2F84A30 strh r3, [r2, #74] @ movhi
|
||
72:Core/Src/ADBMS_Abstraction.c **** module->status.VA_OV = (rxbuf[4] >> 7) & 0x01;
|
||
432 .loc 1 72 33
|
||
433 006a 3B7D ldrb r3, [r7, #20] @ zero_extendqisi2
|
||
434 .loc 1 72 43
|
||
435 006c DB09 lsrs r3, r3, #7
|
||
436 006e DBB2 uxtb r3, r3
|
||
437 0070 03F00103 and r3, r3, #1
|
||
438 0074 D9B2 uxtb r1, r3
|
||
439 .loc 1 72 25
|
||
440 0076 7A68 ldr r2, [r7, #4]
|
||
441 0078 92F84C30 ldrb r3, [r2, #76]
|
||
442 007c 61F30003 bfi r3, r1, #0, #1
|
||
443 0080 82F84C30 strb r3, [r2, #76]
|
||
73:Core/Src/ADBMS_Abstraction.c **** module->status.VA_UV = (rxbuf[4] >> 6) & 0x01;
|
||
444 .loc 1 73 33
|
||
445 0084 3B7D ldrb r3, [r7, #20] @ zero_extendqisi2
|
||
446 .loc 1 73 43
|
||
447 0086 9B09 lsrs r3, r3, #6
|
||
448 0088 DBB2 uxtb r3, r3
|
||
449 008a 03F00103 and r3, r3, #1
|
||
450 008e D9B2 uxtb r1, r3
|
||
451 .loc 1 73 25
|
||
452 0090 7A68 ldr r2, [r7, #4]
|
||
453 0092 92F84C30 ldrb r3, [r2, #76]
|
||
454 0096 61F34103 bfi r3, r1, #1, #1
|
||
ARM GAS /tmp/cclV24WD.s page 10
|
||
|
||
|
||
455 009a 82F84C30 strb r3, [r2, #76]
|
||
74:Core/Src/ADBMS_Abstraction.c **** module->status.VD_OV = (rxbuf[4] >> 5) & 0x01;
|
||
456 .loc 1 74 33
|
||
457 009e 3B7D ldrb r3, [r7, #20] @ zero_extendqisi2
|
||
458 .loc 1 74 43
|
||
459 00a0 5B09 lsrs r3, r3, #5
|
||
460 00a2 DBB2 uxtb r3, r3
|
||
461 00a4 03F00103 and r3, r3, #1
|
||
462 00a8 D9B2 uxtb r1, r3
|
||
463 .loc 1 74 25
|
||
464 00aa 7A68 ldr r2, [r7, #4]
|
||
465 00ac 92F84C30 ldrb r3, [r2, #76]
|
||
466 00b0 61F38203 bfi r3, r1, #2, #1
|
||
467 00b4 82F84C30 strb r3, [r2, #76]
|
||
75:Core/Src/ADBMS_Abstraction.c **** module->status.VD_UV = (rxbuf[4] >> 4) & 0x01;
|
||
468 .loc 1 75 33
|
||
469 00b8 3B7D ldrb r3, [r7, #20] @ zero_extendqisi2
|
||
470 .loc 1 75 43
|
||
471 00ba 1B09 lsrs r3, r3, #4
|
||
472 00bc DBB2 uxtb r3, r3
|
||
473 00be 03F00103 and r3, r3, #1
|
||
474 00c2 D9B2 uxtb r1, r3
|
||
475 .loc 1 75 25
|
||
476 00c4 7A68 ldr r2, [r7, #4]
|
||
477 00c6 92F84C30 ldrb r3, [r2, #76]
|
||
478 00ca 61F3C303 bfi r3, r1, #3, #1
|
||
479 00ce 82F84C30 strb r3, [r2, #76]
|
||
76:Core/Src/ADBMS_Abstraction.c **** module->status.CED = (rxbuf[4] >> 3) & 0x01;
|
||
480 .loc 1 76 33
|
||
481 00d2 3B7D ldrb r3, [r7, #20] @ zero_extendqisi2
|
||
482 .loc 1 76 43
|
||
483 00d4 DB08 lsrs r3, r3, #3
|
||
484 00d6 DBB2 uxtb r3, r3
|
||
485 00d8 03F00103 and r3, r3, #1
|
||
486 00dc D9B2 uxtb r1, r3
|
||
487 .loc 1 76 25
|
||
488 00de 7A68 ldr r2, [r7, #4]
|
||
489 00e0 92F84C30 ldrb r3, [r2, #76]
|
||
490 00e4 61F30413 bfi r3, r1, #4, #1
|
||
491 00e8 82F84C30 strb r3, [r2, #76]
|
||
77:Core/Src/ADBMS_Abstraction.c **** module->status.CMED = (rxbuf[4] >> 2) & 0x01;
|
||
492 .loc 1 77 33
|
||
493 00ec 3B7D ldrb r3, [r7, #20] @ zero_extendqisi2
|
||
494 .loc 1 77 43
|
||
495 00ee 9B08 lsrs r3, r3, #2
|
||
496 00f0 DBB2 uxtb r3, r3
|
||
497 00f2 03F00103 and r3, r3, #1
|
||
498 00f6 D9B2 uxtb r1, r3
|
||
499 .loc 1 77 25
|
||
500 00f8 7A68 ldr r2, [r7, #4]
|
||
501 00fa 92F84C30 ldrb r3, [r2, #76]
|
||
502 00fe 61F34513 bfi r3, r1, #5, #1
|
||
503 0102 82F84C30 strb r3, [r2, #76]
|
||
78:Core/Src/ADBMS_Abstraction.c **** module->status.SED = (rxbuf[4] >> 1) & 0x01;
|
||
504 .loc 1 78 33
|
||
505 0106 3B7D ldrb r3, [r7, #20] @ zero_extendqisi2
|
||
506 .loc 1 78 43
|
||
ARM GAS /tmp/cclV24WD.s page 11
|
||
|
||
|
||
507 0108 5B08 lsrs r3, r3, #1
|
||
508 010a DBB2 uxtb r3, r3
|
||
509 010c 03F00103 and r3, r3, #1
|
||
510 0110 D9B2 uxtb r1, r3
|
||
511 .loc 1 78 25
|
||
512 0112 7A68 ldr r2, [r7, #4]
|
||
513 0114 92F84C30 ldrb r3, [r2, #76]
|
||
514 0118 61F38613 bfi r3, r1, #6, #1
|
||
515 011c 82F84C30 strb r3, [r2, #76]
|
||
79:Core/Src/ADBMS_Abstraction.c **** module->status.SMED = (rxbuf[4] >> 0) & 0x01;
|
||
516 .loc 1 79 33
|
||
517 0120 3B7D ldrb r3, [r7, #20] @ zero_extendqisi2
|
||
518 .loc 1 79 43
|
||
519 0122 03F00103 and r3, r3, #1
|
||
520 0126 D9B2 uxtb r1, r3
|
||
521 .loc 1 79 25
|
||
522 0128 7A68 ldr r2, [r7, #4]
|
||
523 012a 92F84C30 ldrb r3, [r2, #76]
|
||
524 012e 61F3C713 bfi r3, r1, #7, #1
|
||
525 0132 82F84C30 strb r3, [r2, #76]
|
||
80:Core/Src/ADBMS_Abstraction.c **** module->status.VDEL = (rxbuf[5] >> 7) & 0x01;
|
||
526 .loc 1 80 33
|
||
527 0136 7B7D ldrb r3, [r7, #21] @ zero_extendqisi2
|
||
528 .loc 1 80 43
|
||
529 0138 DB09 lsrs r3, r3, #7
|
||
530 013a DBB2 uxtb r3, r3
|
||
531 013c 03F00103 and r3, r3, #1
|
||
532 0140 D9B2 uxtb r1, r3
|
||
533 .loc 1 80 25
|
||
534 0142 7A68 ldr r2, [r7, #4]
|
||
535 0144 92F84D30 ldrb r3, [r2, #77]
|
||
536 0148 61F30003 bfi r3, r1, #0, #1
|
||
537 014c 82F84D30 strb r3, [r2, #77]
|
||
81:Core/Src/ADBMS_Abstraction.c **** module->status.VDE = (rxbuf[5] >> 6) & 0x01;
|
||
538 .loc 1 81 33
|
||
539 0150 7B7D ldrb r3, [r7, #21] @ zero_extendqisi2
|
||
540 .loc 1 81 43
|
||
541 0152 9B09 lsrs r3, r3, #6
|
||
542 0154 DBB2 uxtb r3, r3
|
||
543 0156 03F00103 and r3, r3, #1
|
||
544 015a D9B2 uxtb r1, r3
|
||
545 .loc 1 81 25
|
||
546 015c 7A68 ldr r2, [r7, #4]
|
||
547 015e 92F84D30 ldrb r3, [r2, #77]
|
||
548 0162 61F34103 bfi r3, r1, #1, #1
|
||
549 0166 82F84D30 strb r3, [r2, #77]
|
||
82:Core/Src/ADBMS_Abstraction.c **** module->status.COMPARE= (rxbuf[5] >> 5) & 0x01;
|
||
550 .loc 1 82 33
|
||
551 016a 7B7D ldrb r3, [r7, #21] @ zero_extendqisi2
|
||
552 .loc 1 82 43
|
||
553 016c 5B09 lsrs r3, r3, #5
|
||
554 016e DBB2 uxtb r3, r3
|
||
555 0170 03F00103 and r3, r3, #1
|
||
556 0174 D9B2 uxtb r1, r3
|
||
557 .loc 1 82 25
|
||
558 0176 7A68 ldr r2, [r7, #4]
|
||
559 0178 92F84D30 ldrb r3, [r2, #77]
|
||
ARM GAS /tmp/cclV24WD.s page 12
|
||
|
||
|
||
560 017c 61F38203 bfi r3, r1, #2, #1
|
||
561 0180 82F84D30 strb r3, [r2, #77]
|
||
83:Core/Src/ADBMS_Abstraction.c **** module->status.SPIFLT = (rxbuf[5] >> 4) & 0x01;
|
||
562 .loc 1 83 33
|
||
563 0184 7B7D ldrb r3, [r7, #21] @ zero_extendqisi2
|
||
564 .loc 1 83 43
|
||
565 0186 1B09 lsrs r3, r3, #4
|
||
566 0188 DBB2 uxtb r3, r3
|
||
567 018a 03F00103 and r3, r3, #1
|
||
568 018e D9B2 uxtb r1, r3
|
||
569 .loc 1 83 25
|
||
570 0190 7A68 ldr r2, [r7, #4]
|
||
571 0192 92F84D30 ldrb r3, [r2, #77]
|
||
572 0196 61F3C303 bfi r3, r1, #3, #1
|
||
573 019a 82F84D30 strb r3, [r2, #77]
|
||
84:Core/Src/ADBMS_Abstraction.c **** module->status.SLEEP = (rxbuf[5] >> 3) & 0x01;
|
||
574 .loc 1 84 33
|
||
575 019e 7B7D ldrb r3, [r7, #21] @ zero_extendqisi2
|
||
576 .loc 1 84 43
|
||
577 01a0 DB08 lsrs r3, r3, #3
|
||
578 01a2 DBB2 uxtb r3, r3
|
||
579 01a4 03F00103 and r3, r3, #1
|
||
580 01a8 D9B2 uxtb r1, r3
|
||
581 .loc 1 84 25
|
||
582 01aa 7A68 ldr r2, [r7, #4]
|
||
583 01ac 92F84D30 ldrb r3, [r2, #77]
|
||
584 01b0 61F30413 bfi r3, r1, #4, #1
|
||
585 01b4 82F84D30 strb r3, [r2, #77]
|
||
85:Core/Src/ADBMS_Abstraction.c **** module->status.THSD = (rxbuf[5] >> 2) & 0x01;
|
||
586 .loc 1 85 33
|
||
587 01b8 7B7D ldrb r3, [r7, #21] @ zero_extendqisi2
|
||
588 .loc 1 85 43
|
||
589 01ba 9B08 lsrs r3, r3, #2
|
||
590 01bc DBB2 uxtb r3, r3
|
||
591 01be 03F00103 and r3, r3, #1
|
||
592 01c2 D9B2 uxtb r1, r3
|
||
593 .loc 1 85 25
|
||
594 01c4 7A68 ldr r2, [r7, #4]
|
||
595 01c6 92F84D30 ldrb r3, [r2, #77]
|
||
596 01ca 61F34513 bfi r3, r1, #5, #1
|
||
597 01ce 82F84D30 strb r3, [r2, #77]
|
||
86:Core/Src/ADBMS_Abstraction.c **** module->status.TMODCHK= (rxbuf[5] >> 1) & 0x01;
|
||
598 .loc 1 86 33
|
||
599 01d2 7B7D ldrb r3, [r7, #21] @ zero_extendqisi2
|
||
600 .loc 1 86 43
|
||
601 01d4 5B08 lsrs r3, r3, #1
|
||
602 01d6 DBB2 uxtb r3, r3
|
||
603 01d8 03F00103 and r3, r3, #1
|
||
604 01dc D9B2 uxtb r1, r3
|
||
605 .loc 1 86 25
|
||
606 01de 7A68 ldr r2, [r7, #4]
|
||
607 01e0 92F84D30 ldrb r3, [r2, #77]
|
||
608 01e4 61F38613 bfi r3, r1, #6, #1
|
||
609 01e8 82F84D30 strb r3, [r2, #77]
|
||
87:Core/Src/ADBMS_Abstraction.c **** module->status.OSCCHK = (rxbuf[5] >> 0) & 0x01;
|
||
610 .loc 1 87 33
|
||
611 01ec 7B7D ldrb r3, [r7, #21] @ zero_extendqisi2
|
||
ARM GAS /tmp/cclV24WD.s page 13
|
||
|
||
|
||
612 .loc 1 87 43
|
||
613 01ee 03F00103 and r3, r3, #1
|
||
614 01f2 D9B2 uxtb r1, r3
|
||
615 .loc 1 87 25
|
||
616 01f4 7A68 ldr r2, [r7, #4]
|
||
617 01f6 92F84D30 ldrb r3, [r2, #77]
|
||
618 01fa 61F3C713 bfi r3, r1, #7, #1
|
||
619 01fe 82F84D30 strb r3, [r2, #77]
|
||
88:Core/Src/ADBMS_Abstraction.c ****
|
||
89:Core/Src/ADBMS_Abstraction.c **** if (pollCMD(PLAUX) == 0x0) { //TODO: check for SPI fault
|
||
620 .loc 1 89 7
|
||
621 0202 40F21E70 movw r0, #1822
|
||
622 0206 FFF7FEFF bl pollCMD
|
||
623 020a 0346 mov r3, r0
|
||
624 .loc 1 89 6 discriminator 1
|
||
625 020c 002B cmp r3, #0
|
||
626 020e 01D1 bne .L25
|
||
90:Core/Src/ADBMS_Abstraction.c **** return 0; // aux ADC data not ready
|
||
627 .loc 1 90 12
|
||
628 0210 0023 movs r3, #0
|
||
629 0212 2FE2 b .L33
|
||
630 .L25:
|
||
631 .LBB7:
|
||
91:Core/Src/ADBMS_Abstraction.c **** }
|
||
92:Core/Src/ADBMS_Abstraction.c ****
|
||
93:Core/Src/ADBMS_Abstraction.c **** CHECK_RETURN(readCMD(RDAUXA, rxbuf, AUX_GROUP_A_SIZE));
|
||
632 .loc 1 93 3
|
||
633 0214 07F11003 add r3, r7, #16
|
||
634 0218 0622 movs r2, #6
|
||
635 021a 1946 mov r1, r3
|
||
636 021c 1920 movs r0, #25
|
||
637 021e FFF7FEFF bl readCMD
|
||
638 0222 0346 mov r3, r0
|
||
639 0224 BB77 strb r3, [r7, #30]
|
||
640 .loc 1 93 3 is_stmt 0 discriminator 1
|
||
641 0226 BB7F ldrb r3, [r7, #30] @ zero_extendqisi2
|
||
642 0228 002B cmp r3, #0
|
||
643 022a 01D0 beq .L26
|
||
644 022c BB7F ldrb r3, [r7, #30] @ zero_extendqisi2
|
||
645 .loc 1 93 3
|
||
646 022e 21E2 b .L33
|
||
647 .L26:
|
||
648 .LBE7:
|
||
94:Core/Src/ADBMS_Abstraction.c ****
|
||
95:Core/Src/ADBMS_Abstraction.c **** module->auxVoltages[0] = mV_from_ADBMS6830(rxbuf[0] | (rxbuf[1] << 8));
|
||
649 .loc 1 95 28 is_stmt 1
|
||
650 0230 3B7C ldrb r3, [r7, #16] @ zero_extendqisi2
|
||
651 0232 1AB2 sxth r2, r3
|
||
652 0234 7B7C ldrb r3, [r7, #17] @ zero_extendqisi2
|
||
653 0236 1BB2 sxth r3, r3
|
||
654 0238 1B02 lsls r3, r3, #8
|
||
655 023a 1BB2 sxth r3, r3
|
||
656 023c 1343 orrs r3, r3, r2
|
||
657 023e 1BB2 sxth r3, r3
|
||
658 0240 1846 mov r0, r3
|
||
659 0242 FFF7FEFF bl __aeabi_i2d
|
||
660 0246 0FF23843 adr r3, .L34
|
||
ARM GAS /tmp/cclV24WD.s page 14
|
||
|
||
|
||
661 024a D3E90023 ldrd r2, [r3]
|
||
662 024e FFF7FEFF bl __aeabi_dmul
|
||
663 0252 0246 mov r2, r0
|
||
664 0254 0B46 mov r3, r1
|
||
665 0256 1046 mov r0, r2
|
||
666 0258 1946 mov r1, r3
|
||
667 025a 0FF22C43 adr r3, .L34+8
|
||
668 025e D3E90023 ldrd r2, [r3]
|
||
669 0262 FFF7FEFF bl __aeabi_dadd
|
||
670 0266 0246 mov r2, r0
|
||
671 0268 0B46 mov r3, r1
|
||
672 026a 1046 mov r0, r2
|
||
673 026c 1946 mov r1, r3
|
||
674 026e FFF7FEFF bl __aeabi_d2f
|
||
675 0272 0246 mov r2, r0 @ float
|
||
676 .loc 1 95 26
|
||
677 0274 7B68 ldr r3, [r7, #4]
|
||
678 0276 1A62 str r2, [r3, #32] @ float
|
||
96:Core/Src/ADBMS_Abstraction.c **** module->auxVoltages[1] = mV_from_ADBMS6830(rxbuf[2] | (rxbuf[3] << 8));
|
||
679 .loc 1 96 28
|
||
680 0278 BB7C ldrb r3, [r7, #18] @ zero_extendqisi2
|
||
681 027a 1AB2 sxth r2, r3
|
||
682 027c FB7C ldrb r3, [r7, #19] @ zero_extendqisi2
|
||
683 027e 1BB2 sxth r3, r3
|
||
684 0280 1B02 lsls r3, r3, #8
|
||
685 0282 1BB2 sxth r3, r3
|
||
686 0284 1343 orrs r3, r3, r2
|
||
687 0286 1BB2 sxth r3, r3
|
||
688 0288 1846 mov r0, r3
|
||
689 028a FFF7FEFF bl __aeabi_i2d
|
||
690 028e FCA3 adr r3, .L34
|
||
691 0290 D3E90023 ldrd r2, [r3]
|
||
692 0294 FFF7FEFF bl __aeabi_dmul
|
||
693 0298 0246 mov r2, r0
|
||
694 029a 0B46 mov r3, r1
|
||
695 029c 1046 mov r0, r2
|
||
696 029e 1946 mov r1, r3
|
||
697 02a0 F9A3 adr r3, .L34+8
|
||
698 02a2 D3E90023 ldrd r2, [r3]
|
||
699 02a6 FFF7FEFF bl __aeabi_dadd
|
||
700 02aa 0246 mov r2, r0
|
||
701 02ac 0B46 mov r3, r1
|
||
702 02ae 1046 mov r0, r2
|
||
703 02b0 1946 mov r1, r3
|
||
704 02b2 FFF7FEFF bl __aeabi_d2f
|
||
705 02b6 0246 mov r2, r0 @ float
|
||
706 .loc 1 96 26
|
||
707 02b8 7B68 ldr r3, [r7, #4]
|
||
708 02ba 5A62 str r2, [r3, #36] @ float
|
||
97:Core/Src/ADBMS_Abstraction.c **** module->auxVoltages[2] = mV_from_ADBMS6830(rxbuf[4] | (rxbuf[5] << 8));
|
||
709 .loc 1 97 28
|
||
710 02bc 3B7D ldrb r3, [r7, #20] @ zero_extendqisi2
|
||
711 02be 1AB2 sxth r2, r3
|
||
712 02c0 7B7D ldrb r3, [r7, #21] @ zero_extendqisi2
|
||
713 02c2 1BB2 sxth r3, r3
|
||
714 02c4 1B02 lsls r3, r3, #8
|
||
715 02c6 1BB2 sxth r3, r3
|
||
ARM GAS /tmp/cclV24WD.s page 15
|
||
|
||
|
||
716 02c8 1343 orrs r3, r3, r2
|
||
717 02ca 1BB2 sxth r3, r3
|
||
718 02cc 1846 mov r0, r3
|
||
719 02ce FFF7FEFF bl __aeabi_i2d
|
||
720 02d2 EBA3 adr r3, .L34
|
||
721 02d4 D3E90023 ldrd r2, [r3]
|
||
722 02d8 FFF7FEFF bl __aeabi_dmul
|
||
723 02dc 0246 mov r2, r0
|
||
724 02de 0B46 mov r3, r1
|
||
725 02e0 1046 mov r0, r2
|
||
726 02e2 1946 mov r1, r3
|
||
727 02e4 E8A3 adr r3, .L34+8
|
||
728 02e6 D3E90023 ldrd r2, [r3]
|
||
729 02ea FFF7FEFF bl __aeabi_dadd
|
||
730 02ee 0246 mov r2, r0
|
||
731 02f0 0B46 mov r3, r1
|
||
732 02f2 1046 mov r0, r2
|
||
733 02f4 1946 mov r1, r3
|
||
734 02f6 FFF7FEFF bl __aeabi_d2f
|
||
735 02fa 0246 mov r2, r0 @ float
|
||
736 .loc 1 97 26
|
||
737 02fc 7B68 ldr r3, [r7, #4]
|
||
738 02fe 9A62 str r2, [r3, #40] @ float
|
||
739 .LBB8:
|
||
98:Core/Src/ADBMS_Abstraction.c ****
|
||
99:Core/Src/ADBMS_Abstraction.c **** CHECK_RETURN(readCMD(RDAUXB, rxbuf, AUX_GROUP_A_SIZE));
|
||
740 .loc 1 99 3
|
||
741 0300 07F11003 add r3, r7, #16
|
||
742 0304 0622 movs r2, #6
|
||
743 0306 1946 mov r1, r3
|
||
744 0308 1A20 movs r0, #26
|
||
745 030a FFF7FEFF bl readCMD
|
||
746 030e 0346 mov r3, r0
|
||
747 0310 7B77 strb r3, [r7, #29]
|
||
748 .loc 1 99 3 is_stmt 0 discriminator 1
|
||
749 0312 7B7F ldrb r3, [r7, #29] @ zero_extendqisi2
|
||
750 0314 002B cmp r3, #0
|
||
751 0316 01D0 beq .L27
|
||
752 0318 7B7F ldrb r3, [r7, #29] @ zero_extendqisi2
|
||
753 .loc 1 99 3
|
||
754 031a ABE1 b .L33
|
||
755 .L27:
|
||
756 .LBE8:
|
||
100:Core/Src/ADBMS_Abstraction.c ****
|
||
101:Core/Src/ADBMS_Abstraction.c **** module->auxVoltages[3] = mV_from_ADBMS6830(rxbuf[0] | (rxbuf[1] << 8));
|
||
757 .loc 1 101 28 is_stmt 1
|
||
758 031c 3B7C ldrb r3, [r7, #16] @ zero_extendqisi2
|
||
759 031e 1AB2 sxth r2, r3
|
||
760 0320 7B7C ldrb r3, [r7, #17] @ zero_extendqisi2
|
||
761 0322 1BB2 sxth r3, r3
|
||
762 0324 1B02 lsls r3, r3, #8
|
||
763 0326 1BB2 sxth r3, r3
|
||
764 0328 1343 orrs r3, r3, r2
|
||
765 032a 1BB2 sxth r3, r3
|
||
766 032c 1846 mov r0, r3
|
||
767 032e FFF7FEFF bl __aeabi_i2d
|
||
768 0332 D3A3 adr r3, .L34
|
||
ARM GAS /tmp/cclV24WD.s page 16
|
||
|
||
|
||
769 0334 D3E90023 ldrd r2, [r3]
|
||
770 0338 FFF7FEFF bl __aeabi_dmul
|
||
771 033c 0246 mov r2, r0
|
||
772 033e 0B46 mov r3, r1
|
||
773 0340 1046 mov r0, r2
|
||
774 0342 1946 mov r1, r3
|
||
775 0344 D0A3 adr r3, .L34+8
|
||
776 0346 D3E90023 ldrd r2, [r3]
|
||
777 034a FFF7FEFF bl __aeabi_dadd
|
||
778 034e 0246 mov r2, r0
|
||
779 0350 0B46 mov r3, r1
|
||
780 0352 1046 mov r0, r2
|
||
781 0354 1946 mov r1, r3
|
||
782 0356 FFF7FEFF bl __aeabi_d2f
|
||
783 035a 0246 mov r2, r0 @ float
|
||
784 .loc 1 101 26
|
||
785 035c 7B68 ldr r3, [r7, #4]
|
||
786 035e DA62 str r2, [r3, #44] @ float
|
||
102:Core/Src/ADBMS_Abstraction.c **** module->auxVoltages[4] = mV_from_ADBMS6830(rxbuf[2] | (rxbuf[3] << 8));
|
||
787 .loc 1 102 28
|
||
788 0360 BB7C ldrb r3, [r7, #18] @ zero_extendqisi2
|
||
789 0362 1AB2 sxth r2, r3
|
||
790 0364 FB7C ldrb r3, [r7, #19] @ zero_extendqisi2
|
||
791 0366 1BB2 sxth r3, r3
|
||
792 0368 1B02 lsls r3, r3, #8
|
||
793 036a 1BB2 sxth r3, r3
|
||
794 036c 1343 orrs r3, r3, r2
|
||
795 036e 1BB2 sxth r3, r3
|
||
796 0370 1846 mov r0, r3
|
||
797 0372 FFF7FEFF bl __aeabi_i2d
|
||
798 0376 C2A3 adr r3, .L34
|
||
799 0378 D3E90023 ldrd r2, [r3]
|
||
800 037c FFF7FEFF bl __aeabi_dmul
|
||
801 0380 0246 mov r2, r0
|
||
802 0382 0B46 mov r3, r1
|
||
803 0384 1046 mov r0, r2
|
||
804 0386 1946 mov r1, r3
|
||
805 0388 BFA3 adr r3, .L34+8
|
||
806 038a D3E90023 ldrd r2, [r3]
|
||
807 038e FFF7FEFF bl __aeabi_dadd
|
||
808 0392 0246 mov r2, r0
|
||
809 0394 0B46 mov r3, r1
|
||
810 0396 1046 mov r0, r2
|
||
811 0398 1946 mov r1, r3
|
||
812 039a FFF7FEFF bl __aeabi_d2f
|
||
813 039e 0246 mov r2, r0 @ float
|
||
814 .loc 1 102 26
|
||
815 03a0 7B68 ldr r3, [r7, #4]
|
||
816 03a2 1A63 str r2, [r3, #48] @ float
|
||
103:Core/Src/ADBMS_Abstraction.c **** module->auxVoltages[5] = mV_from_ADBMS6830(rxbuf[4] | (rxbuf[5] << 8));
|
||
817 .loc 1 103 28
|
||
818 03a4 3B7D ldrb r3, [r7, #20] @ zero_extendqisi2
|
||
819 03a6 1AB2 sxth r2, r3
|
||
820 03a8 7B7D ldrb r3, [r7, #21] @ zero_extendqisi2
|
||
821 03aa 1BB2 sxth r3, r3
|
||
822 03ac 1B02 lsls r3, r3, #8
|
||
823 03ae 1BB2 sxth r3, r3
|
||
ARM GAS /tmp/cclV24WD.s page 17
|
||
|
||
|
||
824 03b0 1343 orrs r3, r3, r2
|
||
825 03b2 1BB2 sxth r3, r3
|
||
826 03b4 1846 mov r0, r3
|
||
827 03b6 FFF7FEFF bl __aeabi_i2d
|
||
828 03ba B1A3 adr r3, .L34
|
||
829 03bc D3E90023 ldrd r2, [r3]
|
||
830 03c0 FFF7FEFF bl __aeabi_dmul
|
||
831 03c4 0246 mov r2, r0
|
||
832 03c6 0B46 mov r3, r1
|
||
833 03c8 1046 mov r0, r2
|
||
834 03ca 1946 mov r1, r3
|
||
835 03cc AEA3 adr r3, .L34+8
|
||
836 03ce D3E90023 ldrd r2, [r3]
|
||
837 03d2 FFF7FEFF bl __aeabi_dadd
|
||
838 03d6 0246 mov r2, r0
|
||
839 03d8 0B46 mov r3, r1
|
||
840 03da 1046 mov r0, r2
|
||
841 03dc 1946 mov r1, r3
|
||
842 03de FFF7FEFF bl __aeabi_d2f
|
||
843 03e2 0246 mov r2, r0 @ float
|
||
844 .loc 1 103 26
|
||
845 03e4 7B68 ldr r3, [r7, #4]
|
||
846 03e6 5A63 str r2, [r3, #52] @ float
|
||
847 .LBB9:
|
||
104:Core/Src/ADBMS_Abstraction.c ****
|
||
105:Core/Src/ADBMS_Abstraction.c **** CHECK_RETURN(readCMD(RDAUXC, rxbuf, AUX_GROUP_A_SIZE));
|
||
848 .loc 1 105 3
|
||
849 03e8 07F11003 add r3, r7, #16
|
||
850 03ec 0622 movs r2, #6
|
||
851 03ee 1946 mov r1, r3
|
||
852 03f0 1B20 movs r0, #27
|
||
853 03f2 FFF7FEFF bl readCMD
|
||
854 03f6 0346 mov r3, r0
|
||
855 03f8 3B77 strb r3, [r7, #28]
|
||
856 .loc 1 105 3 is_stmt 0 discriminator 1
|
||
857 03fa 3B7F ldrb r3, [r7, #28] @ zero_extendqisi2
|
||
858 03fc 002B cmp r3, #0
|
||
859 03fe 01D0 beq .L28
|
||
860 0400 3B7F ldrb r3, [r7, #28] @ zero_extendqisi2
|
||
861 .loc 1 105 3
|
||
862 0402 37E1 b .L33
|
||
863 .L28:
|
||
864 .LBE9:
|
||
106:Core/Src/ADBMS_Abstraction.c ****
|
||
107:Core/Src/ADBMS_Abstraction.c **** module->auxVoltages[6] = mV_from_ADBMS6830(rxbuf[0] | (rxbuf[1] << 8));
|
||
865 .loc 1 107 28 is_stmt 1
|
||
866 0404 3B7C ldrb r3, [r7, #16] @ zero_extendqisi2
|
||
867 0406 1AB2 sxth r2, r3
|
||
868 0408 7B7C ldrb r3, [r7, #17] @ zero_extendqisi2
|
||
869 040a 1BB2 sxth r3, r3
|
||
870 040c 1B02 lsls r3, r3, #8
|
||
871 040e 1BB2 sxth r3, r3
|
||
872 0410 1343 orrs r3, r3, r2
|
||
873 0412 1BB2 sxth r3, r3
|
||
874 0414 1846 mov r0, r3
|
||
875 0416 FFF7FEFF bl __aeabi_i2d
|
||
876 041a 99A3 adr r3, .L34
|
||
ARM GAS /tmp/cclV24WD.s page 18
|
||
|
||
|
||
877 041c D3E90023 ldrd r2, [r3]
|
||
878 0420 FFF7FEFF bl __aeabi_dmul
|
||
879 0424 0246 mov r2, r0
|
||
880 0426 0B46 mov r3, r1
|
||
881 0428 1046 mov r0, r2
|
||
882 042a 1946 mov r1, r3
|
||
883 042c 96A3 adr r3, .L34+8
|
||
884 042e D3E90023 ldrd r2, [r3]
|
||
885 0432 FFF7FEFF bl __aeabi_dadd
|
||
886 0436 0246 mov r2, r0
|
||
887 0438 0B46 mov r3, r1
|
||
888 043a 1046 mov r0, r2
|
||
889 043c 1946 mov r1, r3
|
||
890 043e FFF7FEFF bl __aeabi_d2f
|
||
891 0442 0246 mov r2, r0 @ float
|
||
892 .loc 1 107 26
|
||
893 0444 7B68 ldr r3, [r7, #4]
|
||
894 0446 9A63 str r2, [r3, #56] @ float
|
||
108:Core/Src/ADBMS_Abstraction.c **** module->auxVoltages[7] = mV_from_ADBMS6830(rxbuf[2] | (rxbuf[3] << 8));
|
||
895 .loc 1 108 28
|
||
896 0448 BB7C ldrb r3, [r7, #18] @ zero_extendqisi2
|
||
897 044a 1AB2 sxth r2, r3
|
||
898 044c FB7C ldrb r3, [r7, #19] @ zero_extendqisi2
|
||
899 044e 1BB2 sxth r3, r3
|
||
900 0450 1B02 lsls r3, r3, #8
|
||
901 0452 1BB2 sxth r3, r3
|
||
902 0454 1343 orrs r3, r3, r2
|
||
903 0456 1BB2 sxth r3, r3
|
||
904 0458 1846 mov r0, r3
|
||
905 045a FFF7FEFF bl __aeabi_i2d
|
||
906 045e 88A3 adr r3, .L34
|
||
907 0460 D3E90023 ldrd r2, [r3]
|
||
908 0464 FFF7FEFF bl __aeabi_dmul
|
||
909 0468 0246 mov r2, r0
|
||
910 046a 0B46 mov r3, r1
|
||
911 046c 1046 mov r0, r2
|
||
912 046e 1946 mov r1, r3
|
||
913 0470 85A3 adr r3, .L34+8
|
||
914 0472 D3E90023 ldrd r2, [r3]
|
||
915 0476 FFF7FEFF bl __aeabi_dadd
|
||
916 047a 0246 mov r2, r0
|
||
917 047c 0B46 mov r3, r1
|
||
918 047e 1046 mov r0, r2
|
||
919 0480 1946 mov r1, r3
|
||
920 0482 FFF7FEFF bl __aeabi_d2f
|
||
921 0486 0246 mov r2, r0 @ float
|
||
922 .loc 1 108 26
|
||
923 0488 7B68 ldr r3, [r7, #4]
|
||
924 048a DA63 str r2, [r3, #60] @ float
|
||
109:Core/Src/ADBMS_Abstraction.c **** module->auxVoltages[8] = mV_from_ADBMS6830(rxbuf[4] | (rxbuf[5] << 8));
|
||
925 .loc 1 109 28
|
||
926 048c 3B7D ldrb r3, [r7, #20] @ zero_extendqisi2
|
||
927 048e 1AB2 sxth r2, r3
|
||
928 0490 7B7D ldrb r3, [r7, #21] @ zero_extendqisi2
|
||
929 0492 1BB2 sxth r3, r3
|
||
930 0494 1B02 lsls r3, r3, #8
|
||
931 0496 1BB2 sxth r3, r3
|
||
ARM GAS /tmp/cclV24WD.s page 19
|
||
|
||
|
||
932 0498 1343 orrs r3, r3, r2
|
||
933 049a 1BB2 sxth r3, r3
|
||
934 049c 1846 mov r0, r3
|
||
935 049e FFF7FEFF bl __aeabi_i2d
|
||
936 04a2 77A3 adr r3, .L34
|
||
937 04a4 D3E90023 ldrd r2, [r3]
|
||
938 04a8 FFF7FEFF bl __aeabi_dmul
|
||
939 04ac 0246 mov r2, r0
|
||
940 04ae 0B46 mov r3, r1
|
||
941 04b0 1046 mov r0, r2
|
||
942 04b2 1946 mov r1, r3
|
||
943 04b4 74A3 adr r3, .L34+8
|
||
944 04b6 D3E90023 ldrd r2, [r3]
|
||
945 04ba FFF7FEFF bl __aeabi_dadd
|
||
946 04be 0246 mov r2, r0
|
||
947 04c0 0B46 mov r3, r1
|
||
948 04c2 1046 mov r0, r2
|
||
949 04c4 1946 mov r1, r3
|
||
950 04c6 FFF7FEFF bl __aeabi_d2f
|
||
951 04ca 0246 mov r2, r0 @ float
|
||
952 .loc 1 109 26
|
||
953 04cc 7B68 ldr r3, [r7, #4]
|
||
954 04ce 1A64 str r2, [r3, #64] @ float
|
||
955 .LBB10:
|
||
110:Core/Src/ADBMS_Abstraction.c ****
|
||
111:Core/Src/ADBMS_Abstraction.c **** CHECK_RETURN(readCMD(RDAUXD, rxbuf, AUX_GROUP_A_SIZE));
|
||
956 .loc 1 111 3
|
||
957 04d0 07F11003 add r3, r7, #16
|
||
958 04d4 0622 movs r2, #6
|
||
959 04d6 1946 mov r1, r3
|
||
960 04d8 1F20 movs r0, #31
|
||
961 04da FFF7FEFF bl readCMD
|
||
962 04de 0346 mov r3, r0
|
||
963 04e0 FB76 strb r3, [r7, #27]
|
||
964 .loc 1 111 3 is_stmt 0 discriminator 1
|
||
965 04e2 FB7E ldrb r3, [r7, #27] @ zero_extendqisi2
|
||
966 04e4 002B cmp r3, #0
|
||
967 04e6 01D0 beq .L29
|
||
968 04e8 FB7E ldrb r3, [r7, #27] @ zero_extendqisi2
|
||
969 .loc 1 111 3
|
||
970 04ea C3E0 b .L33
|
||
971 .L29:
|
||
972 .LBE10:
|
||
112:Core/Src/ADBMS_Abstraction.c ****
|
||
113:Core/Src/ADBMS_Abstraction.c **** module->auxVoltages[9] = mV_from_ADBMS6830(rxbuf[0] | (rxbuf[1] << 8));
|
||
973 .loc 1 113 28 is_stmt 1
|
||
974 04ec 3B7C ldrb r3, [r7, #16] @ zero_extendqisi2
|
||
975 04ee 1AB2 sxth r2, r3
|
||
976 04f0 7B7C ldrb r3, [r7, #17] @ zero_extendqisi2
|
||
977 04f2 1BB2 sxth r3, r3
|
||
978 04f4 1B02 lsls r3, r3, #8
|
||
979 04f6 1BB2 sxth r3, r3
|
||
980 04f8 1343 orrs r3, r3, r2
|
||
981 04fa 1BB2 sxth r3, r3
|
||
982 04fc 1846 mov r0, r3
|
||
983 04fe FFF7FEFF bl __aeabi_i2d
|
||
984 0502 5FA3 adr r3, .L34
|
||
ARM GAS /tmp/cclV24WD.s page 20
|
||
|
||
|
||
985 0504 D3E90023 ldrd r2, [r3]
|
||
986 0508 FFF7FEFF bl __aeabi_dmul
|
||
987 050c 0246 mov r2, r0
|
||
988 050e 0B46 mov r3, r1
|
||
989 0510 1046 mov r0, r2
|
||
990 0512 1946 mov r1, r3
|
||
991 0514 5CA3 adr r3, .L34+8
|
||
992 0516 D3E90023 ldrd r2, [r3]
|
||
993 051a FFF7FEFF bl __aeabi_dadd
|
||
994 051e 0246 mov r2, r0
|
||
995 0520 0B46 mov r3, r1
|
||
996 0522 1046 mov r0, r2
|
||
997 0524 1946 mov r1, r3
|
||
998 0526 FFF7FEFF bl __aeabi_d2f
|
||
999 052a 0246 mov r2, r0 @ float
|
||
1000 .loc 1 113 26
|
||
1001 052c 7B68 ldr r3, [r7, #4]
|
||
1002 052e 5A64 str r2, [r3, #68] @ float
|
||
1003 .LBB11:
|
||
114:Core/Src/ADBMS_Abstraction.c ****
|
||
115:Core/Src/ADBMS_Abstraction.c **** uint8 rxbuffer[STATUS_GROUP_A_SIZE];
|
||
116:Core/Src/ADBMS_Abstraction.c ****
|
||
117:Core/Src/ADBMS_Abstraction.c **** CHECK_RETURN(readCMD(RDSTATA, rxbuffer, STATUS_GROUP_A_SIZE));
|
||
1004 .loc 1 117 3
|
||
1005 0530 07F10803 add r3, r7, #8
|
||
1006 0534 0622 movs r2, #6
|
||
1007 0536 1946 mov r1, r3
|
||
1008 0538 3020 movs r0, #48
|
||
1009 053a FFF7FEFF bl readCMD
|
||
1010 053e 0346 mov r3, r0
|
||
1011 0540 BB76 strb r3, [r7, #26]
|
||
1012 .loc 1 117 3 is_stmt 0 discriminator 1
|
||
1013 0542 BB7E ldrb r3, [r7, #26] @ zero_extendqisi2
|
||
1014 0544 002B cmp r3, #0
|
||
1015 0546 01D0 beq .L30
|
||
1016 0548 BB7E ldrb r3, [r7, #26] @ zero_extendqisi2
|
||
1017 .loc 1 117 3
|
||
1018 054a 93E0 b .L33
|
||
1019 .L30:
|
||
1020 .LBE11:
|
||
118:Core/Src/ADBMS_Abstraction.c ****
|
||
119:Core/Src/ADBMS_Abstraction.c **** module->internalDieTemp = rxbuffer[2] | (rxbuffer[3] << 8);
|
||
1021 .loc 1 119 37 is_stmt 1
|
||
1022 054c BB7A ldrb r3, [r7, #10] @ zero_extendqisi2
|
||
1023 054e 1AB2 sxth r2, r3
|
||
1024 .loc 1 119 52
|
||
1025 0550 FB7A ldrb r3, [r7, #11] @ zero_extendqisi2
|
||
1026 .loc 1 119 41
|
||
1027 0552 1BB2 sxth r3, r3
|
||
1028 0554 1B02 lsls r3, r3, #8
|
||
1029 0556 1BB2 sxth r3, r3
|
||
1030 0558 1343 orrs r3, r3, r2
|
||
1031 055a 1BB2 sxth r3, r3
|
||
1032 055c 9AB2 uxth r2, r3
|
||
1033 .loc 1 119 27
|
||
1034 055e 7B68 ldr r3, [r7, #4]
|
||
1035 0560 A3F84E20 strh r2, [r3, #78] @ movhi
|
||
ARM GAS /tmp/cclV24WD.s page 21
|
||
|
||
|
||
1036 .LBB12:
|
||
120:Core/Src/ADBMS_Abstraction.c ****
|
||
121:Core/Src/ADBMS_Abstraction.c **** CHECK_RETURN(readCMD(RDSTATB, rxbuffer, STATUS_GROUP_B_SIZE));
|
||
1037 .loc 1 121 3
|
||
1038 0564 07F10803 add r3, r7, #8
|
||
1039 0568 0622 movs r2, #6
|
||
1040 056a 1946 mov r1, r3
|
||
1041 056c 3120 movs r0, #49
|
||
1042 056e FFF7FEFF bl readCMD
|
||
1043 0572 0346 mov r3, r0
|
||
1044 0574 7B76 strb r3, [r7, #25]
|
||
1045 .loc 1 121 3 is_stmt 0 discriminator 1
|
||
1046 0576 7B7E ldrb r3, [r7, #25] @ zero_extendqisi2
|
||
1047 0578 002B cmp r3, #0
|
||
1048 057a 01D0 beq .L31
|
||
1049 057c 7B7E ldrb r3, [r7, #25] @ zero_extendqisi2
|
||
1050 .loc 1 121 3
|
||
1051 057e 79E0 b .L33
|
||
1052 .L31:
|
||
1053 .LBE12:
|
||
122:Core/Src/ADBMS_Abstraction.c **** module->digitalSupplyVoltage = mV_from_ADBMS6830(rxbuffer[0] | (rxbuffer[1] << 8));
|
||
1054 .loc 1 122 34 is_stmt 1
|
||
1055 0580 3B7A ldrb r3, [r7, #8] @ zero_extendqisi2
|
||
1056 0582 1AB2 sxth r2, r3
|
||
1057 0584 7B7A ldrb r3, [r7, #9] @ zero_extendqisi2
|
||
1058 0586 1BB2 sxth r3, r3
|
||
1059 0588 1B02 lsls r3, r3, #8
|
||
1060 058a 1BB2 sxth r3, r3
|
||
1061 058c 1343 orrs r3, r3, r2
|
||
1062 058e 1BB2 sxth r3, r3
|
||
1063 0590 1846 mov r0, r3
|
||
1064 0592 FFF7FEFF bl __aeabi_i2d
|
||
1065 0596 3AA3 adr r3, .L34
|
||
1066 0598 D3E90023 ldrd r2, [r3]
|
||
1067 059c FFF7FEFF bl __aeabi_dmul
|
||
1068 05a0 0246 mov r2, r0
|
||
1069 05a2 0B46 mov r3, r1
|
||
1070 05a4 1046 mov r0, r2
|
||
1071 05a6 1946 mov r1, r3
|
||
1072 05a8 37A3 adr r3, .L34+8
|
||
1073 05aa D3E90023 ldrd r2, [r3]
|
||
1074 05ae FFF7FEFF bl __aeabi_dadd
|
||
1075 05b2 0246 mov r2, r0
|
||
1076 05b4 0B46 mov r3, r1
|
||
1077 .loc 1 122 32
|
||
1078 05b6 1046 mov r0, r2
|
||
1079 05b8 1946 mov r1, r3
|
||
1080 05ba FFF7FEFF bl __aeabi_d2uiz
|
||
1081 05be 0346 mov r3, r0
|
||
1082 05c0 9AB2 uxth r2, r3
|
||
1083 05c2 7B68 ldr r3, [r7, #4]
|
||
1084 05c4 A3F85220 strh r2, [r3, #82] @ movhi
|
||
123:Core/Src/ADBMS_Abstraction.c **** module->analogSupplyVoltage = mV_from_ADBMS6830(rxbuffer[2] | (rxbuffer[3] << 8));
|
||
1085 .loc 1 123 34
|
||
1086 05c8 BB7A ldrb r3, [r7, #10] @ zero_extendqisi2
|
||
1087 05ca 1AB2 sxth r2, r3
|
||
1088 05cc FB7A ldrb r3, [r7, #11] @ zero_extendqisi2
|
||
ARM GAS /tmp/cclV24WD.s page 22
|
||
|
||
|
||
1089 05ce 1BB2 sxth r3, r3
|
||
1090 05d0 1B02 lsls r3, r3, #8
|
||
1091 05d2 1BB2 sxth r3, r3
|
||
1092 05d4 1343 orrs r3, r3, r2
|
||
1093 05d6 1BB2 sxth r3, r3
|
||
1094 05d8 1846 mov r0, r3
|
||
1095 05da FFF7FEFF bl __aeabi_i2d
|
||
1096 05de 28A3 adr r3, .L34
|
||
1097 05e0 D3E90023 ldrd r2, [r3]
|
||
1098 05e4 FFF7FEFF bl __aeabi_dmul
|
||
1099 05e8 0246 mov r2, r0
|
||
1100 05ea 0B46 mov r3, r1
|
||
1101 05ec 1046 mov r0, r2
|
||
1102 05ee 1946 mov r1, r3
|
||
1103 05f0 25A3 adr r3, .L34+8
|
||
1104 05f2 D3E90023 ldrd r2, [r3]
|
||
1105 05f6 FFF7FEFF bl __aeabi_dadd
|
||
1106 05fa 0246 mov r2, r0
|
||
1107 05fc 0B46 mov r3, r1
|
||
1108 .loc 1 123 32
|
||
1109 05fe 1046 mov r0, r2
|
||
1110 0600 1946 mov r1, r3
|
||
1111 0602 FFF7FEFF bl __aeabi_d2uiz
|
||
1112 0606 0346 mov r3, r0
|
||
1113 0608 9AB2 uxth r2, r3
|
||
1114 060a 7B68 ldr r3, [r7, #4]
|
||
1115 060c A3F85020 strh r2, [r3, #80] @ movhi
|
||
124:Core/Src/ADBMS_Abstraction.c **** module->refVoltage = mV_from_ADBMS6830(rxbuffer[4] | (rxbuffer[5] << 8));
|
||
1116 .loc 1 124 34
|
||
1117 0610 3B7B ldrb r3, [r7, #12] @ zero_extendqisi2
|
||
1118 0612 1AB2 sxth r2, r3
|
||
1119 0614 7B7B ldrb r3, [r7, #13] @ zero_extendqisi2
|
||
1120 0616 1BB2 sxth r3, r3
|
||
1121 0618 1B02 lsls r3, r3, #8
|
||
1122 061a 1BB2 sxth r3, r3
|
||
1123 061c 1343 orrs r3, r3, r2
|
||
1124 061e 1BB2 sxth r3, r3
|
||
1125 0620 1846 mov r0, r3
|
||
1126 0622 FFF7FEFF bl __aeabi_i2d
|
||
1127 0626 16A3 adr r3, .L34
|
||
1128 0628 D3E90023 ldrd r2, [r3]
|
||
1129 062c FFF7FEFF bl __aeabi_dmul
|
||
1130 0630 0246 mov r2, r0
|
||
1131 0632 0B46 mov r3, r1
|
||
1132 0634 1046 mov r0, r2
|
||
1133 0636 1946 mov r1, r3
|
||
1134 0638 13A3 adr r3, .L34+8
|
||
1135 063a D3E90023 ldrd r2, [r3]
|
||
1136 063e FFF7FEFF bl __aeabi_dadd
|
||
1137 0642 0246 mov r2, r0
|
||
1138 0644 0B46 mov r3, r1
|
||
1139 .loc 1 124 32
|
||
1140 0646 1046 mov r0, r2
|
||
1141 0648 1946 mov r1, r3
|
||
1142 064a FFF7FEFF bl __aeabi_d2uiz
|
||
1143 064e 0346 mov r3, r0
|
||
1144 0650 9AB2 uxth r2, r3
|
||
ARM GAS /tmp/cclV24WD.s page 23
|
||
|
||
|
||
1145 0652 7B68 ldr r3, [r7, #4]
|
||
1146 0654 A3F85620 strh r2, [r3, #86] @ movhi
|
||
1147 .LBB13:
|
||
125:Core/Src/ADBMS_Abstraction.c ****
|
||
126:Core/Src/ADBMS_Abstraction.c **** CHECK_RETURN(writeCMD(ADAX | ADAX_CONV_ALL, NULL, 0)); //start aux measurement for next cycle
|
||
1148 .loc 1 126 3
|
||
1149 0658 0022 movs r2, #0
|
||
1150 065a 0021 movs r1, #0
|
||
1151 065c 4FF48260 mov r0, #1040
|
||
1152 0660 FFF7FEFF bl writeCMD
|
||
1153 0664 0346 mov r3, r0
|
||
1154 0666 3B76 strb r3, [r7, #24]
|
||
1155 .loc 1 126 3 is_stmt 0 discriminator 1
|
||
1156 0668 3B7E ldrb r3, [r7, #24] @ zero_extendqisi2
|
||
1157 066a 002B cmp r3, #0
|
||
1158 066c 01D0 beq .L32
|
||
1159 066e 3B7E ldrb r3, [r7, #24] @ zero_extendqisi2
|
||
1160 .loc 1 126 3
|
||
1161 0670 00E0 b .L33
|
||
1162 .L32:
|
||
1163 .LBE13:
|
||
127:Core/Src/ADBMS_Abstraction.c ****
|
||
128:Core/Src/ADBMS_Abstraction.c **** return 0;
|
||
1164 .loc 1 128 10 is_stmt 1
|
||
1165 0672 0023 movs r3, #0
|
||
1166 .L33:
|
||
129:Core/Src/ADBMS_Abstraction.c **** }
|
||
1167 .loc 1 129 1
|
||
1168 0674 1846 mov r0, r3
|
||
1169 0676 2037 adds r7, r7, #32
|
||
1170 .cfi_def_cfa_offset 8
|
||
1171 0678 BD46 mov sp, r7
|
||
1172 .cfi_def_cfa_register 13
|
||
1173 @ sp needed
|
||
1174 067a 80BD pop {r7, pc}
|
||
1175 .L35:
|
||
1176 067c AFF30080 .align 3
|
||
1177 .L34:
|
||
1178 0680 33333333 .word 858993459
|
||
1179 0684 3333C33F .word 1069757235
|
||
1180 0688 00000000 .word 0
|
||
1181 068c 00709740 .word 1083666432
|
||
1182 .cfi_endproc
|
||
1183 .LFE135:
|
||
1185 .section .text.amsConfigBalancing,"ax",%progbits
|
||
1186 .align 1
|
||
1187 .global amsConfigBalancing
|
||
1188 .syntax unified
|
||
1189 .thumb
|
||
1190 .thumb_func
|
||
1192 amsConfigBalancing:
|
||
1193 .LFB136:
|
||
130:Core/Src/ADBMS_Abstraction.c ****
|
||
131:Core/Src/ADBMS_Abstraction.c **** uint8 amsConfigBalancing(uint32 channels, uint8 dutyCycle) {
|
||
1194 .loc 1 131 60
|
||
1195 .cfi_startproc
|
||
1196 @ args = 0, pretend = 0, frame = 24
|
||
ARM GAS /tmp/cclV24WD.s page 24
|
||
|
||
|
||
1197 @ frame_needed = 1, uses_anonymous_args = 0
|
||
1198 0000 80B5 push {r7, lr}
|
||
1199 .cfi_def_cfa_offset 8
|
||
1200 .cfi_offset 7, -8
|
||
1201 .cfi_offset 14, -4
|
||
1202 0002 86B0 sub sp, sp, #24
|
||
1203 .cfi_def_cfa_offset 32
|
||
1204 0004 00AF add r7, sp, #0
|
||
1205 .cfi_def_cfa_register 7
|
||
1206 0006 7860 str r0, [r7, #4]
|
||
1207 0008 0B46 mov r3, r1
|
||
1208 000a FB70 strb r3, [r7, #3]
|
||
132:Core/Src/ADBMS_Abstraction.c **** uint8 buffer_a[PWM_GROUP_A_SIZE] = {};
|
||
1209 .loc 1 132 9
|
||
1210 000c 07F10C03 add r3, r7, #12
|
||
1211 0010 0022 movs r2, #0
|
||
1212 0012 1A60 str r2, [r3]
|
||
1213 0014 9A80 strh r2, [r3, #4] @ movhi
|
||
133:Core/Src/ADBMS_Abstraction.c **** uint8 buffer_b[PWM_GROUP_B_SIZE] = {};
|
||
1214 .loc 1 133 9
|
||
1215 0016 0023 movs r3, #0
|
||
1216 0018 3B81 strh r3, [r7, #8] @ movhi
|
||
1217 .LBB14:
|
||
134:Core/Src/ADBMS_Abstraction.c **** CHECK_RETURN(writeCMD(ADCV | ADCV_CONT, NULL, 0)); //start continuous cell voltage measurement wi
|
||
1218 .loc 1 134 3
|
||
1219 001a 0022 movs r2, #0
|
||
1220 001c 0021 movs r1, #0
|
||
1221 001e 4FF43870 mov r0, #736
|
||
1222 0022 FFF7FEFF bl writeCMD
|
||
1223 0026 0346 mov r3, r0
|
||
1224 0028 FB75 strb r3, [r7, #23]
|
||
1225 .loc 1 134 3 is_stmt 0 discriminator 1
|
||
1226 002a FB7D ldrb r3, [r7, #23] @ zero_extendqisi2
|
||
1227 002c 002B cmp r3, #0
|
||
1228 002e 01D0 beq .L37
|
||
1229 0030 FB7D ldrb r3, [r7, #23] @ zero_extendqisi2
|
||
1230 .loc 1 134 3
|
||
1231 0032 FDE0 b .L76
|
||
1232 .L37:
|
||
1233 .LBE14:
|
||
1234 .LBB15:
|
||
135:Core/Src/ADBMS_Abstraction.c **** CHECK_RETURN(readCMD(RDPWMA, buffer_a, PWM_GROUP_A_SIZE));
|
||
1235 .loc 1 135 3 is_stmt 1
|
||
1236 0034 07F10C03 add r3, r7, #12
|
||
1237 0038 0622 movs r2, #6
|
||
1238 003a 1946 mov r1, r3
|
||
1239 003c 2220 movs r0, #34
|
||
1240 003e FFF7FEFF bl readCMD
|
||
1241 0042 0346 mov r3, r0
|
||
1242 0044 BB75 strb r3, [r7, #22]
|
||
1243 .loc 1 135 3 is_stmt 0 discriminator 1
|
||
1244 0046 BB7D ldrb r3, [r7, #22] @ zero_extendqisi2
|
||
1245 0048 002B cmp r3, #0
|
||
1246 004a 01D0 beq .L39
|
||
1247 004c BB7D ldrb r3, [r7, #22] @ zero_extendqisi2
|
||
1248 .loc 1 135 3
|
||
1249 004e EFE0 b .L76
|
||
ARM GAS /tmp/cclV24WD.s page 25
|
||
|
||
|
||
1250 .L39:
|
||
1251 .LBE15:
|
||
1252 .LBB16:
|
||
136:Core/Src/ADBMS_Abstraction.c **** CHECK_RETURN(readCMD(RDPWMB, buffer_b, PWM_GROUP_B_SIZE));
|
||
1253 .loc 1 136 3 is_stmt 1
|
||
1254 0050 07F10803 add r3, r7, #8
|
||
1255 0054 0222 movs r2, #2
|
||
1256 0056 1946 mov r1, r3
|
||
1257 0058 2320 movs r0, #35
|
||
1258 005a FFF7FEFF bl readCMD
|
||
1259 005e 0346 mov r3, r0
|
||
1260 0060 7B75 strb r3, [r7, #21]
|
||
1261 .loc 1 136 3 is_stmt 0 discriminator 1
|
||
1262 0062 7B7D ldrb r3, [r7, #21] @ zero_extendqisi2
|
||
1263 0064 002B cmp r3, #0
|
||
1264 0066 01D0 beq .L40
|
||
1265 0068 7B7D ldrb r3, [r7, #21] @ zero_extendqisi2
|
||
1266 .loc 1 136 3
|
||
1267 006a E1E0 b .L76
|
||
1268 .L40:
|
||
1269 .LBE16:
|
||
137:Core/Src/ADBMS_Abstraction.c ****
|
||
138:Core/Src/ADBMS_Abstraction.c **** if (dutyCycle > 0x0F) { // there are only 4 bits for duty cycle
|
||
1270 .loc 1 138 6 is_stmt 1
|
||
1271 006c FB78 ldrb r3, [r7, #3] @ zero_extendqisi2
|
||
1272 006e 0F2B cmp r3, #15
|
||
1273 0070 01D9 bls .L41
|
||
139:Core/Src/ADBMS_Abstraction.c **** return 1;
|
||
1274 .loc 1 139 12
|
||
1275 0072 0123 movs r3, #1
|
||
1276 0074 DCE0 b .L76
|
||
1277 .L41:
|
||
140:Core/Src/ADBMS_Abstraction.c **** }
|
||
141:Core/Src/ADBMS_Abstraction.c ****
|
||
142:Core/Src/ADBMS_Abstraction.c **** buffer_a[0] = ((channels & (1 << 0)) ? dutyCycle : 0) | ((channels & (1 << 1)) ? (dutyCycle << 4)
|
||
1278 .loc 1 142 28
|
||
1279 0076 7B68 ldr r3, [r7, #4]
|
||
1280 0078 03F00103 and r3, r3, #1
|
||
1281 .loc 1 142 57
|
||
1282 007c 002B cmp r3, #0
|
||
1283 007e 02D0 beq .L42
|
||
1284 .loc 1 142 57 is_stmt 0 discriminator 1
|
||
1285 0080 97F90320 ldrsb r2, [r7, #3]
|
||
1286 0084 00E0 b .L43
|
||
1287 .L42:
|
||
1288 .loc 1 142 57 discriminator 2
|
||
1289 0086 0022 movs r2, #0
|
||
1290 .L43:
|
||
1291 .loc 1 142 70 is_stmt 1 discriminator 4
|
||
1292 0088 7B68 ldr r3, [r7, #4]
|
||
1293 008a 03F00203 and r3, r3, #2
|
||
1294 .loc 1 142 57 discriminator 4
|
||
1295 008e 002B cmp r3, #0
|
||
1296 0090 04D0 beq .L44
|
||
1297 .loc 1 142 57 is_stmt 0 discriminator 5
|
||
1298 0092 97F90330 ldrsb r3, [r7, #3]
|
||
1299 0096 1B01 lsls r3, r3, #4
|
||
ARM GAS /tmp/cclV24WD.s page 26
|
||
|
||
|
||
1300 0098 5BB2 sxtb r3, r3
|
||
1301 009a 00E0 b .L45
|
||
1302 .L44:
|
||
1303 .loc 1 142 57 discriminator 6
|
||
1304 009c 0023 movs r3, #0
|
||
1305 .L45:
|
||
1306 .loc 1 142 57 discriminator 8
|
||
1307 009e 1343 orrs r3, r3, r2
|
||
1308 00a0 5BB2 sxtb r3, r3
|
||
1309 00a2 DBB2 uxtb r3, r3
|
||
1310 .loc 1 142 15 is_stmt 1 discriminator 8
|
||
1311 00a4 3B73 strb r3, [r7, #12]
|
||
143:Core/Src/ADBMS_Abstraction.c **** buffer_a[1] = ((channels & (1 << 2)) ? dutyCycle : 0) | ((channels & (1 << 3)) ? (dutyCycle << 4)
|
||
1312 .loc 1 143 28
|
||
1313 00a6 7B68 ldr r3, [r7, #4]
|
||
1314 00a8 03F00403 and r3, r3, #4
|
||
1315 .loc 1 143 57
|
||
1316 00ac 002B cmp r3, #0
|
||
1317 00ae 02D0 beq .L46
|
||
1318 .loc 1 143 57 is_stmt 0 discriminator 1
|
||
1319 00b0 97F90320 ldrsb r2, [r7, #3]
|
||
1320 00b4 00E0 b .L47
|
||
1321 .L46:
|
||
1322 .loc 1 143 57 discriminator 2
|
||
1323 00b6 0022 movs r2, #0
|
||
1324 .L47:
|
||
1325 .loc 1 143 70 is_stmt 1 discriminator 4
|
||
1326 00b8 7B68 ldr r3, [r7, #4]
|
||
1327 00ba 03F00803 and r3, r3, #8
|
||
1328 .loc 1 143 57 discriminator 4
|
||
1329 00be 002B cmp r3, #0
|
||
1330 00c0 04D0 beq .L48
|
||
1331 .loc 1 143 57 is_stmt 0 discriminator 5
|
||
1332 00c2 97F90330 ldrsb r3, [r7, #3]
|
||
1333 00c6 1B01 lsls r3, r3, #4
|
||
1334 00c8 5BB2 sxtb r3, r3
|
||
1335 00ca 00E0 b .L49
|
||
1336 .L48:
|
||
1337 .loc 1 143 57 discriminator 6
|
||
1338 00cc 0023 movs r3, #0
|
||
1339 .L49:
|
||
1340 .loc 1 143 57 discriminator 8
|
||
1341 00ce 1343 orrs r3, r3, r2
|
||
1342 00d0 5BB2 sxtb r3, r3
|
||
1343 00d2 DBB2 uxtb r3, r3
|
||
1344 .loc 1 143 15 is_stmt 1 discriminator 8
|
||
1345 00d4 7B73 strb r3, [r7, #13]
|
||
144:Core/Src/ADBMS_Abstraction.c **** buffer_a[2] = ((channels & (1 << 4)) ? dutyCycle : 0) | ((channels & (1 << 5)) ? (dutyCycle << 4)
|
||
1346 .loc 1 144 28
|
||
1347 00d6 7B68 ldr r3, [r7, #4]
|
||
1348 00d8 03F01003 and r3, r3, #16
|
||
1349 .loc 1 144 57
|
||
1350 00dc 002B cmp r3, #0
|
||
1351 00de 02D0 beq .L50
|
||
1352 .loc 1 144 57 is_stmt 0 discriminator 1
|
||
1353 00e0 97F90320 ldrsb r2, [r7, #3]
|
||
1354 00e4 00E0 b .L51
|
||
ARM GAS /tmp/cclV24WD.s page 27
|
||
|
||
|
||
1355 .L50:
|
||
1356 .loc 1 144 57 discriminator 2
|
||
1357 00e6 0022 movs r2, #0
|
||
1358 .L51:
|
||
1359 .loc 1 144 70 is_stmt 1 discriminator 4
|
||
1360 00e8 7B68 ldr r3, [r7, #4]
|
||
1361 00ea 03F02003 and r3, r3, #32
|
||
1362 .loc 1 144 57 discriminator 4
|
||
1363 00ee 002B cmp r3, #0
|
||
1364 00f0 04D0 beq .L52
|
||
1365 .loc 1 144 57 is_stmt 0 discriminator 5
|
||
1366 00f2 97F90330 ldrsb r3, [r7, #3]
|
||
1367 00f6 1B01 lsls r3, r3, #4
|
||
1368 00f8 5BB2 sxtb r3, r3
|
||
1369 00fa 00E0 b .L53
|
||
1370 .L52:
|
||
1371 .loc 1 144 57 discriminator 6
|
||
1372 00fc 0023 movs r3, #0
|
||
1373 .L53:
|
||
1374 .loc 1 144 57 discriminator 8
|
||
1375 00fe 1343 orrs r3, r3, r2
|
||
1376 0100 5BB2 sxtb r3, r3
|
||
1377 0102 DBB2 uxtb r3, r3
|
||
1378 .loc 1 144 15 is_stmt 1 discriminator 8
|
||
1379 0104 BB73 strb r3, [r7, #14]
|
||
145:Core/Src/ADBMS_Abstraction.c **** buffer_a[3] = ((channels & (1 << 6)) ? dutyCycle : 0) | ((channels & (1 << 7)) ? (dutyCycle << 4)
|
||
1380 .loc 1 145 28
|
||
1381 0106 7B68 ldr r3, [r7, #4]
|
||
1382 0108 03F04003 and r3, r3, #64
|
||
1383 .loc 1 145 57
|
||
1384 010c 002B cmp r3, #0
|
||
1385 010e 02D0 beq .L54
|
||
1386 .loc 1 145 57 is_stmt 0 discriminator 1
|
||
1387 0110 97F90320 ldrsb r2, [r7, #3]
|
||
1388 0114 00E0 b .L55
|
||
1389 .L54:
|
||
1390 .loc 1 145 57 discriminator 2
|
||
1391 0116 0022 movs r2, #0
|
||
1392 .L55:
|
||
1393 .loc 1 145 70 is_stmt 1 discriminator 4
|
||
1394 0118 7B68 ldr r3, [r7, #4]
|
||
1395 011a 03F08003 and r3, r3, #128
|
||
1396 .loc 1 145 57 discriminator 4
|
||
1397 011e 002B cmp r3, #0
|
||
1398 0120 04D0 beq .L56
|
||
1399 .loc 1 145 57 is_stmt 0 discriminator 5
|
||
1400 0122 97F90330 ldrsb r3, [r7, #3]
|
||
1401 0126 1B01 lsls r3, r3, #4
|
||
1402 0128 5BB2 sxtb r3, r3
|
||
1403 012a 00E0 b .L57
|
||
1404 .L56:
|
||
1405 .loc 1 145 57 discriminator 6
|
||
1406 012c 0023 movs r3, #0
|
||
1407 .L57:
|
||
1408 .loc 1 145 57 discriminator 8
|
||
1409 012e 1343 orrs r3, r3, r2
|
||
1410 0130 5BB2 sxtb r3, r3
|
||
ARM GAS /tmp/cclV24WD.s page 28
|
||
|
||
|
||
1411 0132 DBB2 uxtb r3, r3
|
||
1412 .loc 1 145 15 is_stmt 1 discriminator 8
|
||
1413 0134 FB73 strb r3, [r7, #15]
|
||
146:Core/Src/ADBMS_Abstraction.c **** buffer_a[4] = ((channels & (1 << 8)) ? dutyCycle : 0) | ((channels & (1 << 9)) ? (dutyCycle << 4)
|
||
1414 .loc 1 146 28
|
||
1415 0136 7B68 ldr r3, [r7, #4]
|
||
1416 0138 03F48073 and r3, r3, #256
|
||
1417 .loc 1 146 57
|
||
1418 013c 002B cmp r3, #0
|
||
1419 013e 02D0 beq .L58
|
||
1420 .loc 1 146 57 is_stmt 0 discriminator 1
|
||
1421 0140 97F90320 ldrsb r2, [r7, #3]
|
||
1422 0144 00E0 b .L59
|
||
1423 .L58:
|
||
1424 .loc 1 146 57 discriminator 2
|
||
1425 0146 0022 movs r2, #0
|
||
1426 .L59:
|
||
1427 .loc 1 146 70 is_stmt 1 discriminator 4
|
||
1428 0148 7B68 ldr r3, [r7, #4]
|
||
1429 014a 03F40073 and r3, r3, #512
|
||
1430 .loc 1 146 57 discriminator 4
|
||
1431 014e 002B cmp r3, #0
|
||
1432 0150 04D0 beq .L60
|
||
1433 .loc 1 146 57 is_stmt 0 discriminator 5
|
||
1434 0152 97F90330 ldrsb r3, [r7, #3]
|
||
1435 0156 1B01 lsls r3, r3, #4
|
||
1436 0158 5BB2 sxtb r3, r3
|
||
1437 015a 00E0 b .L61
|
||
1438 .L60:
|
||
1439 .loc 1 146 57 discriminator 6
|
||
1440 015c 0023 movs r3, #0
|
||
1441 .L61:
|
||
1442 .loc 1 146 57 discriminator 8
|
||
1443 015e 1343 orrs r3, r3, r2
|
||
1444 0160 5BB2 sxtb r3, r3
|
||
1445 0162 DBB2 uxtb r3, r3
|
||
1446 .loc 1 146 15 is_stmt 1 discriminator 8
|
||
1447 0164 3B74 strb r3, [r7, #16]
|
||
147:Core/Src/ADBMS_Abstraction.c **** buffer_a[5] = ((channels & (1 << 10)) ? dutyCycle : 0) | ((channels & (1 << 11)) ? (dutyCycle <<
|
||
1448 .loc 1 147 28
|
||
1449 0166 7B68 ldr r3, [r7, #4]
|
||
1450 0168 03F48063 and r3, r3, #1024
|
||
1451 .loc 1 147 58
|
||
1452 016c 002B cmp r3, #0
|
||
1453 016e 02D0 beq .L62
|
||
1454 .loc 1 147 58 is_stmt 0 discriminator 1
|
||
1455 0170 97F90320 ldrsb r2, [r7, #3]
|
||
1456 0174 00E0 b .L63
|
||
1457 .L62:
|
||
1458 .loc 1 147 58 discriminator 2
|
||
1459 0176 0022 movs r2, #0
|
||
1460 .L63:
|
||
1461 .loc 1 147 71 is_stmt 1 discriminator 4
|
||
1462 0178 7B68 ldr r3, [r7, #4]
|
||
1463 017a 03F40063 and r3, r3, #2048
|
||
1464 .loc 1 147 58 discriminator 4
|
||
1465 017e 002B cmp r3, #0
|
||
ARM GAS /tmp/cclV24WD.s page 29
|
||
|
||
|
||
1466 0180 04D0 beq .L64
|
||
1467 .loc 1 147 58 is_stmt 0 discriminator 5
|
||
1468 0182 97F90330 ldrsb r3, [r7, #3]
|
||
1469 0186 1B01 lsls r3, r3, #4
|
||
1470 0188 5BB2 sxtb r3, r3
|
||
1471 018a 00E0 b .L65
|
||
1472 .L64:
|
||
1473 .loc 1 147 58 discriminator 6
|
||
1474 018c 0023 movs r3, #0
|
||
1475 .L65:
|
||
1476 .loc 1 147 58 discriminator 8
|
||
1477 018e 1343 orrs r3, r3, r2
|
||
1478 0190 5BB2 sxtb r3, r3
|
||
1479 0192 DBB2 uxtb r3, r3
|
||
1480 .loc 1 147 15 is_stmt 1 discriminator 8
|
||
1481 0194 7B74 strb r3, [r7, #17]
|
||
148:Core/Src/ADBMS_Abstraction.c ****
|
||
149:Core/Src/ADBMS_Abstraction.c **** buffer_b[0] = ((channels & (1 << 12)) ? dutyCycle : 0) | ((channels & (1 << 13)) ? (dutyCycle <<
|
||
1482 .loc 1 149 28
|
||
1483 0196 7B68 ldr r3, [r7, #4]
|
||
1484 0198 03F48053 and r3, r3, #4096
|
||
1485 .loc 1 149 58
|
||
1486 019c 002B cmp r3, #0
|
||
1487 019e 02D0 beq .L66
|
||
1488 .loc 1 149 58 is_stmt 0 discriminator 1
|
||
1489 01a0 97F90320 ldrsb r2, [r7, #3]
|
||
1490 01a4 00E0 b .L67
|
||
1491 .L66:
|
||
1492 .loc 1 149 58 discriminator 2
|
||
1493 01a6 0022 movs r2, #0
|
||
1494 .L67:
|
||
1495 .loc 1 149 71 is_stmt 1 discriminator 4
|
||
1496 01a8 7B68 ldr r3, [r7, #4]
|
||
1497 01aa 03F40053 and r3, r3, #8192
|
||
1498 .loc 1 149 58 discriminator 4
|
||
1499 01ae 002B cmp r3, #0
|
||
1500 01b0 04D0 beq .L68
|
||
1501 .loc 1 149 58 is_stmt 0 discriminator 5
|
||
1502 01b2 97F90330 ldrsb r3, [r7, #3]
|
||
1503 01b6 1B01 lsls r3, r3, #4
|
||
1504 01b8 5BB2 sxtb r3, r3
|
||
1505 01ba 00E0 b .L69
|
||
1506 .L68:
|
||
1507 .loc 1 149 58 discriminator 6
|
||
1508 01bc 0023 movs r3, #0
|
||
1509 .L69:
|
||
1510 .loc 1 149 58 discriminator 8
|
||
1511 01be 1343 orrs r3, r3, r2
|
||
1512 01c0 5BB2 sxtb r3, r3
|
||
1513 01c2 DBB2 uxtb r3, r3
|
||
1514 .loc 1 149 15 is_stmt 1 discriminator 8
|
||
1515 01c4 3B72 strb r3, [r7, #8]
|
||
150:Core/Src/ADBMS_Abstraction.c **** buffer_b[1] = ((channels & (1 << 14)) ? dutyCycle : 0) | ((channels & (1 << 15)) ? (dutyCycle <<
|
||
1516 .loc 1 150 28
|
||
1517 01c6 7B68 ldr r3, [r7, #4]
|
||
1518 01c8 03F48043 and r3, r3, #16384
|
||
1519 .loc 1 150 58
|
||
ARM GAS /tmp/cclV24WD.s page 30
|
||
|
||
|
||
1520 01cc 002B cmp r3, #0
|
||
1521 01ce 02D0 beq .L70
|
||
1522 .loc 1 150 58 is_stmt 0 discriminator 1
|
||
1523 01d0 97F90320 ldrsb r2, [r7, #3]
|
||
1524 01d4 00E0 b .L71
|
||
1525 .L70:
|
||
1526 .loc 1 150 58 discriminator 2
|
||
1527 01d6 0022 movs r2, #0
|
||
1528 .L71:
|
||
1529 .loc 1 150 71 is_stmt 1 discriminator 4
|
||
1530 01d8 7B68 ldr r3, [r7, #4]
|
||
1531 01da 03F40043 and r3, r3, #32768
|
||
1532 .loc 1 150 58 discriminator 4
|
||
1533 01de 002B cmp r3, #0
|
||
1534 01e0 04D0 beq .L72
|
||
1535 .loc 1 150 58 is_stmt 0 discriminator 5
|
||
1536 01e2 97F90330 ldrsb r3, [r7, #3]
|
||
1537 01e6 1B01 lsls r3, r3, #4
|
||
1538 01e8 5BB2 sxtb r3, r3
|
||
1539 01ea 00E0 b .L73
|
||
1540 .L72:
|
||
1541 .loc 1 150 58 discriminator 6
|
||
1542 01ec 0023 movs r3, #0
|
||
1543 .L73:
|
||
1544 .loc 1 150 58 discriminator 8
|
||
1545 01ee 1343 orrs r3, r3, r2
|
||
1546 01f0 5BB2 sxtb r3, r3
|
||
1547 01f2 DBB2 uxtb r3, r3
|
||
1548 .loc 1 150 15 is_stmt 1 discriminator 8
|
||
1549 01f4 7B72 strb r3, [r7, #9]
|
||
1550 .LBB17:
|
||
151:Core/Src/ADBMS_Abstraction.c ****
|
||
152:Core/Src/ADBMS_Abstraction.c **** CHECK_RETURN(writeCMD(WRPWMA, buffer_a, PWM_GROUP_A_SIZE));
|
||
1551 .loc 1 152 3
|
||
1552 01f6 07F10C03 add r3, r7, #12
|
||
1553 01fa 0622 movs r2, #6
|
||
1554 01fc 1946 mov r1, r3
|
||
1555 01fe 2020 movs r0, #32
|
||
1556 0200 FFF7FEFF bl writeCMD
|
||
1557 0204 0346 mov r3, r0
|
||
1558 0206 3B75 strb r3, [r7, #20]
|
||
1559 .loc 1 152 3 is_stmt 0 discriminator 1
|
||
1560 0208 3B7D ldrb r3, [r7, #20] @ zero_extendqisi2
|
||
1561 020a 002B cmp r3, #0
|
||
1562 020c 01D0 beq .L74
|
||
1563 020e 3B7D ldrb r3, [r7, #20] @ zero_extendqisi2
|
||
1564 .loc 1 152 3
|
||
1565 0210 0EE0 b .L76
|
||
1566 .L74:
|
||
1567 .LBE17:
|
||
1568 .LBB18:
|
||
153:Core/Src/ADBMS_Abstraction.c **** CHECK_RETURN(writeCMD(WRPWMB, buffer_b, PWM_GROUP_B_SIZE));
|
||
1569 .loc 1 153 3 is_stmt 1
|
||
1570 0212 07F10803 add r3, r7, #8
|
||
1571 0216 0222 movs r2, #2
|
||
1572 0218 1946 mov r1, r3
|
||
1573 021a 2120 movs r0, #33
|
||
ARM GAS /tmp/cclV24WD.s page 31
|
||
|
||
|
||
1574 021c FFF7FEFF bl writeCMD
|
||
1575 0220 0346 mov r3, r0
|
||
1576 0222 FB74 strb r3, [r7, #19]
|
||
1577 .loc 1 153 3 is_stmt 0 discriminator 1
|
||
1578 0224 FB7C ldrb r3, [r7, #19] @ zero_extendqisi2
|
||
1579 0226 002B cmp r3, #0
|
||
1580 0228 01D0 beq .L75
|
||
1581 022a FB7C ldrb r3, [r7, #19] @ zero_extendqisi2
|
||
1582 .loc 1 153 3
|
||
1583 022c 00E0 b .L76
|
||
1584 .L75:
|
||
1585 .LBE18:
|
||
154:Core/Src/ADBMS_Abstraction.c ****
|
||
155:Core/Src/ADBMS_Abstraction.c **** return 0;
|
||
1586 .loc 1 155 10 is_stmt 1
|
||
1587 022e 0023 movs r3, #0
|
||
1588 .L76:
|
||
156:Core/Src/ADBMS_Abstraction.c **** }
|
||
1589 .loc 1 156 1
|
||
1590 0230 1846 mov r0, r3
|
||
1591 0232 1837 adds r7, r7, #24
|
||
1592 .cfi_def_cfa_offset 8
|
||
1593 0234 BD46 mov sp, r7
|
||
1594 .cfi_def_cfa_register 13
|
||
1595 @ sp needed
|
||
1596 0236 80BD pop {r7, pc}
|
||
1597 .cfi_endproc
|
||
1598 .LFE136:
|
||
1600 .section .text.amsStartBalancing,"ax",%progbits
|
||
1601 .align 1
|
||
1602 .global amsStartBalancing
|
||
1603 .syntax unified
|
||
1604 .thumb
|
||
1605 .thumb_func
|
||
1607 amsStartBalancing:
|
||
1608 .LFB137:
|
||
157:Core/Src/ADBMS_Abstraction.c ****
|
||
158:Core/Src/ADBMS_Abstraction.c **** uint8 amsStartBalancing(uint8 dutyCycle) { return writeCMD(UNMUTE, NULL, 0); }
|
||
1609 .loc 1 158 42
|
||
1610 .cfi_startproc
|
||
1611 @ args = 0, pretend = 0, frame = 8
|
||
1612 @ frame_needed = 1, uses_anonymous_args = 0
|
||
1613 0000 80B5 push {r7, lr}
|
||
1614 .cfi_def_cfa_offset 8
|
||
1615 .cfi_offset 7, -8
|
||
1616 .cfi_offset 14, -4
|
||
1617 0002 82B0 sub sp, sp, #8
|
||
1618 .cfi_def_cfa_offset 16
|
||
1619 0004 00AF add r7, sp, #0
|
||
1620 .cfi_def_cfa_register 7
|
||
1621 0006 0346 mov r3, r0
|
||
1622 0008 FB71 strb r3, [r7, #7]
|
||
1623 .loc 1 158 51
|
||
1624 000a 0022 movs r2, #0
|
||
1625 000c 0021 movs r1, #0
|
||
1626 000e 2920 movs r0, #41
|
||
1627 0010 FFF7FEFF bl writeCMD
|
||
ARM GAS /tmp/cclV24WD.s page 32
|
||
|
||
|
||
1628 0014 0346 mov r3, r0
|
||
1629 .loc 1 158 78
|
||
1630 0016 1846 mov r0, r3
|
||
1631 0018 0837 adds r7, r7, #8
|
||
1632 .cfi_def_cfa_offset 8
|
||
1633 001a BD46 mov sp, r7
|
||
1634 .cfi_def_cfa_register 13
|
||
1635 @ sp needed
|
||
1636 001c 80BD pop {r7, pc}
|
||
1637 .cfi_endproc
|
||
1638 .LFE137:
|
||
1640 .section .text.amsStopBalancing,"ax",%progbits
|
||
1641 .align 1
|
||
1642 .global amsStopBalancing
|
||
1643 .syntax unified
|
||
1644 .thumb
|
||
1645 .thumb_func
|
||
1647 amsStopBalancing:
|
||
1648 .LFB138:
|
||
159:Core/Src/ADBMS_Abstraction.c ****
|
||
160:Core/Src/ADBMS_Abstraction.c **** uint8 amsStopBalancing() { return writeCMD(MUTE, NULL, 0); }
|
||
1649 .loc 1 160 26
|
||
1650 .cfi_startproc
|
||
1651 @ args = 0, pretend = 0, frame = 0
|
||
1652 @ frame_needed = 1, uses_anonymous_args = 0
|
||
1653 0000 80B5 push {r7, lr}
|
||
1654 .cfi_def_cfa_offset 8
|
||
1655 .cfi_offset 7, -8
|
||
1656 .cfi_offset 14, -4
|
||
1657 0002 00AF add r7, sp, #0
|
||
1658 .cfi_def_cfa_register 7
|
||
1659 .loc 1 160 35
|
||
1660 0004 0022 movs r2, #0
|
||
1661 0006 0021 movs r1, #0
|
||
1662 0008 2820 movs r0, #40
|
||
1663 000a FFF7FEFF bl writeCMD
|
||
1664 000e 0346 mov r3, r0
|
||
1665 .loc 1 160 60
|
||
1666 0010 1846 mov r0, r3
|
||
1667 0012 80BD pop {r7, pc}
|
||
1668 .cfi_endproc
|
||
1669 .LFE138:
|
||
1671 .section .text.amsSelfTest,"ax",%progbits
|
||
1672 .align 1
|
||
1673 .global amsSelfTest
|
||
1674 .syntax unified
|
||
1675 .thumb
|
||
1676 .thumb_func
|
||
1678 amsSelfTest:
|
||
1679 .LFB139:
|
||
161:Core/Src/ADBMS_Abstraction.c ****
|
||
162:Core/Src/ADBMS_Abstraction.c **** uint8 amsSelfTest() { return 0; }
|
||
1680 .loc 1 162 21
|
||
1681 .cfi_startproc
|
||
1682 @ args = 0, pretend = 0, frame = 0
|
||
1683 @ frame_needed = 1, uses_anonymous_args = 0
|
||
1684 @ link register save eliminated.
|
||
ARM GAS /tmp/cclV24WD.s page 33
|
||
|
||
|
||
1685 0000 80B4 push {r7}
|
||
1686 .cfi_def_cfa_offset 4
|
||
1687 .cfi_offset 7, -4
|
||
1688 0002 00AF add r7, sp, #0
|
||
1689 .cfi_def_cfa_register 7
|
||
1690 .loc 1 162 30
|
||
1691 0004 0023 movs r3, #0
|
||
1692 .loc 1 162 33
|
||
1693 0006 1846 mov r0, r3
|
||
1694 0008 BD46 mov sp, r7
|
||
1695 .cfi_def_cfa_register 13
|
||
1696 @ sp needed
|
||
1697 000a 5DF8047B ldr r7, [sp], #4
|
||
1698 .cfi_restore 7
|
||
1699 .cfi_def_cfa_offset 0
|
||
1700 000e 7047 bx lr
|
||
1701 .cfi_endproc
|
||
1702 .LFE139:
|
||
1704 .section .text.amsConfigOverUnderVoltage,"ax",%progbits
|
||
1705 .align 1
|
||
1706 .global amsConfigOverUnderVoltage
|
||
1707 .syntax unified
|
||
1708 .thumb
|
||
1709 .thumb_func
|
||
1711 amsConfigOverUnderVoltage:
|
||
1712 .LFB140:
|
||
163:Core/Src/ADBMS_Abstraction.c ****
|
||
164:Core/Src/ADBMS_Abstraction.c **** uint8 amsConfigOverUnderVoltage(uint16 overVoltage, uint16 underVoltage) {
|
||
1713 .loc 1 164 74
|
||
1714 .cfi_startproc
|
||
1715 @ args = 0, pretend = 0, frame = 16
|
||
1716 @ frame_needed = 1, uses_anonymous_args = 0
|
||
1717 0000 80B5 push {r7, lr}
|
||
1718 .cfi_def_cfa_offset 8
|
||
1719 .cfi_offset 7, -8
|
||
1720 .cfi_offset 14, -4
|
||
1721 0002 84B0 sub sp, sp, #16
|
||
1722 .cfi_def_cfa_offset 24
|
||
1723 0004 00AF add r7, sp, #0
|
||
1724 .cfi_def_cfa_register 7
|
||
1725 0006 0346 mov r3, r0
|
||
1726 0008 0A46 mov r2, r1
|
||
1727 000a FB80 strh r3, [r7, #6] @ movhi
|
||
1728 000c 1346 mov r3, r2 @ movhi
|
||
1729 000e BB80 strh r3, [r7, #4] @ movhi
|
||
165:Core/Src/ADBMS_Abstraction.c **** uint8 buffer[CFG_GROUP_A_SIZE];
|
||
166:Core/Src/ADBMS_Abstraction.c ****
|
||
167:Core/Src/ADBMS_Abstraction.c **** if (underVoltage & 0xF000 || overVoltage & 0xF000) { // only 12 bits allowed
|
||
1730 .loc 1 167 20
|
||
1731 0010 BB88 ldrh r3, [r7, #4]
|
||
1732 0012 03F47043 and r3, r3, #61440
|
||
1733 .loc 1 167 6
|
||
1734 0016 002B cmp r3, #0
|
||
1735 0018 04D1 bne .L84
|
||
1736 .loc 1 167 44 discriminator 1
|
||
1737 001a FB88 ldrh r3, [r7, #6]
|
||
1738 001c 03F47043 and r3, r3, #61440
|
||
ARM GAS /tmp/cclV24WD.s page 34
|
||
|
||
|
||
1739 .loc 1 167 29 discriminator 1
|
||
1740 0020 002B cmp r3, #0
|
||
1741 0022 01D0 beq .L85
|
||
1742 .L84:
|
||
168:Core/Src/ADBMS_Abstraction.c **** return 1;
|
||
1743 .loc 1 168 12
|
||
1744 0024 0123 movs r3, #1
|
||
1745 0026 3CE0 b .L88
|
||
1746 .L85:
|
||
1747 .LBB19:
|
||
169:Core/Src/ADBMS_Abstraction.c **** }
|
||
170:Core/Src/ADBMS_Abstraction.c ****
|
||
171:Core/Src/ADBMS_Abstraction.c **** CHECK_RETURN(readCMD(RDCFGB, buffer, CFG_GROUP_A_SIZE));
|
||
1748 .loc 1 171 3
|
||
1749 0028 07F10803 add r3, r7, #8
|
||
1750 002c 0622 movs r2, #6
|
||
1751 002e 1946 mov r1, r3
|
||
1752 0030 2620 movs r0, #38
|
||
1753 0032 FFF7FEFF bl readCMD
|
||
1754 0036 0346 mov r3, r0
|
||
1755 0038 FB73 strb r3, [r7, #15]
|
||
1756 .loc 1 171 3 is_stmt 0 discriminator 1
|
||
1757 003a FB7B ldrb r3, [r7, #15] @ zero_extendqisi2
|
||
1758 003c 002B cmp r3, #0
|
||
1759 003e 01D0 beq .L87
|
||
1760 0040 FB7B ldrb r3, [r7, #15] @ zero_extendqisi2
|
||
1761 .loc 1 171 3
|
||
1762 0042 2EE0 b .L88
|
||
1763 .L87:
|
||
1764 .LBE19:
|
||
172:Core/Src/ADBMS_Abstraction.c ****
|
||
173:Core/Src/ADBMS_Abstraction.c **** //UV
|
||
174:Core/Src/ADBMS_Abstraction.c **** buffer[0] = (uint8) (underVoltage & 0xFF);
|
||
1765 .loc 1 174 15 is_stmt 1
|
||
1766 0044 BB88 ldrh r3, [r7, #4] @ movhi
|
||
1767 0046 DBB2 uxtb r3, r3
|
||
1768 .loc 1 174 13
|
||
1769 0048 3B72 strb r3, [r7, #8]
|
||
175:Core/Src/ADBMS_Abstraction.c **** buffer[1] &= 0xF0;
|
||
1770 .loc 1 175 9
|
||
1771 004a 7B7A ldrb r3, [r7, #9] @ zero_extendqisi2
|
||
1772 .loc 1 175 13
|
||
1773 004c 23F00F03 bic r3, r3, #15
|
||
1774 0050 DBB2 uxtb r3, r3
|
||
1775 0052 7B72 strb r3, [r7, #9]
|
||
176:Core/Src/ADBMS_Abstraction.c **** buffer[1] |= (uint8) ((underVoltage >> 8) & 0x0F);
|
||
1776 .loc 1 176 9
|
||
1777 0054 7B7A ldrb r3, [r7, #9] @ zero_extendqisi2
|
||
1778 0056 5AB2 sxtb r2, r3
|
||
1779 .loc 1 176 45
|
||
1780 0058 BB88 ldrh r3, [r7, #4]
|
||
1781 005a 1B0A lsrs r3, r3, #8
|
||
1782 005c 9BB2 uxth r3, r3
|
||
1783 005e 5BB2 sxtb r3, r3
|
||
1784 .loc 1 176 16
|
||
1785 0060 03F00F03 and r3, r3, #15
|
||
1786 0064 5BB2 sxtb r3, r3
|
||
ARM GAS /tmp/cclV24WD.s page 35
|
||
|
||
|
||
1787 .loc 1 176 13
|
||
1788 0066 1343 orrs r3, r3, r2
|
||
1789 0068 5BB2 sxtb r3, r3
|
||
1790 006a DBB2 uxtb r3, r3
|
||
1791 006c 7B72 strb r3, [r7, #9]
|
||
177:Core/Src/ADBMS_Abstraction.c ****
|
||
178:Core/Src/ADBMS_Abstraction.c **** //OV
|
||
179:Core/Src/ADBMS_Abstraction.c **** buffer[1] &= 0x0F;
|
||
1792 .loc 1 179 9
|
||
1793 006e 7B7A ldrb r3, [r7, #9] @ zero_extendqisi2
|
||
1794 .loc 1 179 13
|
||
1795 0070 03F00F03 and r3, r3, #15
|
||
1796 0074 DBB2 uxtb r3, r3
|
||
1797 0076 7B72 strb r3, [r7, #9]
|
||
180:Core/Src/ADBMS_Abstraction.c **** buffer[1] |= (uint8) (overVoltage << 4);
|
||
1798 .loc 1 180 9
|
||
1799 0078 7A7A ldrb r2, [r7, #9] @ zero_extendqisi2
|
||
1800 .loc 1 180 16
|
||
1801 007a FB88 ldrh r3, [r7, #6] @ movhi
|
||
1802 007c DBB2 uxtb r3, r3
|
||
1803 007e 1B01 lsls r3, r3, #4
|
||
1804 0080 DBB2 uxtb r3, r3
|
||
1805 .loc 1 180 13
|
||
1806 0082 1343 orrs r3, r3, r2
|
||
1807 0084 DBB2 uxtb r3, r3
|
||
1808 0086 7B72 strb r3, [r7, #9]
|
||
181:Core/Src/ADBMS_Abstraction.c **** buffer[2] = (uint8) (overVoltage >> 4);
|
||
1809 .loc 1 181 15
|
||
1810 0088 FB88 ldrh r3, [r7, #6]
|
||
1811 008a 1B09 lsrs r3, r3, #4
|
||
1812 008c 9BB2 uxth r3, r3
|
||
1813 008e DBB2 uxtb r3, r3
|
||
1814 .loc 1 181 13
|
||
1815 0090 BB72 strb r3, [r7, #10]
|
||
182:Core/Src/ADBMS_Abstraction.c ****
|
||
183:Core/Src/ADBMS_Abstraction.c **** return writeCMD(WRCFGB, buffer, CFG_GROUP_A_SIZE);
|
||
1816 .loc 1 183 10
|
||
1817 0092 07F10803 add r3, r7, #8
|
||
1818 0096 0622 movs r2, #6
|
||
1819 0098 1946 mov r1, r3
|
||
1820 009a 2420 movs r0, #36
|
||
1821 009c FFF7FEFF bl writeCMD
|
||
1822 00a0 0346 mov r3, r0
|
||
1823 .L88:
|
||
184:Core/Src/ADBMS_Abstraction.c **** }
|
||
1824 .loc 1 184 1
|
||
1825 00a2 1846 mov r0, r3
|
||
1826 00a4 1037 adds r7, r7, #16
|
||
1827 .cfi_def_cfa_offset 8
|
||
1828 00a6 BD46 mov sp, r7
|
||
1829 .cfi_def_cfa_register 13
|
||
1830 @ sp needed
|
||
1831 00a8 80BD pop {r7, pc}
|
||
1832 .cfi_endproc
|
||
1833 .LFE140:
|
||
1835 .section .text.amsCheckUnderOverVoltage,"ax",%progbits
|
||
1836 .align 1
|
||
ARM GAS /tmp/cclV24WD.s page 36
|
||
|
||
|
||
1837 .global amsCheckUnderOverVoltage
|
||
1838 .syntax unified
|
||
1839 .thumb
|
||
1840 .thumb_func
|
||
1842 amsCheckUnderOverVoltage:
|
||
1843 .LFB141:
|
||
185:Core/Src/ADBMS_Abstraction.c ****
|
||
186:Core/Src/ADBMS_Abstraction.c **** uint8 amsCheckUnderOverVoltage(Cell_Module* module) {
|
||
1844 .loc 1 186 53
|
||
1845 .cfi_startproc
|
||
1846 @ args = 0, pretend = 0, frame = 24
|
||
1847 @ frame_needed = 1, uses_anonymous_args = 0
|
||
1848 0000 80B5 push {r7, lr}
|
||
1849 .cfi_def_cfa_offset 8
|
||
1850 .cfi_offset 7, -8
|
||
1851 .cfi_offset 14, -4
|
||
1852 0002 86B0 sub sp, sp, #24
|
||
1853 .cfi_def_cfa_offset 32
|
||
1854 0004 00AF add r7, sp, #0
|
||
1855 .cfi_def_cfa_register 7
|
||
1856 0006 7860 str r0, [r7, #4]
|
||
187:Core/Src/ADBMS_Abstraction.c **** uint8 regbuffer[STATUS_GROUP_D_SIZE];
|
||
188:Core/Src/ADBMS_Abstraction.c **** uint32 ov_uv_data = 0;
|
||
1857 .loc 1 188 10
|
||
1858 0008 0023 movs r3, #0
|
||
1859 000a 3B61 str r3, [r7, #16]
|
||
1860 .LBB20:
|
||
189:Core/Src/ADBMS_Abstraction.c **** CHECK_RETURN(readCMD(RDSTATD, regbuffer, STATUS_GROUP_D_SIZE));
|
||
1861 .loc 1 189 3
|
||
1862 000c 07F10803 add r3, r7, #8
|
||
1863 0010 0622 movs r2, #6
|
||
1864 0012 1946 mov r1, r3
|
||
1865 0014 3320 movs r0, #51
|
||
1866 0016 FFF7FEFF bl readCMD
|
||
1867 001a 0346 mov r3, r0
|
||
1868 001c FB73 strb r3, [r7, #15]
|
||
1869 .loc 1 189 3 is_stmt 0 discriminator 1
|
||
1870 001e FB7B ldrb r3, [r7, #15] @ zero_extendqisi2
|
||
1871 0020 002B cmp r3, #0
|
||
1872 0022 01D0 beq .L90
|
||
1873 0024 FB7B ldrb r3, [r7, #15] @ zero_extendqisi2
|
||
1874 .loc 1 189 3
|
||
1875 0026 37E0 b .L94
|
||
1876 .L90:
|
||
1877 .LBE20:
|
||
190:Core/Src/ADBMS_Abstraction.c **** ov_uv_data = (regbuffer[0] << 0) | (regbuffer[1] << 8) |
|
||
1878 .loc 1 190 26 is_stmt 1
|
||
1879 0028 3B7A ldrb r3, [r7, #8] @ zero_extendqisi2
|
||
1880 .loc 1 190 30
|
||
1881 002a 1A46 mov r2, r3
|
||
1882 .loc 1 190 49
|
||
1883 002c 7B7A ldrb r3, [r7, #9] @ zero_extendqisi2
|
||
1884 .loc 1 190 53
|
||
1885 002e 1B02 lsls r3, r3, #8
|
||
1886 .loc 1 190 37
|
||
1887 0030 1A43 orrs r2, r2, r3
|
||
191:Core/Src/ADBMS_Abstraction.c **** (regbuffer[2] << 16) | (regbuffer[3] << 24);
|
||
ARM GAS /tmp/cclV24WD.s page 37
|
||
|
||
|
||
1888 .loc 1 191 26
|
||
1889 0032 BB7A ldrb r3, [r7, #10] @ zero_extendqisi2
|
||
1890 .loc 1 191 30
|
||
1891 0034 1B04 lsls r3, r3, #16
|
||
190:Core/Src/ADBMS_Abstraction.c **** ov_uv_data = (regbuffer[0] << 0) | (regbuffer[1] << 8) |
|
||
1892 .loc 1 190 60
|
||
1893 0036 1A43 orrs r2, r2, r3
|
||
1894 .loc 1 191 49
|
||
1895 0038 FB7A ldrb r3, [r7, #11] @ zero_extendqisi2
|
||
1896 .loc 1 191 53
|
||
1897 003a 1B06 lsls r3, r3, #24
|
||
1898 .loc 1 191 37
|
||
1899 003c 1343 orrs r3, r3, r2
|
||
190:Core/Src/ADBMS_Abstraction.c **** ov_uv_data = (regbuffer[0] << 0) | (regbuffer[1] << 8) |
|
||
1900 .loc 1 190 14
|
||
1901 003e 3B61 str r3, [r7, #16]
|
||
192:Core/Src/ADBMS_Abstraction.c ****
|
||
193:Core/Src/ADBMS_Abstraction.c **** module->overVoltage = 0;
|
||
1902 .loc 1 193 23
|
||
1903 0040 7B68 ldr r3, [r7, #4]
|
||
1904 0042 0022 movs r2, #0
|
||
1905 0044 DA66 str r2, [r3, #108]
|
||
194:Core/Src/ADBMS_Abstraction.c **** module->underVoltage = 0;
|
||
1906 .loc 1 194 24
|
||
1907 0046 7B68 ldr r3, [r7, #4]
|
||
1908 0048 0022 movs r2, #0
|
||
1909 004a 1A67 str r2, [r3, #112]
|
||
1910 .LBB21:
|
||
195:Core/Src/ADBMS_Abstraction.c ****
|
||
196:Core/Src/ADBMS_Abstraction.c **** for (size_t i = 0; i < numberofcells; i++) { // ov/uv flags are 1-bit flags for each cell C0UV, C
|
||
1911 .loc 1 196 15
|
||
1912 004c 0023 movs r3, #0
|
||
1913 004e 7B61 str r3, [r7, #20]
|
||
1914 .loc 1 196 3
|
||
1915 0050 1BE0 b .L92
|
||
1916 .L93:
|
||
197:Core/Src/ADBMS_Abstraction.c **** module->underVoltage |= (ov_uv_data >> (i * 2)) & 0x01;
|
||
1917 .loc 1 197 11
|
||
1918 0052 7B68 ldr r3, [r7, #4]
|
||
1919 0054 1A6F ldr r2, [r3, #112]
|
||
1920 .loc 1 197 47
|
||
1921 0056 7B69 ldr r3, [r7, #20]
|
||
1922 0058 5B00 lsls r3, r3, #1
|
||
1923 .loc 1 197 41
|
||
1924 005a 3969 ldr r1, [r7, #16]
|
||
1925 005c 21FA03F3 lsr r3, r1, r3
|
||
1926 .loc 1 197 53
|
||
1927 0060 03F00103 and r3, r3, #1
|
||
1928 .loc 1 197 26
|
||
1929 0064 1A43 orrs r2, r2, r3
|
||
1930 0066 7B68 ldr r3, [r7, #4]
|
||
1931 0068 1A67 str r2, [r3, #112]
|
||
198:Core/Src/ADBMS_Abstraction.c **** module->overVoltage |= (ov_uv_data >> (i * 2 + 1)) & 0x01;
|
||
1932 .loc 1 198 11
|
||
1933 006a 7B68 ldr r3, [r7, #4]
|
||
1934 006c DA6E ldr r2, [r3, #108]
|
||
1935 .loc 1 198 47
|
||
ARM GAS /tmp/cclV24WD.s page 38
|
||
|
||
|
||
1936 006e 7B69 ldr r3, [r7, #20]
|
||
1937 0070 5B00 lsls r3, r3, #1
|
||
1938 .loc 1 198 51
|
||
1939 0072 0133 adds r3, r3, #1
|
||
1940 .loc 1 198 41
|
||
1941 0074 3969 ldr r1, [r7, #16]
|
||
1942 0076 21FA03F3 lsr r3, r1, r3
|
||
1943 .loc 1 198 57
|
||
1944 007a 03F00103 and r3, r3, #1
|
||
1945 .loc 1 198 26
|
||
1946 007e 1A43 orrs r2, r2, r3
|
||
1947 0080 7B68 ldr r3, [r7, #4]
|
||
1948 0082 DA66 str r2, [r3, #108]
|
||
196:Core/Src/ADBMS_Abstraction.c **** module->underVoltage |= (ov_uv_data >> (i * 2)) & 0x01;
|
||
1949 .loc 1 196 42 discriminator 3
|
||
1950 0084 7B69 ldr r3, [r7, #20]
|
||
1951 0086 0133 adds r3, r3, #1
|
||
1952 0088 7B61 str r3, [r7, #20]
|
||
1953 .L92:
|
||
196:Core/Src/ADBMS_Abstraction.c **** module->underVoltage |= (ov_uv_data >> (i * 2)) & 0x01;
|
||
1954 .loc 1 196 24 discriminator 1
|
||
1955 008a 054B ldr r3, .L95
|
||
1956 008c 1B78 ldrb r3, [r3] @ zero_extendqisi2
|
||
1957 008e 1A46 mov r2, r3
|
||
1958 0090 7B69 ldr r3, [r7, #20]
|
||
1959 0092 9342 cmp r3, r2
|
||
1960 0094 DDD3 bcc .L93
|
||
1961 .LBE21:
|
||
199:Core/Src/ADBMS_Abstraction.c **** }
|
||
200:Core/Src/ADBMS_Abstraction.c ****
|
||
201:Core/Src/ADBMS_Abstraction.c **** return 0;
|
||
1962 .loc 1 201 10
|
||
1963 0096 0023 movs r3, #0
|
||
1964 .L94:
|
||
202:Core/Src/ADBMS_Abstraction.c **** }
|
||
1965 .loc 1 202 1
|
||
1966 0098 1846 mov r0, r3
|
||
1967 009a 1837 adds r7, r7, #24
|
||
1968 .cfi_def_cfa_offset 8
|
||
1969 009c BD46 mov sp, r7
|
||
1970 .cfi_def_cfa_register 13
|
||
1971 @ sp needed
|
||
1972 009e 80BD pop {r7, pc}
|
||
1973 .L96:
|
||
1974 .align 2
|
||
1975 .L95:
|
||
1976 00a0 00000000 .word numberofcells
|
||
1977 .cfi_endproc
|
||
1978 .LFE141:
|
||
1980 .section .text.amsClearAux,"ax",%progbits
|
||
1981 .align 1
|
||
1982 .global amsClearAux
|
||
1983 .syntax unified
|
||
1984 .thumb
|
||
1985 .thumb_func
|
||
1987 amsClearAux:
|
||
1988 .LFB142:
|
||
ARM GAS /tmp/cclV24WD.s page 39
|
||
|
||
|
||
203:Core/Src/ADBMS_Abstraction.c ****
|
||
204:Core/Src/ADBMS_Abstraction.c **** uint8 amsClearAux() {
|
||
1989 .loc 1 204 21
|
||
1990 .cfi_startproc
|
||
1991 @ args = 0, pretend = 0, frame = 0
|
||
1992 @ frame_needed = 1, uses_anonymous_args = 0
|
||
1993 0000 80B5 push {r7, lr}
|
||
1994 .cfi_def_cfa_offset 8
|
||
1995 .cfi_offset 7, -8
|
||
1996 .cfi_offset 14, -4
|
||
1997 0002 00AF add r7, sp, #0
|
||
1998 .cfi_def_cfa_register 7
|
||
205:Core/Src/ADBMS_Abstraction.c **** return writeCMD(CLRAUX, NULL, 0);
|
||
1999 .loc 1 205 10
|
||
2000 0004 0022 movs r2, #0
|
||
2001 0006 0021 movs r1, #0
|
||
2002 0008 40F21270 movw r0, #1810
|
||
2003 000c FFF7FEFF bl writeCMD
|
||
2004 0010 0346 mov r3, r0
|
||
206:Core/Src/ADBMS_Abstraction.c **** }
|
||
2005 .loc 1 206 1
|
||
2006 0012 1846 mov r0, r3
|
||
2007 0014 80BD pop {r7, pc}
|
||
2008 .cfi_endproc
|
||
2009 .LFE142:
|
||
2011 .section .text.amsClearCells,"ax",%progbits
|
||
2012 .align 1
|
||
2013 .global amsClearCells
|
||
2014 .syntax unified
|
||
2015 .thumb
|
||
2016 .thumb_func
|
||
2018 amsClearCells:
|
||
2019 .LFB143:
|
||
207:Core/Src/ADBMS_Abstraction.c ****
|
||
208:Core/Src/ADBMS_Abstraction.c **** uint8 amsClearCells() {
|
||
2020 .loc 1 208 23
|
||
2021 .cfi_startproc
|
||
2022 @ args = 0, pretend = 0, frame = 0
|
||
2023 @ frame_needed = 1, uses_anonymous_args = 0
|
||
2024 0000 80B5 push {r7, lr}
|
||
2025 .cfi_def_cfa_offset 8
|
||
2026 .cfi_offset 7, -8
|
||
2027 .cfi_offset 14, -4
|
||
2028 0002 00AF add r7, sp, #0
|
||
2029 .cfi_def_cfa_register 7
|
||
209:Core/Src/ADBMS_Abstraction.c **** return writeCMD(CLRCELL, NULL, 0);
|
||
2030 .loc 1 209 10
|
||
2031 0004 0022 movs r2, #0
|
||
2032 0006 0021 movs r1, #0
|
||
2033 0008 40F21170 movw r0, #1809
|
||
2034 000c FFF7FEFF bl writeCMD
|
||
2035 0010 0346 mov r3, r0
|
||
210:Core/Src/ADBMS_Abstraction.c **** }
|
||
2036 .loc 1 210 1
|
||
2037 0012 1846 mov r0, r3
|
||
2038 0014 80BD pop {r7, pc}
|
||
2039 .cfi_endproc
|
||
ARM GAS /tmp/cclV24WD.s page 40
|
||
|
||
|
||
2040 .LFE143:
|
||
2042 .global __aeabi_d2iz
|
||
2043 .section .text.amsReadCellVoltages,"ax",%progbits
|
||
2044 .align 1
|
||
2045 .global amsReadCellVoltages
|
||
2046 .syntax unified
|
||
2047 .thumb
|
||
2048 .thumb_func
|
||
2050 amsReadCellVoltages:
|
||
2051 .LFB144:
|
||
211:Core/Src/ADBMS_Abstraction.c ****
|
||
212:Core/Src/ADBMS_Abstraction.c **** uint8 amsReadCellVoltages(Cell_Module* module) {
|
||
2052 .loc 1 212 48
|
||
2053 .cfi_startproc
|
||
2054 @ args = 0, pretend = 0, frame = 24
|
||
2055 @ frame_needed = 1, uses_anonymous_args = 0
|
||
2056 0000 80B5 push {r7, lr}
|
||
2057 .cfi_def_cfa_offset 8
|
||
2058 .cfi_offset 7, -8
|
||
2059 .cfi_offset 14, -4
|
||
2060 0002 86B0 sub sp, sp, #24
|
||
2061 .cfi_def_cfa_offset 32
|
||
2062 0004 00AF add r7, sp, #0
|
||
2063 .cfi_def_cfa_register 7
|
||
2064 0006 7860 str r0, [r7, #4]
|
||
2065 .LBB22:
|
||
213:Core/Src/ADBMS_Abstraction.c **** uint8 rxbuffer[CV_GROUP_A_SIZE];
|
||
214:Core/Src/ADBMS_Abstraction.c **** CHECK_RETURN(readCMD(RDCVA, rxbuffer, CV_GROUP_A_SIZE));
|
||
2066 .loc 1 214 3
|
||
2067 0008 07F10C03 add r3, r7, #12
|
||
2068 000c 0622 movs r2, #6
|
||
2069 000e 1946 mov r1, r3
|
||
2070 0010 0420 movs r0, #4
|
||
2071 0012 FFF7FEFF bl readCMD
|
||
2072 0016 0346 mov r3, r0
|
||
2073 0018 FB75 strb r3, [r7, #23]
|
||
2074 .loc 1 214 3 is_stmt 0 discriminator 1
|
||
2075 001a FB7D ldrb r3, [r7, #23] @ zero_extendqisi2
|
||
2076 001c 002B cmp r3, #0
|
||
2077 001e 01D0 beq .L102
|
||
2078 0020 FB7D ldrb r3, [r7, #23] @ zero_extendqisi2
|
||
2079 .loc 1 214 3
|
||
2080 0022 7CE2 b .L109
|
||
2081 .L102:
|
||
2082 .LBE22:
|
||
215:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[0] = mV_from_ADBMS6830(rxbuffer[0] | (rxbuffer[1] << 8));
|
||
2083 .loc 1 215 29 is_stmt 1
|
||
2084 0024 3B7B ldrb r3, [r7, #12] @ zero_extendqisi2
|
||
2085 0026 1AB2 sxth r2, r3
|
||
2086 0028 7B7B ldrb r3, [r7, #13] @ zero_extendqisi2
|
||
2087 002a 1BB2 sxth r3, r3
|
||
2088 002c 1B02 lsls r3, r3, #8
|
||
2089 002e 1BB2 sxth r3, r3
|
||
2090 0030 1343 orrs r3, r3, r2
|
||
2091 0032 1BB2 sxth r3, r3
|
||
2092 0034 1846 mov r0, r3
|
||
2093 0036 FFF7FEFF bl __aeabi_i2d
|
||
ARM GAS /tmp/cclV24WD.s page 41
|
||
|
||
|
||
2094 003a 0FF2EC43 adr r3, .L110
|
||
2095 003e D3E90023 ldrd r2, [r3]
|
||
2096 0042 FFF7FEFF bl __aeabi_dmul
|
||
2097 0046 0246 mov r2, r0
|
||
2098 0048 0B46 mov r3, r1
|
||
2099 004a 1046 mov r0, r2
|
||
2100 004c 1946 mov r1, r3
|
||
2101 004e 0FF2E043 adr r3, .L110+8
|
||
2102 0052 D3E90023 ldrd r2, [r3]
|
||
2103 0056 FFF7FEFF bl __aeabi_dadd
|
||
2104 005a 0246 mov r2, r0
|
||
2105 005c 0B46 mov r3, r1
|
||
2106 .loc 1 215 27
|
||
2107 005e 1046 mov r0, r2
|
||
2108 0060 1946 mov r1, r3
|
||
2109 0062 FFF7FEFF bl __aeabi_d2iz
|
||
2110 0066 0346 mov r3, r0
|
||
2111 0068 1AB2 sxth r2, r3
|
||
2112 006a 7B68 ldr r3, [r7, #4]
|
||
2113 006c 1A80 strh r2, [r3] @ movhi
|
||
216:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[1] = mV_from_ADBMS6830(rxbuffer[2] | (rxbuffer[3] << 8));
|
||
2114 .loc 1 216 29
|
||
2115 006e BB7B ldrb r3, [r7, #14] @ zero_extendqisi2
|
||
2116 0070 1AB2 sxth r2, r3
|
||
2117 0072 FB7B ldrb r3, [r7, #15] @ zero_extendqisi2
|
||
2118 0074 1BB2 sxth r3, r3
|
||
2119 0076 1B02 lsls r3, r3, #8
|
||
2120 0078 1BB2 sxth r3, r3
|
||
2121 007a 1343 orrs r3, r3, r2
|
||
2122 007c 1BB2 sxth r3, r3
|
||
2123 007e 1846 mov r0, r3
|
||
2124 0080 FFF7FEFF bl __aeabi_i2d
|
||
2125 0084 0FF2A043 adr r3, .L110
|
||
2126 0088 D3E90023 ldrd r2, [r3]
|
||
2127 008c FFF7FEFF bl __aeabi_dmul
|
||
2128 0090 0246 mov r2, r0
|
||
2129 0092 0B46 mov r3, r1
|
||
2130 0094 1046 mov r0, r2
|
||
2131 0096 1946 mov r1, r3
|
||
2132 0098 0FF29443 adr r3, .L110+8
|
||
2133 009c D3E90023 ldrd r2, [r3]
|
||
2134 00a0 FFF7FEFF bl __aeabi_dadd
|
||
2135 00a4 0246 mov r2, r0
|
||
2136 00a6 0B46 mov r3, r1
|
||
2137 .loc 1 216 27
|
||
2138 00a8 1046 mov r0, r2
|
||
2139 00aa 1946 mov r1, r3
|
||
2140 00ac FFF7FEFF bl __aeabi_d2iz
|
||
2141 00b0 0346 mov r3, r0
|
||
2142 00b2 1AB2 sxth r2, r3
|
||
2143 00b4 7B68 ldr r3, [r7, #4]
|
||
2144 00b6 5A80 strh r2, [r3, #2] @ movhi
|
||
217:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[2] = mV_from_ADBMS6830(rxbuffer[4] | (rxbuffer[5] << 8));
|
||
2145 .loc 1 217 29
|
||
2146 00b8 3B7C ldrb r3, [r7, #16] @ zero_extendqisi2
|
||
2147 00ba 1AB2 sxth r2, r3
|
||
2148 00bc 7B7C ldrb r3, [r7, #17] @ zero_extendqisi2
|
||
ARM GAS /tmp/cclV24WD.s page 42
|
||
|
||
|
||
2149 00be 1BB2 sxth r3, r3
|
||
2150 00c0 1B02 lsls r3, r3, #8
|
||
2151 00c2 1BB2 sxth r3, r3
|
||
2152 00c4 1343 orrs r3, r3, r2
|
||
2153 00c6 1BB2 sxth r3, r3
|
||
2154 00c8 1846 mov r0, r3
|
||
2155 00ca FFF7FEFF bl __aeabi_i2d
|
||
2156 00ce 0FF25843 adr r3, .L110
|
||
2157 00d2 D3E90023 ldrd r2, [r3]
|
||
2158 00d6 FFF7FEFF bl __aeabi_dmul
|
||
2159 00da 0246 mov r2, r0
|
||
2160 00dc 0B46 mov r3, r1
|
||
2161 00de 1046 mov r0, r2
|
||
2162 00e0 1946 mov r1, r3
|
||
2163 00e2 0FF24C43 adr r3, .L110+8
|
||
2164 00e6 D3E90023 ldrd r2, [r3]
|
||
2165 00ea FFF7FEFF bl __aeabi_dadd
|
||
2166 00ee 0246 mov r2, r0
|
||
2167 00f0 0B46 mov r3, r1
|
||
2168 .loc 1 217 27
|
||
2169 00f2 1046 mov r0, r2
|
||
2170 00f4 1946 mov r1, r3
|
||
2171 00f6 FFF7FEFF bl __aeabi_d2iz
|
||
2172 00fa 0346 mov r3, r0
|
||
2173 00fc 1AB2 sxth r2, r3
|
||
2174 00fe 7B68 ldr r3, [r7, #4]
|
||
2175 0100 9A80 strh r2, [r3, #4] @ movhi
|
||
2176 .LBB23:
|
||
218:Core/Src/ADBMS_Abstraction.c ****
|
||
219:Core/Src/ADBMS_Abstraction.c **** CHECK_RETURN(readCMD(RDCVB, rxbuffer, CV_GROUP_A_SIZE));
|
||
2177 .loc 1 219 3
|
||
2178 0102 07F10C03 add r3, r7, #12
|
||
2179 0106 0622 movs r2, #6
|
||
2180 0108 1946 mov r1, r3
|
||
2181 010a 0620 movs r0, #6
|
||
2182 010c FFF7FEFF bl readCMD
|
||
2183 0110 0346 mov r3, r0
|
||
2184 0112 BB75 strb r3, [r7, #22]
|
||
2185 .loc 1 219 3 is_stmt 0 discriminator 1
|
||
2186 0114 BB7D ldrb r3, [r7, #22] @ zero_extendqisi2
|
||
2187 0116 002B cmp r3, #0
|
||
2188 0118 01D0 beq .L104
|
||
2189 011a BB7D ldrb r3, [r7, #22] @ zero_extendqisi2
|
||
2190 .loc 1 219 3
|
||
2191 011c FFE1 b .L109
|
||
2192 .L104:
|
||
2193 .LBE23:
|
||
220:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[3] = mV_from_ADBMS6830(rxbuffer[0] | (rxbuffer[1] << 8));
|
||
2194 .loc 1 220 29 is_stmt 1
|
||
2195 011e 3B7B ldrb r3, [r7, #12] @ zero_extendqisi2
|
||
2196 0120 1AB2 sxth r2, r3
|
||
2197 0122 7B7B ldrb r3, [r7, #13] @ zero_extendqisi2
|
||
2198 0124 1BB2 sxth r3, r3
|
||
2199 0126 1B02 lsls r3, r3, #8
|
||
2200 0128 1BB2 sxth r3, r3
|
||
2201 012a 1343 orrs r3, r3, r2
|
||
2202 012c 1BB2 sxth r3, r3
|
||
ARM GAS /tmp/cclV24WD.s page 43
|
||
|
||
|
||
2203 012e 1846 mov r0, r3
|
||
2204 0130 FFF7FEFF bl __aeabi_i2d
|
||
2205 0134 FCA3 adr r3, .L110
|
||
2206 0136 D3E90023 ldrd r2, [r3]
|
||
2207 013a FFF7FEFF bl __aeabi_dmul
|
||
2208 013e 0246 mov r2, r0
|
||
2209 0140 0B46 mov r3, r1
|
||
2210 0142 1046 mov r0, r2
|
||
2211 0144 1946 mov r1, r3
|
||
2212 0146 FAA3 adr r3, .L110+8
|
||
2213 0148 D3E90023 ldrd r2, [r3]
|
||
2214 014c FFF7FEFF bl __aeabi_dadd
|
||
2215 0150 0246 mov r2, r0
|
||
2216 0152 0B46 mov r3, r1
|
||
2217 .loc 1 220 27
|
||
2218 0154 1046 mov r0, r2
|
||
2219 0156 1946 mov r1, r3
|
||
2220 0158 FFF7FEFF bl __aeabi_d2iz
|
||
2221 015c 0346 mov r3, r0
|
||
2222 015e 1AB2 sxth r2, r3
|
||
2223 0160 7B68 ldr r3, [r7, #4]
|
||
2224 0162 DA80 strh r2, [r3, #6] @ movhi
|
||
221:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[4] = mV_from_ADBMS6830(rxbuffer[2] | (rxbuffer[3] << 8));
|
||
2225 .loc 1 221 29
|
||
2226 0164 BB7B ldrb r3, [r7, #14] @ zero_extendqisi2
|
||
2227 0166 1AB2 sxth r2, r3
|
||
2228 0168 FB7B ldrb r3, [r7, #15] @ zero_extendqisi2
|
||
2229 016a 1BB2 sxth r3, r3
|
||
2230 016c 1B02 lsls r3, r3, #8
|
||
2231 016e 1BB2 sxth r3, r3
|
||
2232 0170 1343 orrs r3, r3, r2
|
||
2233 0172 1BB2 sxth r3, r3
|
||
2234 0174 1846 mov r0, r3
|
||
2235 0176 FFF7FEFF bl __aeabi_i2d
|
||
2236 017a EBA3 adr r3, .L110
|
||
2237 017c D3E90023 ldrd r2, [r3]
|
||
2238 0180 FFF7FEFF bl __aeabi_dmul
|
||
2239 0184 0246 mov r2, r0
|
||
2240 0186 0B46 mov r3, r1
|
||
2241 0188 1046 mov r0, r2
|
||
2242 018a 1946 mov r1, r3
|
||
2243 018c E8A3 adr r3, .L110+8
|
||
2244 018e D3E90023 ldrd r2, [r3]
|
||
2245 0192 FFF7FEFF bl __aeabi_dadd
|
||
2246 0196 0246 mov r2, r0
|
||
2247 0198 0B46 mov r3, r1
|
||
2248 .loc 1 221 27
|
||
2249 019a 1046 mov r0, r2
|
||
2250 019c 1946 mov r1, r3
|
||
2251 019e FFF7FEFF bl __aeabi_d2iz
|
||
2252 01a2 0346 mov r3, r0
|
||
2253 01a4 1AB2 sxth r2, r3
|
||
2254 01a6 7B68 ldr r3, [r7, #4]
|
||
2255 01a8 1A81 strh r2, [r3, #8] @ movhi
|
||
222:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[5] = mV_from_ADBMS6830(rxbuffer[4] | (rxbuffer[5] << 8));
|
||
2256 .loc 1 222 29
|
||
2257 01aa 3B7C ldrb r3, [r7, #16] @ zero_extendqisi2
|
||
ARM GAS /tmp/cclV24WD.s page 44
|
||
|
||
|
||
2258 01ac 1AB2 sxth r2, r3
|
||
2259 01ae 7B7C ldrb r3, [r7, #17] @ zero_extendqisi2
|
||
2260 01b0 1BB2 sxth r3, r3
|
||
2261 01b2 1B02 lsls r3, r3, #8
|
||
2262 01b4 1BB2 sxth r3, r3
|
||
2263 01b6 1343 orrs r3, r3, r2
|
||
2264 01b8 1BB2 sxth r3, r3
|
||
2265 01ba 1846 mov r0, r3
|
||
2266 01bc FFF7FEFF bl __aeabi_i2d
|
||
2267 01c0 D9A3 adr r3, .L110
|
||
2268 01c2 D3E90023 ldrd r2, [r3]
|
||
2269 01c6 FFF7FEFF bl __aeabi_dmul
|
||
2270 01ca 0246 mov r2, r0
|
||
2271 01cc 0B46 mov r3, r1
|
||
2272 01ce 1046 mov r0, r2
|
||
2273 01d0 1946 mov r1, r3
|
||
2274 01d2 D7A3 adr r3, .L110+8
|
||
2275 01d4 D3E90023 ldrd r2, [r3]
|
||
2276 01d8 FFF7FEFF bl __aeabi_dadd
|
||
2277 01dc 0246 mov r2, r0
|
||
2278 01de 0B46 mov r3, r1
|
||
2279 .loc 1 222 27
|
||
2280 01e0 1046 mov r0, r2
|
||
2281 01e2 1946 mov r1, r3
|
||
2282 01e4 FFF7FEFF bl __aeabi_d2iz
|
||
2283 01e8 0346 mov r3, r0
|
||
2284 01ea 1AB2 sxth r2, r3
|
||
2285 01ec 7B68 ldr r3, [r7, #4]
|
||
2286 01ee 5A81 strh r2, [r3, #10] @ movhi
|
||
2287 .LBB24:
|
||
223:Core/Src/ADBMS_Abstraction.c ****
|
||
224:Core/Src/ADBMS_Abstraction.c **** CHECK_RETURN(readCMD(RDCVC, rxbuffer, CV_GROUP_A_SIZE));
|
||
2288 .loc 1 224 3
|
||
2289 01f0 07F10C03 add r3, r7, #12
|
||
2290 01f4 0622 movs r2, #6
|
||
2291 01f6 1946 mov r1, r3
|
||
2292 01f8 0820 movs r0, #8
|
||
2293 01fa FFF7FEFF bl readCMD
|
||
2294 01fe 0346 mov r3, r0
|
||
2295 0200 7B75 strb r3, [r7, #21]
|
||
2296 .loc 1 224 3 is_stmt 0 discriminator 1
|
||
2297 0202 7B7D ldrb r3, [r7, #21] @ zero_extendqisi2
|
||
2298 0204 002B cmp r3, #0
|
||
2299 0206 01D0 beq .L105
|
||
2300 0208 7B7D ldrb r3, [r7, #21] @ zero_extendqisi2
|
||
2301 .loc 1 224 3
|
||
2302 020a 88E1 b .L109
|
||
2303 .L105:
|
||
2304 .LBE24:
|
||
225:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[6] = mV_from_ADBMS6830(rxbuffer[0] | (rxbuffer[1] << 8));
|
||
2305 .loc 1 225 29 is_stmt 1
|
||
2306 020c 3B7B ldrb r3, [r7, #12] @ zero_extendqisi2
|
||
2307 020e 1AB2 sxth r2, r3
|
||
2308 0210 7B7B ldrb r3, [r7, #13] @ zero_extendqisi2
|
||
2309 0212 1BB2 sxth r3, r3
|
||
2310 0214 1B02 lsls r3, r3, #8
|
||
2311 0216 1BB2 sxth r3, r3
|
||
ARM GAS /tmp/cclV24WD.s page 45
|
||
|
||
|
||
2312 0218 1343 orrs r3, r3, r2
|
||
2313 021a 1BB2 sxth r3, r3
|
||
2314 021c 1846 mov r0, r3
|
||
2315 021e FFF7FEFF bl __aeabi_i2d
|
||
2316 0222 C1A3 adr r3, .L110
|
||
2317 0224 D3E90023 ldrd r2, [r3]
|
||
2318 0228 FFF7FEFF bl __aeabi_dmul
|
||
2319 022c 0246 mov r2, r0
|
||
2320 022e 0B46 mov r3, r1
|
||
2321 0230 1046 mov r0, r2
|
||
2322 0232 1946 mov r1, r3
|
||
2323 0234 BEA3 adr r3, .L110+8
|
||
2324 0236 D3E90023 ldrd r2, [r3]
|
||
2325 023a FFF7FEFF bl __aeabi_dadd
|
||
2326 023e 0246 mov r2, r0
|
||
2327 0240 0B46 mov r3, r1
|
||
2328 .loc 1 225 27
|
||
2329 0242 1046 mov r0, r2
|
||
2330 0244 1946 mov r1, r3
|
||
2331 0246 FFF7FEFF bl __aeabi_d2iz
|
||
2332 024a 0346 mov r3, r0
|
||
2333 024c 1AB2 sxth r2, r3
|
||
2334 024e 7B68 ldr r3, [r7, #4]
|
||
2335 0250 9A81 strh r2, [r3, #12] @ movhi
|
||
226:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[7] = mV_from_ADBMS6830(rxbuffer[2] | (rxbuffer[3] << 8));
|
||
2336 .loc 1 226 29
|
||
2337 0252 BB7B ldrb r3, [r7, #14] @ zero_extendqisi2
|
||
2338 0254 1AB2 sxth r2, r3
|
||
2339 0256 FB7B ldrb r3, [r7, #15] @ zero_extendqisi2
|
||
2340 0258 1BB2 sxth r3, r3
|
||
2341 025a 1B02 lsls r3, r3, #8
|
||
2342 025c 1BB2 sxth r3, r3
|
||
2343 025e 1343 orrs r3, r3, r2
|
||
2344 0260 1BB2 sxth r3, r3
|
||
2345 0262 1846 mov r0, r3
|
||
2346 0264 FFF7FEFF bl __aeabi_i2d
|
||
2347 0268 AFA3 adr r3, .L110
|
||
2348 026a D3E90023 ldrd r2, [r3]
|
||
2349 026e FFF7FEFF bl __aeabi_dmul
|
||
2350 0272 0246 mov r2, r0
|
||
2351 0274 0B46 mov r3, r1
|
||
2352 0276 1046 mov r0, r2
|
||
2353 0278 1946 mov r1, r3
|
||
2354 027a ADA3 adr r3, .L110+8
|
||
2355 027c D3E90023 ldrd r2, [r3]
|
||
2356 0280 FFF7FEFF bl __aeabi_dadd
|
||
2357 0284 0246 mov r2, r0
|
||
2358 0286 0B46 mov r3, r1
|
||
2359 .loc 1 226 27
|
||
2360 0288 1046 mov r0, r2
|
||
2361 028a 1946 mov r1, r3
|
||
2362 028c FFF7FEFF bl __aeabi_d2iz
|
||
2363 0290 0346 mov r3, r0
|
||
2364 0292 1AB2 sxth r2, r3
|
||
2365 0294 7B68 ldr r3, [r7, #4]
|
||
2366 0296 DA81 strh r2, [r3, #14] @ movhi
|
||
227:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[8] = mV_from_ADBMS6830(rxbuffer[4] | (rxbuffer[5] << 8));
|
||
ARM GAS /tmp/cclV24WD.s page 46
|
||
|
||
|
||
2367 .loc 1 227 29
|
||
2368 0298 3B7C ldrb r3, [r7, #16] @ zero_extendqisi2
|
||
2369 029a 1AB2 sxth r2, r3
|
||
2370 029c 7B7C ldrb r3, [r7, #17] @ zero_extendqisi2
|
||
2371 029e 1BB2 sxth r3, r3
|
||
2372 02a0 1B02 lsls r3, r3, #8
|
||
2373 02a2 1BB2 sxth r3, r3
|
||
2374 02a4 1343 orrs r3, r3, r2
|
||
2375 02a6 1BB2 sxth r3, r3
|
||
2376 02a8 1846 mov r0, r3
|
||
2377 02aa FFF7FEFF bl __aeabi_i2d
|
||
2378 02ae 9EA3 adr r3, .L110
|
||
2379 02b0 D3E90023 ldrd r2, [r3]
|
||
2380 02b4 FFF7FEFF bl __aeabi_dmul
|
||
2381 02b8 0246 mov r2, r0
|
||
2382 02ba 0B46 mov r3, r1
|
||
2383 02bc 1046 mov r0, r2
|
||
2384 02be 1946 mov r1, r3
|
||
2385 02c0 9BA3 adr r3, .L110+8
|
||
2386 02c2 D3E90023 ldrd r2, [r3]
|
||
2387 02c6 FFF7FEFF bl __aeabi_dadd
|
||
2388 02ca 0246 mov r2, r0
|
||
2389 02cc 0B46 mov r3, r1
|
||
2390 .loc 1 227 27
|
||
2391 02ce 1046 mov r0, r2
|
||
2392 02d0 1946 mov r1, r3
|
||
2393 02d2 FFF7FEFF bl __aeabi_d2iz
|
||
2394 02d6 0346 mov r3, r0
|
||
2395 02d8 1AB2 sxth r2, r3
|
||
2396 02da 7B68 ldr r3, [r7, #4]
|
||
2397 02dc 1A82 strh r2, [r3, #16] @ movhi
|
||
2398 .LBB25:
|
||
228:Core/Src/ADBMS_Abstraction.c ****
|
||
229:Core/Src/ADBMS_Abstraction.c **** CHECK_RETURN(readCMD(RDCVD, rxbuffer, CV_GROUP_A_SIZE));
|
||
2399 .loc 1 229 3
|
||
2400 02de 07F10C03 add r3, r7, #12
|
||
2401 02e2 0622 movs r2, #6
|
||
2402 02e4 1946 mov r1, r3
|
||
2403 02e6 0A20 movs r0, #10
|
||
2404 02e8 FFF7FEFF bl readCMD
|
||
2405 02ec 0346 mov r3, r0
|
||
2406 02ee 3B75 strb r3, [r7, #20]
|
||
2407 .loc 1 229 3 is_stmt 0 discriminator 1
|
||
2408 02f0 3B7D ldrb r3, [r7, #20] @ zero_extendqisi2
|
||
2409 02f2 002B cmp r3, #0
|
||
2410 02f4 01D0 beq .L106
|
||
2411 02f6 3B7D ldrb r3, [r7, #20] @ zero_extendqisi2
|
||
2412 .loc 1 229 3
|
||
2413 02f8 11E1 b .L109
|
||
2414 .L106:
|
||
2415 .LBE25:
|
||
230:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[9] = mV_from_ADBMS6830(rxbuffer[0] | (rxbuffer[1] << 8));
|
||
2416 .loc 1 230 30 is_stmt 1
|
||
2417 02fa 3B7B ldrb r3, [r7, #12] @ zero_extendqisi2
|
||
2418 02fc 1AB2 sxth r2, r3
|
||
2419 02fe 7B7B ldrb r3, [r7, #13] @ zero_extendqisi2
|
||
2420 0300 1BB2 sxth r3, r3
|
||
ARM GAS /tmp/cclV24WD.s page 47
|
||
|
||
|
||
2421 0302 1B02 lsls r3, r3, #8
|
||
2422 0304 1BB2 sxth r3, r3
|
||
2423 0306 1343 orrs r3, r3, r2
|
||
2424 0308 1BB2 sxth r3, r3
|
||
2425 030a 1846 mov r0, r3
|
||
2426 030c FFF7FEFF bl __aeabi_i2d
|
||
2427 0310 85A3 adr r3, .L110
|
||
2428 0312 D3E90023 ldrd r2, [r3]
|
||
2429 0316 FFF7FEFF bl __aeabi_dmul
|
||
2430 031a 0246 mov r2, r0
|
||
2431 031c 0B46 mov r3, r1
|
||
2432 031e 1046 mov r0, r2
|
||
2433 0320 1946 mov r1, r3
|
||
2434 0322 83A3 adr r3, .L110+8
|
||
2435 0324 D3E90023 ldrd r2, [r3]
|
||
2436 0328 FFF7FEFF bl __aeabi_dadd
|
||
2437 032c 0246 mov r2, r0
|
||
2438 032e 0B46 mov r3, r1
|
||
2439 .loc 1 230 28
|
||
2440 0330 1046 mov r0, r2
|
||
2441 0332 1946 mov r1, r3
|
||
2442 0334 FFF7FEFF bl __aeabi_d2iz
|
||
2443 0338 0346 mov r3, r0
|
||
2444 033a 1AB2 sxth r2, r3
|
||
2445 033c 7B68 ldr r3, [r7, #4]
|
||
2446 033e 5A82 strh r2, [r3, #18] @ movhi
|
||
231:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[10] = mV_from_ADBMS6830(rxbuffer[2] | (rxbuffer[3] << 8));
|
||
2447 .loc 1 231 30
|
||
2448 0340 BB7B ldrb r3, [r7, #14] @ zero_extendqisi2
|
||
2449 0342 1AB2 sxth r2, r3
|
||
2450 0344 FB7B ldrb r3, [r7, #15] @ zero_extendqisi2
|
||
2451 0346 1BB2 sxth r3, r3
|
||
2452 0348 1B02 lsls r3, r3, #8
|
||
2453 034a 1BB2 sxth r3, r3
|
||
2454 034c 1343 orrs r3, r3, r2
|
||
2455 034e 1BB2 sxth r3, r3
|
||
2456 0350 1846 mov r0, r3
|
||
2457 0352 FFF7FEFF bl __aeabi_i2d
|
||
2458 0356 74A3 adr r3, .L110
|
||
2459 0358 D3E90023 ldrd r2, [r3]
|
||
2460 035c FFF7FEFF bl __aeabi_dmul
|
||
2461 0360 0246 mov r2, r0
|
||
2462 0362 0B46 mov r3, r1
|
||
2463 0364 1046 mov r0, r2
|
||
2464 0366 1946 mov r1, r3
|
||
2465 0368 71A3 adr r3, .L110+8
|
||
2466 036a D3E90023 ldrd r2, [r3]
|
||
2467 036e FFF7FEFF bl __aeabi_dadd
|
||
2468 0372 0246 mov r2, r0
|
||
2469 0374 0B46 mov r3, r1
|
||
2470 .loc 1 231 28
|
||
2471 0376 1046 mov r0, r2
|
||
2472 0378 1946 mov r1, r3
|
||
2473 037a FFF7FEFF bl __aeabi_d2iz
|
||
2474 037e 0346 mov r3, r0
|
||
2475 0380 1AB2 sxth r2, r3
|
||
2476 0382 7B68 ldr r3, [r7, #4]
|
||
ARM GAS /tmp/cclV24WD.s page 48
|
||
|
||
|
||
2477 0384 9A82 strh r2, [r3, #20] @ movhi
|
||
232:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[11] = mV_from_ADBMS6830(rxbuffer[4] | (rxbuffer[5] << 8));
|
||
2478 .loc 1 232 30
|
||
2479 0386 3B7C ldrb r3, [r7, #16] @ zero_extendqisi2
|
||
2480 0388 1AB2 sxth r2, r3
|
||
2481 038a 7B7C ldrb r3, [r7, #17] @ zero_extendqisi2
|
||
2482 038c 1BB2 sxth r3, r3
|
||
2483 038e 1B02 lsls r3, r3, #8
|
||
2484 0390 1BB2 sxth r3, r3
|
||
2485 0392 1343 orrs r3, r3, r2
|
||
2486 0394 1BB2 sxth r3, r3
|
||
2487 0396 1846 mov r0, r3
|
||
2488 0398 FFF7FEFF bl __aeabi_i2d
|
||
2489 039c 62A3 adr r3, .L110
|
||
2490 039e D3E90023 ldrd r2, [r3]
|
||
2491 03a2 FFF7FEFF bl __aeabi_dmul
|
||
2492 03a6 0246 mov r2, r0
|
||
2493 03a8 0B46 mov r3, r1
|
||
2494 03aa 1046 mov r0, r2
|
||
2495 03ac 1946 mov r1, r3
|
||
2496 03ae 60A3 adr r3, .L110+8
|
||
2497 03b0 D3E90023 ldrd r2, [r3]
|
||
2498 03b4 FFF7FEFF bl __aeabi_dadd
|
||
2499 03b8 0246 mov r2, r0
|
||
2500 03ba 0B46 mov r3, r1
|
||
2501 .loc 1 232 28
|
||
2502 03bc 1046 mov r0, r2
|
||
2503 03be 1946 mov r1, r3
|
||
2504 03c0 FFF7FEFF bl __aeabi_d2iz
|
||
2505 03c4 0346 mov r3, r0
|
||
2506 03c6 1AB2 sxth r2, r3
|
||
2507 03c8 7B68 ldr r3, [r7, #4]
|
||
2508 03ca DA82 strh r2, [r3, #22] @ movhi
|
||
2509 .LBB26:
|
||
233:Core/Src/ADBMS_Abstraction.c ****
|
||
234:Core/Src/ADBMS_Abstraction.c **** CHECK_RETURN(readCMD(RDCVE, rxbuffer, CV_GROUP_A_SIZE));
|
||
2510 .loc 1 234 3
|
||
2511 03cc 07F10C03 add r3, r7, #12
|
||
2512 03d0 0622 movs r2, #6
|
||
2513 03d2 1946 mov r1, r3
|
||
2514 03d4 0920 movs r0, #9
|
||
2515 03d6 FFF7FEFF bl readCMD
|
||
2516 03da 0346 mov r3, r0
|
||
2517 03dc FB74 strb r3, [r7, #19]
|
||
2518 .loc 1 234 3 is_stmt 0 discriminator 1
|
||
2519 03de FB7C ldrb r3, [r7, #19] @ zero_extendqisi2
|
||
2520 03e0 002B cmp r3, #0
|
||
2521 03e2 01D0 beq .L107
|
||
2522 03e4 FB7C ldrb r3, [r7, #19] @ zero_extendqisi2
|
||
2523 .loc 1 234 3
|
||
2524 03e6 9AE0 b .L109
|
||
2525 .L107:
|
||
2526 .LBE26:
|
||
235:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[12] = mV_from_ADBMS6830(rxbuffer[0] | (rxbuffer[1] << 8));
|
||
2527 .loc 1 235 30 is_stmt 1
|
||
2528 03e8 3B7B ldrb r3, [r7, #12] @ zero_extendqisi2
|
||
2529 03ea 1AB2 sxth r2, r3
|
||
ARM GAS /tmp/cclV24WD.s page 49
|
||
|
||
|
||
2530 03ec 7B7B ldrb r3, [r7, #13] @ zero_extendqisi2
|
||
2531 03ee 1BB2 sxth r3, r3
|
||
2532 03f0 1B02 lsls r3, r3, #8
|
||
2533 03f2 1BB2 sxth r3, r3
|
||
2534 03f4 1343 orrs r3, r3, r2
|
||
2535 03f6 1BB2 sxth r3, r3
|
||
2536 03f8 1846 mov r0, r3
|
||
2537 03fa FFF7FEFF bl __aeabi_i2d
|
||
2538 03fe 4AA3 adr r3, .L110
|
||
2539 0400 D3E90023 ldrd r2, [r3]
|
||
2540 0404 FFF7FEFF bl __aeabi_dmul
|
||
2541 0408 0246 mov r2, r0
|
||
2542 040a 0B46 mov r3, r1
|
||
2543 040c 1046 mov r0, r2
|
||
2544 040e 1946 mov r1, r3
|
||
2545 0410 47A3 adr r3, .L110+8
|
||
2546 0412 D3E90023 ldrd r2, [r3]
|
||
2547 0416 FFF7FEFF bl __aeabi_dadd
|
||
2548 041a 0246 mov r2, r0
|
||
2549 041c 0B46 mov r3, r1
|
||
2550 .loc 1 235 28
|
||
2551 041e 1046 mov r0, r2
|
||
2552 0420 1946 mov r1, r3
|
||
2553 0422 FFF7FEFF bl __aeabi_d2iz
|
||
2554 0426 0346 mov r3, r0
|
||
2555 0428 1AB2 sxth r2, r3
|
||
2556 042a 7B68 ldr r3, [r7, #4]
|
||
2557 042c 1A83 strh r2, [r3, #24] @ movhi
|
||
236:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[13] = mV_from_ADBMS6830(rxbuffer[2] | (rxbuffer[3] << 8));
|
||
2558 .loc 1 236 30
|
||
2559 042e BB7B ldrb r3, [r7, #14] @ zero_extendqisi2
|
||
2560 0430 1AB2 sxth r2, r3
|
||
2561 0432 FB7B ldrb r3, [r7, #15] @ zero_extendqisi2
|
||
2562 0434 1BB2 sxth r3, r3
|
||
2563 0436 1B02 lsls r3, r3, #8
|
||
2564 0438 1BB2 sxth r3, r3
|
||
2565 043a 1343 orrs r3, r3, r2
|
||
2566 043c 1BB2 sxth r3, r3
|
||
2567 043e 1846 mov r0, r3
|
||
2568 0440 FFF7FEFF bl __aeabi_i2d
|
||
2569 0444 38A3 adr r3, .L110
|
||
2570 0446 D3E90023 ldrd r2, [r3]
|
||
2571 044a FFF7FEFF bl __aeabi_dmul
|
||
2572 044e 0246 mov r2, r0
|
||
2573 0450 0B46 mov r3, r1
|
||
2574 0452 1046 mov r0, r2
|
||
2575 0454 1946 mov r1, r3
|
||
2576 0456 36A3 adr r3, .L110+8
|
||
2577 0458 D3E90023 ldrd r2, [r3]
|
||
2578 045c FFF7FEFF bl __aeabi_dadd
|
||
2579 0460 0246 mov r2, r0
|
||
2580 0462 0B46 mov r3, r1
|
||
2581 .loc 1 236 28
|
||
2582 0464 1046 mov r0, r2
|
||
2583 0466 1946 mov r1, r3
|
||
2584 0468 FFF7FEFF bl __aeabi_d2iz
|
||
2585 046c 0346 mov r3, r0
|
||
ARM GAS /tmp/cclV24WD.s page 50
|
||
|
||
|
||
2586 046e 1AB2 sxth r2, r3
|
||
2587 0470 7B68 ldr r3, [r7, #4]
|
||
2588 0472 5A83 strh r2, [r3, #26] @ movhi
|
||
237:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[14] = mV_from_ADBMS6830(rxbuffer[4] | (rxbuffer[5] << 8));
|
||
2589 .loc 1 237 30
|
||
2590 0474 3B7C ldrb r3, [r7, #16] @ zero_extendqisi2
|
||
2591 0476 1AB2 sxth r2, r3
|
||
2592 0478 7B7C ldrb r3, [r7, #17] @ zero_extendqisi2
|
||
2593 047a 1BB2 sxth r3, r3
|
||
2594 047c 1B02 lsls r3, r3, #8
|
||
2595 047e 1BB2 sxth r3, r3
|
||
2596 0480 1343 orrs r3, r3, r2
|
||
2597 0482 1BB2 sxth r3, r3
|
||
2598 0484 1846 mov r0, r3
|
||
2599 0486 FFF7FEFF bl __aeabi_i2d
|
||
2600 048a 27A3 adr r3, .L110
|
||
2601 048c D3E90023 ldrd r2, [r3]
|
||
2602 0490 FFF7FEFF bl __aeabi_dmul
|
||
2603 0494 0246 mov r2, r0
|
||
2604 0496 0B46 mov r3, r1
|
||
2605 0498 1046 mov r0, r2
|
||
2606 049a 1946 mov r1, r3
|
||
2607 049c 24A3 adr r3, .L110+8
|
||
2608 049e D3E90023 ldrd r2, [r3]
|
||
2609 04a2 FFF7FEFF bl __aeabi_dadd
|
||
2610 04a6 0246 mov r2, r0
|
||
2611 04a8 0B46 mov r3, r1
|
||
2612 .loc 1 237 28
|
||
2613 04aa 1046 mov r0, r2
|
||
2614 04ac 1946 mov r1, r3
|
||
2615 04ae FFF7FEFF bl __aeabi_d2iz
|
||
2616 04b2 0346 mov r3, r0
|
||
2617 04b4 1AB2 sxth r2, r3
|
||
2618 04b6 7B68 ldr r3, [r7, #4]
|
||
2619 04b8 9A83 strh r2, [r3, #28] @ movhi
|
||
2620 .LBB27:
|
||
238:Core/Src/ADBMS_Abstraction.c ****
|
||
239:Core/Src/ADBMS_Abstraction.c **** CHECK_RETURN(readCMD(RDCVF, rxbuffer, CV_GROUP_A_SIZE));
|
||
2621 .loc 1 239 3
|
||
2622 04ba 07F10C03 add r3, r7, #12
|
||
2623 04be 0622 movs r2, #6
|
||
2624 04c0 1946 mov r1, r3
|
||
2625 04c2 0B20 movs r0, #11
|
||
2626 04c4 FFF7FEFF bl readCMD
|
||
2627 04c8 0346 mov r3, r0
|
||
2628 04ca BB74 strb r3, [r7, #18]
|
||
2629 .loc 1 239 3 is_stmt 0 discriminator 1
|
||
2630 04cc BB7C ldrb r3, [r7, #18] @ zero_extendqisi2
|
||
2631 04ce 002B cmp r3, #0
|
||
2632 04d0 01D0 beq .L108
|
||
2633 04d2 BB7C ldrb r3, [r7, #18] @ zero_extendqisi2
|
||
2634 .loc 1 239 3
|
||
2635 04d4 23E0 b .L109
|
||
2636 .L108:
|
||
2637 .LBE27:
|
||
240:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[15] = mV_from_ADBMS6830(rxbuffer[0] | (rxbuffer[1] << 8));
|
||
2638 .loc 1 240 30 is_stmt 1
|
||
ARM GAS /tmp/cclV24WD.s page 51
|
||
|
||
|
||
2639 04d6 3B7B ldrb r3, [r7, #12] @ zero_extendqisi2
|
||
2640 04d8 1AB2 sxth r2, r3
|
||
2641 04da 7B7B ldrb r3, [r7, #13] @ zero_extendqisi2
|
||
2642 04dc 1BB2 sxth r3, r3
|
||
2643 04de 1B02 lsls r3, r3, #8
|
||
2644 04e0 1BB2 sxth r3, r3
|
||
2645 04e2 1343 orrs r3, r3, r2
|
||
2646 04e4 1BB2 sxth r3, r3
|
||
2647 04e6 1846 mov r0, r3
|
||
2648 04e8 FFF7FEFF bl __aeabi_i2d
|
||
2649 04ec 0EA3 adr r3, .L110
|
||
2650 04ee D3E90023 ldrd r2, [r3]
|
||
2651 04f2 FFF7FEFF bl __aeabi_dmul
|
||
2652 04f6 0246 mov r2, r0
|
||
2653 04f8 0B46 mov r3, r1
|
||
2654 04fa 1046 mov r0, r2
|
||
2655 04fc 1946 mov r1, r3
|
||
2656 04fe 0CA3 adr r3, .L110+8
|
||
2657 0500 D3E90023 ldrd r2, [r3]
|
||
2658 0504 FFF7FEFF bl __aeabi_dadd
|
||
2659 0508 0246 mov r2, r0
|
||
2660 050a 0B46 mov r3, r1
|
||
2661 .loc 1 240 28
|
||
2662 050c 1046 mov r0, r2
|
||
2663 050e 1946 mov r1, r3
|
||
2664 0510 FFF7FEFF bl __aeabi_d2iz
|
||
2665 0514 0346 mov r3, r0
|
||
2666 0516 1AB2 sxth r2, r3
|
||
2667 0518 7B68 ldr r3, [r7, #4]
|
||
2668 051a DA83 strh r2, [r3, #30] @ movhi
|
||
241:Core/Src/ADBMS_Abstraction.c ****
|
||
242:Core/Src/ADBMS_Abstraction.c **** return 0;
|
||
2669 .loc 1 242 10
|
||
2670 051c 0023 movs r3, #0
|
||
2671 .L109:
|
||
243:Core/Src/ADBMS_Abstraction.c **** }
|
||
2672 .loc 1 243 1
|
||
2673 051e 1846 mov r0, r3
|
||
2674 0520 1837 adds r7, r7, #24
|
||
2675 .cfi_def_cfa_offset 8
|
||
2676 0522 BD46 mov sp, r7
|
||
2677 .cfi_def_cfa_register 13
|
||
2678 @ sp needed
|
||
2679 0524 80BD pop {r7, pc}
|
||
2680 .L111:
|
||
2681 0526 00BF .align 3
|
||
2682 .L110:
|
||
2683 0528 33333333 .word 858993459
|
||
2684 052c 3333C33F .word 1069757235
|
||
2685 0530 00000000 .word 0
|
||
2686 0534 00709740 .word 1083666432
|
||
2687 .cfi_endproc
|
||
2688 .LFE144:
|
||
2690 .text
|
||
2691 .Letext0:
|
||
2692 .file 2 "/nix/store/p8vkamc9b2vlibs9aw76vnasdbifhcbm-gcc-arm-embedded-13.2.rel1/arm-none-eabi/incl
|
||
2693 .file 3 "/nix/store/p8vkamc9b2vlibs9aw76vnasdbifhcbm-gcc-arm-embedded-13.2.rel1/arm-none-eabi/incl
|
||
ARM GAS /tmp/cclV24WD.s page 52
|
||
|
||
|
||
2694 .file 4 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/stm32f302xc.h"
|
||
2695 .file 5 "/nix/store/p8vkamc9b2vlibs9aw76vnasdbifhcbm-gcc-arm-embedded-13.2.rel1/lib/gcc/arm-none-e
|
||
2696 .file 6 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_def.h"
|
||
2697 .file 7 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_dma.h"
|
||
2698 .file 8 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_spi.h"
|
||
2699 .file 9 "Core/Inc/ADBMS_LL_Driver.h"
|
||
2700 .file 10 "Core/Inc/ADBMS_Abstraction.h"
|
||
ARM GAS /tmp/cclV24WD.s page 53
|
||
|
||
|
||
DEFINED SYMBOLS
|
||
*ABS*:00000000 ADBMS_Abstraction.c
|
||
/tmp/cclV24WD.s:24 .bss.numberofcells:00000000 numberofcells
|
||
/tmp/cclV24WD.s:25 .bss.numberofcells:00000000 $d
|
||
/tmp/cclV24WD.s:30 .bss.numberofauxchannels:00000000 numberofauxchannels
|
||
/tmp/cclV24WD.s:31 .bss.numberofauxchannels:00000000 $d
|
||
/tmp/cclV24WD.s:33 .rodata:00000000 $d
|
||
/tmp/cclV24WD.s:37 .text.amsReset:00000000 $t
|
||
/tmp/cclV24WD.s:43 .text.amsReset:00000000 amsReset
|
||
/tmp/cclV24WD.s:233 .text.amsWakeUp:00000000 amsWakeUp
|
||
/tmp/cclV24WD.s:1647 .text.amsStopBalancing:00000000 amsStopBalancing
|
||
/tmp/cclV24WD.s:1711 .text.amsConfigOverUnderVoltage:00000000 amsConfigOverUnderVoltage
|
||
/tmp/cclV24WD.s:166 .text.amsReset:000000b4 $d
|
||
/tmp/cclV24WD.s:171 .text.initAMS:00000000 $t
|
||
/tmp/cclV24WD.s:177 .text.initAMS:00000000 initAMS
|
||
/tmp/cclV24WD.s:221 .text.initAMS:00000030 $d
|
||
/tmp/cclV24WD.s:227 .text.amsWakeUp:00000000 $t
|
||
/tmp/cclV24WD.s:266 .text.amsCellMeasurement:00000000 $t
|
||
/tmp/cclV24WD.s:272 .text.amsCellMeasurement:00000000 amsCellMeasurement
|
||
/tmp/cclV24WD.s:2050 .text.amsReadCellVoltages:00000000 amsReadCellVoltages
|
||
/tmp/cclV24WD.s:303 .text.amsConfigCellMeasurement:00000000 $t
|
||
/tmp/cclV24WD.s:309 .text.amsConfigCellMeasurement:00000000 amsConfigCellMeasurement
|
||
/tmp/cclV24WD.s:345 .text.amsConfigCellMeasurement:00000020 $d
|
||
/tmp/cclV24WD.s:355 .text.amsAuxAndStatusMeasurement:00000000 $t
|
||
/tmp/cclV24WD.s:361 .text.amsAuxAndStatusMeasurement:00000000 amsAuxAndStatusMeasurement
|
||
/tmp/cclV24WD.s:1178 .text.amsAuxAndStatusMeasurement:00000680 $d
|
||
/tmp/cclV24WD.s:1186 .text.amsConfigBalancing:00000000 $t
|
||
/tmp/cclV24WD.s:1192 .text.amsConfigBalancing:00000000 amsConfigBalancing
|
||
/tmp/cclV24WD.s:1601 .text.amsStartBalancing:00000000 $t
|
||
/tmp/cclV24WD.s:1607 .text.amsStartBalancing:00000000 amsStartBalancing
|
||
/tmp/cclV24WD.s:1641 .text.amsStopBalancing:00000000 $t
|
||
/tmp/cclV24WD.s:1672 .text.amsSelfTest:00000000 $t
|
||
/tmp/cclV24WD.s:1678 .text.amsSelfTest:00000000 amsSelfTest
|
||
/tmp/cclV24WD.s:1705 .text.amsConfigOverUnderVoltage:00000000 $t
|
||
/tmp/cclV24WD.s:1836 .text.amsCheckUnderOverVoltage:00000000 $t
|
||
/tmp/cclV24WD.s:1842 .text.amsCheckUnderOverVoltage:00000000 amsCheckUnderOverVoltage
|
||
/tmp/cclV24WD.s:1976 .text.amsCheckUnderOverVoltage:000000a0 $d
|
||
/tmp/cclV24WD.s:1981 .text.amsClearAux:00000000 $t
|
||
/tmp/cclV24WD.s:1987 .text.amsClearAux:00000000 amsClearAux
|
||
/tmp/cclV24WD.s:2012 .text.amsClearCells:00000000 $t
|
||
/tmp/cclV24WD.s:2018 .text.amsClearCells:00000000 amsClearCells
|
||
/tmp/cclV24WD.s:2044 .text.amsReadCellVoltages:00000000 $t
|
||
/tmp/cclV24WD.s:2683 .text.amsReadCellVoltages:00000528 $d
|
||
|
||
UNDEFINED SYMBOLS
|
||
readCMD
|
||
mcuDelay
|
||
writeCMD
|
||
adbmsDriverInit
|
||
__aeabi_i2d
|
||
__aeabi_dmul
|
||
__aeabi_dadd
|
||
__aeabi_d2f
|
||
__aeabi_d2uiz
|
||
pollCMD
|
||
__aeabi_d2iz
|