2693 lines
126 KiB
Plaintext
2693 lines
126 KiB
Plaintext
ARM GAS /tmp/ccNub4kL.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, 1
|
||
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 .section .text.amsWakeUp,"ax",%progbits
|
||
21 .align 1
|
||
22 .global amsWakeUp
|
||
23 .syntax unified
|
||
24 .thumb
|
||
25 .thumb_func
|
||
27 amsWakeUp:
|
||
28 .LFB125:
|
||
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 **** { \
|
||
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() {
|
||
24:Core/Src/ADBMS_Abstraction.c **** amsWakeUp();
|
||
25:Core/Src/ADBMS_Abstraction.c **** readCMD(SRST, NULL, 0);
|
||
26:Core/Src/ADBMS_Abstraction.c **** mcuDelay(10);
|
||
27:Core/Src/ADBMS_Abstraction.c **** amsWakeUp();
|
||
28:Core/Src/ADBMS_Abstraction.c **** amsStopBalancing();
|
||
29:Core/Src/ADBMS_Abstraction.c **** amsConfigOverUnderVoltage(DEFAULT_OV, DEFAULT_UV);
|
||
30:Core/Src/ADBMS_Abstraction.c ****
|
||
ARM GAS /tmp/ccNub4kL.s page 2
|
||
|
||
|
||
31:Core/Src/ADBMS_Abstraction.c **** uint8 buffer[6] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF};
|
||
32:Core/Src/ADBMS_Abstraction.c ****
|
||
33:Core/Src/ADBMS_Abstraction.c **** CHECK_RETURN(writeCMD(CLRFLAG, buffer, 6)); //clear flags,
|
||
34:Core/Src/ADBMS_Abstraction.c **** CHECK_RETURN(writeCMD(CLOVUV, buffer, 6)); //OVUV flags
|
||
35:Core/Src/ADBMS_Abstraction.c **** CHECK_RETURN(writeCMD(ADCV | ADCV_CONT | ADCV_RD, NULL, 0)); //start continuous cell voltage meas
|
||
36:Core/Src/ADBMS_Abstraction.c **** CHECK_RETURN(writeCMD(ADAX | ADAX_CONV_ALL, NULL, 0)); //start aux measurement
|
||
37:Core/Src/ADBMS_Abstraction.c ****
|
||
38:Core/Src/ADBMS_Abstraction.c **** return 0;
|
||
39:Core/Src/ADBMS_Abstraction.c **** }
|
||
40:Core/Src/ADBMS_Abstraction.c ****
|
||
41:Core/Src/ADBMS_Abstraction.c **** uint8 initAMS(SPI_HandleTypeDef* hspi, uint8 numofcells, uint8 numofaux) {
|
||
42:Core/Src/ADBMS_Abstraction.c **** adbmsDriverInit(hspi);
|
||
43:Core/Src/ADBMS_Abstraction.c **** numberofcells = numofcells;
|
||
44:Core/Src/ADBMS_Abstraction.c **** numberofauxchannels = numofaux;
|
||
45:Core/Src/ADBMS_Abstraction.c ****
|
||
46:Core/Src/ADBMS_Abstraction.c **** return amsReset();
|
||
47:Core/Src/ADBMS_Abstraction.c **** }
|
||
48:Core/Src/ADBMS_Abstraction.c ****
|
||
49:Core/Src/ADBMS_Abstraction.c **** uint8 amsWakeUp() {
|
||
29 .loc 1 49 19 view -0
|
||
30 .cfi_startproc
|
||
31 @ args = 0, pretend = 0, frame = 8
|
||
32 @ frame_needed = 0, uses_anonymous_args = 0
|
||
33 0000 00B5 push {lr}
|
||
34 .cfi_def_cfa_offset 4
|
||
35 .cfi_offset 14, -4
|
||
36 0002 83B0 sub sp, sp, #12
|
||
37 .cfi_def_cfa_offset 16
|
||
50:Core/Src/ADBMS_Abstraction.c **** uint8 buf[6];
|
||
38 .loc 1 50 3 view .LVU1
|
||
51:Core/Src/ADBMS_Abstraction.c **** return readCMD(RDCFGA, buf, 6);
|
||
39 .loc 1 51 3 view .LVU2
|
||
40 .loc 1 51 10 is_stmt 0 view .LVU3
|
||
41 0004 0622 movs r2, #6
|
||
42 0006 6946 mov r1, sp
|
||
43 0008 0220 movs r0, #2
|
||
44 000a FFF7FEFF bl readCMD
|
||
45 .LVL0:
|
||
52:Core/Src/ADBMS_Abstraction.c **** }
|
||
46 .loc 1 52 1 view .LVU4
|
||
47 000e 03B0 add sp, sp, #12
|
||
48 .cfi_def_cfa_offset 4
|
||
49 @ sp needed
|
||
50 0010 5DF804FB ldr pc, [sp], #4
|
||
51 .cfi_endproc
|
||
52 .LFE125:
|
||
54 .section .text.amsConfigCellMeasurement,"ax",%progbits
|
||
55 .align 1
|
||
56 .global amsConfigCellMeasurement
|
||
57 .syntax unified
|
||
58 .thumb
|
||
59 .thumb_func
|
||
61 amsConfigCellMeasurement:
|
||
62 .LVL1:
|
||
63 .LFB127:
|
||
53:Core/Src/ADBMS_Abstraction.c ****
|
||
54:Core/Src/ADBMS_Abstraction.c **** uint8 amsCellMeasurement(Cell_Module* module) {
|
||
ARM GAS /tmp/ccNub4kL.s page 3
|
||
|
||
|
||
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);
|
||
58:Core/Src/ADBMS_Abstraction.c **** }
|
||
59:Core/Src/ADBMS_Abstraction.c ****
|
||
60:Core/Src/ADBMS_Abstraction.c **** uint8 amsConfigCellMeasurement(uint8 numberofChannels) {
|
||
64 .loc 1 60 56 is_stmt 1 view -0
|
||
65 .cfi_startproc
|
||
66 @ args = 0, pretend = 0, frame = 0
|
||
67 @ frame_needed = 0, uses_anonymous_args = 0
|
||
68 @ link register save eliminated.
|
||
61:Core/Src/ADBMS_Abstraction.c **** numberofcells = numberofChannels;
|
||
69 .loc 1 61 3 view .LVU6
|
||
70 .loc 1 61 17 is_stmt 0 view .LVU7
|
||
71 0000 014B ldr r3, .L4
|
||
72 0002 1870 strb r0, [r3]
|
||
62:Core/Src/ADBMS_Abstraction.c **** return 0;
|
||
73 .loc 1 62 3 is_stmt 1 view .LVU8
|
||
63:Core/Src/ADBMS_Abstraction.c **** }
|
||
74 .loc 1 63 1 is_stmt 0 view .LVU9
|
||
75 0004 0020 movs r0, #0
|
||
76 .LVL2:
|
||
77 .loc 1 63 1 view .LVU10
|
||
78 0006 7047 bx lr
|
||
79 .L5:
|
||
80 .align 2
|
||
81 .L4:
|
||
82 0008 00000000 .word numberofcells
|
||
83 .cfi_endproc
|
||
84 .LFE127:
|
||
86 .global __aeabi_i2d
|
||
87 .global __aeabi_dmul
|
||
88 .global __aeabi_dadd
|
||
89 .global __aeabi_d2iz
|
||
90 .global __aeabi_d2uiz
|
||
91 .section .text.amsAuxAndStatusMeasurement,"ax",%progbits
|
||
92 .align 1
|
||
93 .global amsAuxAndStatusMeasurement
|
||
94 .syntax unified
|
||
95 .thumb
|
||
96 .thumb_func
|
||
98 amsAuxAndStatusMeasurement:
|
||
99 .LVL3:
|
||
100 .LFB128:
|
||
64:Core/Src/ADBMS_Abstraction.c ****
|
||
65:Core/Src/ADBMS_Abstraction.c **** uint8 amsAuxAndStatusMeasurement(Cell_Module* module) {
|
||
101 .loc 1 65 55 is_stmt 1 view -0
|
||
102 .cfi_startproc
|
||
103 @ args = 0, pretend = 0, frame = 16
|
||
104 @ frame_needed = 0, uses_anonymous_args = 0
|
||
105 .loc 1 65 55 is_stmt 0 view .LVU12
|
||
106 0000 10B5 push {r4, lr}
|
||
107 .cfi_def_cfa_offset 8
|
||
108 .cfi_offset 4, -8
|
||
109 .cfi_offset 14, -4
|
||
110 0002 84B0 sub sp, sp, #16
|
||
111 .cfi_def_cfa_offset 24
|
||
ARM GAS /tmp/ccNub4kL.s page 4
|
||
|
||
|
||
112 0004 0446 mov r4, r0
|
||
66:Core/Src/ADBMS_Abstraction.c **** uint8 rxbuf[AUX_GROUP_A_SIZE] = {};
|
||
113 .loc 1 66 3 is_stmt 1 view .LVU13
|
||
114 .loc 1 66 9 is_stmt 0 view .LVU14
|
||
115 0006 0023 movs r3, #0
|
||
116 0008 0293 str r3, [sp, #8]
|
||
117 000a ADF80C30 strh r3, [sp, #12] @ movhi
|
||
118 .LBB2:
|
||
67:Core/Src/ADBMS_Abstraction.c ****
|
||
68:Core/Src/ADBMS_Abstraction.c **** CHECK_RETURN(readCMD(RDSTATC, rxbuf, STATUS_GROUP_C_SIZE));
|
||
119 .loc 1 68 3 is_stmt 1 view .LVU15
|
||
120 000e 0622 movs r2, #6
|
||
121 0010 02A9 add r1, sp, #8
|
||
122 0012 3220 movs r0, #50
|
||
123 .LVL4:
|
||
124 .loc 1 68 3 is_stmt 0 view .LVU16
|
||
125 0014 FFF7FEFF bl readCMD
|
||
126 .LVL5:
|
||
127 .loc 1 68 3 is_stmt 1 discriminator 1 view .LVU17
|
||
128 0018 08B1 cbz r0, .L9
|
||
129 .L7:
|
||
130 .LBE2:
|
||
69:Core/Src/ADBMS_Abstraction.c ****
|
||
70:Core/Src/ADBMS_Abstraction.c **** module->status.CS_FLT = rxbuf[0] | (rxbuf[1] << 8);
|
||
71:Core/Src/ADBMS_Abstraction.c **** module->status.CCTS = rxbuf[2] | (rxbuf[3] << 8);
|
||
72:Core/Src/ADBMS_Abstraction.c **** module->status.VA_OV = (rxbuf[4] >> 7) & 0x01;
|
||
73:Core/Src/ADBMS_Abstraction.c **** module->status.VA_UV = (rxbuf[4] >> 6) & 0x01;
|
||
74:Core/Src/ADBMS_Abstraction.c **** module->status.VD_OV = (rxbuf[4] >> 5) & 0x01;
|
||
75:Core/Src/ADBMS_Abstraction.c **** module->status.VD_UV = (rxbuf[4] >> 4) & 0x01;
|
||
76:Core/Src/ADBMS_Abstraction.c **** module->status.CED = (rxbuf[4] >> 3) & 0x01;
|
||
77:Core/Src/ADBMS_Abstraction.c **** module->status.CMED = (rxbuf[4] >> 2) & 0x01;
|
||
78:Core/Src/ADBMS_Abstraction.c **** module->status.SED = (rxbuf[4] >> 1) & 0x01;
|
||
79:Core/Src/ADBMS_Abstraction.c **** module->status.SMED = (rxbuf[4] >> 0) & 0x01;
|
||
80:Core/Src/ADBMS_Abstraction.c **** module->status.VDEL = (rxbuf[5] >> 7) & 0x01;
|
||
81:Core/Src/ADBMS_Abstraction.c **** module->status.VDE = (rxbuf[5] >> 6) & 0x01;
|
||
82:Core/Src/ADBMS_Abstraction.c **** module->status.COMPARE= (rxbuf[5] >> 5) & 0x01;
|
||
83:Core/Src/ADBMS_Abstraction.c **** module->status.SPIFLT = (rxbuf[5] >> 4) & 0x01;
|
||
84:Core/Src/ADBMS_Abstraction.c **** module->status.SLEEP = (rxbuf[5] >> 3) & 0x01;
|
||
85:Core/Src/ADBMS_Abstraction.c **** module->status.THSD = (rxbuf[5] >> 2) & 0x01;
|
||
86:Core/Src/ADBMS_Abstraction.c **** module->status.TMODCHK= (rxbuf[5] >> 1) & 0x01;
|
||
87:Core/Src/ADBMS_Abstraction.c **** module->status.OSCCHK = (rxbuf[5] >> 0) & 0x01;
|
||
88:Core/Src/ADBMS_Abstraction.c ****
|
||
89:Core/Src/ADBMS_Abstraction.c **** if (pollCMD(PLAUX) == 0x0) { //TODO: check for SPI fault
|
||
90:Core/Src/ADBMS_Abstraction.c **** return 0; // aux ADC data not ready
|
||
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));
|
||
94:Core/Src/ADBMS_Abstraction.c ****
|
||
95:Core/Src/ADBMS_Abstraction.c **** module->auxVoltages[0] = mV_from_ADBMS6830(rxbuf[0] | (rxbuf[1] << 8));
|
||
96:Core/Src/ADBMS_Abstraction.c **** module->auxVoltages[1] = mV_from_ADBMS6830(rxbuf[2] | (rxbuf[3] << 8));
|
||
97:Core/Src/ADBMS_Abstraction.c **** module->auxVoltages[2] = mV_from_ADBMS6830(rxbuf[4] | (rxbuf[5] << 8));
|
||
98:Core/Src/ADBMS_Abstraction.c ****
|
||
99:Core/Src/ADBMS_Abstraction.c **** CHECK_RETURN(readCMD(RDAUXB, rxbuf, AUX_GROUP_A_SIZE));
|
||
100:Core/Src/ADBMS_Abstraction.c ****
|
||
101:Core/Src/ADBMS_Abstraction.c **** module->auxVoltages[3] = mV_from_ADBMS6830(rxbuf[0] | (rxbuf[1] << 8));
|
||
102:Core/Src/ADBMS_Abstraction.c **** module->auxVoltages[4] = mV_from_ADBMS6830(rxbuf[2] | (rxbuf[3] << 8));
|
||
103:Core/Src/ADBMS_Abstraction.c **** module->auxVoltages[5] = mV_from_ADBMS6830(rxbuf[4] | (rxbuf[5] << 8));
|
||
ARM GAS /tmp/ccNub4kL.s page 5
|
||
|
||
|
||
104:Core/Src/ADBMS_Abstraction.c ****
|
||
105:Core/Src/ADBMS_Abstraction.c **** CHECK_RETURN(readCMD(RDAUXC, rxbuf, AUX_GROUP_A_SIZE));
|
||
106:Core/Src/ADBMS_Abstraction.c ****
|
||
107:Core/Src/ADBMS_Abstraction.c **** module->auxVoltages[6] = mV_from_ADBMS6830(rxbuf[0] | (rxbuf[1] << 8));
|
||
108:Core/Src/ADBMS_Abstraction.c **** module->auxVoltages[7] = mV_from_ADBMS6830(rxbuf[2] | (rxbuf[3] << 8));
|
||
109:Core/Src/ADBMS_Abstraction.c **** module->auxVoltages[8] = mV_from_ADBMS6830(rxbuf[4] | (rxbuf[5] << 8));
|
||
110:Core/Src/ADBMS_Abstraction.c ****
|
||
111:Core/Src/ADBMS_Abstraction.c **** CHECK_RETURN(readCMD(RDAUXD, rxbuf, AUX_GROUP_A_SIZE));
|
||
112:Core/Src/ADBMS_Abstraction.c ****
|
||
113:Core/Src/ADBMS_Abstraction.c **** module->auxVoltages[9] = mV_from_ADBMS6830(rxbuf[0] | (rxbuf[1] << 8));
|
||
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));
|
||
118:Core/Src/ADBMS_Abstraction.c ****
|
||
119:Core/Src/ADBMS_Abstraction.c **** module->internalDieTemp = rxbuffer[2] | (rxbuffer[3] << 8);
|
||
120:Core/Src/ADBMS_Abstraction.c ****
|
||
121:Core/Src/ADBMS_Abstraction.c **** CHECK_RETURN(readCMD(RDSTATB, rxbuffer, STATUS_GROUP_B_SIZE));
|
||
122:Core/Src/ADBMS_Abstraction.c **** module->digitalSupplyVoltage = mV_from_ADBMS6830(rxbuffer[0] | (rxbuffer[1] << 8));
|
||
123:Core/Src/ADBMS_Abstraction.c **** module->analogSupplyVoltage = mV_from_ADBMS6830(rxbuffer[2] | (rxbuffer[3] << 8));
|
||
124:Core/Src/ADBMS_Abstraction.c **** module->refVoltage = mV_from_ADBMS6830(rxbuffer[4] | (rxbuffer[5] << 8));
|
||
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
|
||
127:Core/Src/ADBMS_Abstraction.c ****
|
||
128:Core/Src/ADBMS_Abstraction.c **** return 0;
|
||
129:Core/Src/ADBMS_Abstraction.c **** }
|
||
131 .loc 1 129 1 is_stmt 0 view .LVU18
|
||
132 001a 04B0 add sp, sp, #16
|
||
133 .cfi_remember_state
|
||
134 .cfi_def_cfa_offset 8
|
||
135 @ sp needed
|
||
136 001c 10BD pop {r4, pc}
|
||
137 .LVL6:
|
||
138 .L9:
|
||
139 .cfi_restore_state
|
||
68:Core/Src/ADBMS_Abstraction.c ****
|
||
140 .loc 1 68 61 is_stmt 1 discriminator 2 view .LVU19
|
||
70:Core/Src/ADBMS_Abstraction.c **** module->status.CCTS = rxbuf[2] | (rxbuf[3] << 8);
|
||
141 .loc 1 70 3 view .LVU20
|
||
70:Core/Src/ADBMS_Abstraction.c **** module->status.CCTS = rxbuf[2] | (rxbuf[3] << 8);
|
||
142 .loc 1 70 32 is_stmt 0 view .LVU21
|
||
143 001e 9DF80830 ldrb r3, [sp, #8] @ zero_extendqisi2
|
||
70:Core/Src/ADBMS_Abstraction.c **** module->status.CCTS = rxbuf[2] | (rxbuf[3] << 8);
|
||
144 .loc 1 70 44 view .LVU22
|
||
145 0022 9DF80920 ldrb r2, [sp, #9] @ zero_extendqisi2
|
||
70:Core/Src/ADBMS_Abstraction.c **** module->status.CCTS = rxbuf[2] | (rxbuf[3] << 8);
|
||
146 .loc 1 70 36 view .LVU23
|
||
147 0026 43EA0223 orr r3, r3, r2, lsl #8
|
||
70:Core/Src/ADBMS_Abstraction.c **** module->status.CCTS = rxbuf[2] | (rxbuf[3] << 8);
|
||
148 .loc 1 70 25 view .LVU24
|
||
149 002a A386 strh r3, [r4, #52] @ movhi
|
||
71:Core/Src/ADBMS_Abstraction.c **** module->status.VA_OV = (rxbuf[4] >> 7) & 0x01;
|
||
150 .loc 1 71 3 is_stmt 1 view .LVU25
|
||
71:Core/Src/ADBMS_Abstraction.c **** module->status.VA_OV = (rxbuf[4] >> 7) & 0x01;
|
||
151 .loc 1 71 32 is_stmt 0 view .LVU26
|
||
152 002c 9DF80A30 ldrb r3, [sp, #10] @ zero_extendqisi2
|
||
71:Core/Src/ADBMS_Abstraction.c **** module->status.VA_OV = (rxbuf[4] >> 7) & 0x01;
|
||
ARM GAS /tmp/ccNub4kL.s page 6
|
||
|
||
|
||
153 .loc 1 71 44 view .LVU27
|
||
154 0030 9DF80B20 ldrb r2, [sp, #11] @ zero_extendqisi2
|
||
71:Core/Src/ADBMS_Abstraction.c **** module->status.VA_OV = (rxbuf[4] >> 7) & 0x01;
|
||
155 .loc 1 71 36 view .LVU28
|
||
156 0034 43EA0223 orr r3, r3, r2, lsl #8
|
||
71:Core/Src/ADBMS_Abstraction.c **** module->status.VA_OV = (rxbuf[4] >> 7) & 0x01;
|
||
157 .loc 1 71 25 view .LVU29
|
||
158 0038 E28E ldrh r2, [r4, #54]
|
||
159 003a 63F3CF02 bfi r2, r3, #3, #13
|
||
160 003e E286 strh r2, [r4, #54] @ movhi
|
||
72:Core/Src/ADBMS_Abstraction.c **** module->status.VA_UV = (rxbuf[4] >> 6) & 0x01;
|
||
161 .loc 1 72 3 is_stmt 1 view .LVU30
|
||
72:Core/Src/ADBMS_Abstraction.c **** module->status.VA_UV = (rxbuf[4] >> 6) & 0x01;
|
||
162 .loc 1 72 33 is_stmt 0 view .LVU31
|
||
163 0040 9DF80C30 ldrb r3, [sp, #12] @ zero_extendqisi2
|
||
72:Core/Src/ADBMS_Abstraction.c **** module->status.VA_UV = (rxbuf[4] >> 6) & 0x01;
|
||
164 .loc 1 72 43 view .LVU32
|
||
165 0044 D909 lsrs r1, r3, #7
|
||
72:Core/Src/ADBMS_Abstraction.c **** module->status.VA_UV = (rxbuf[4] >> 6) & 0x01;
|
||
166 .loc 1 72 25 view .LVU33
|
||
167 0046 94F83820 ldrb r2, [r4, #56] @ zero_extendqisi2
|
||
168 004a 61F30002 bfi r2, r1, #0, #1
|
||
169 004e 84F83820 strb r2, [r4, #56]
|
||
73:Core/Src/ADBMS_Abstraction.c **** module->status.VD_OV = (rxbuf[4] >> 5) & 0x01;
|
||
170 .loc 1 73 3 is_stmt 1 view .LVU34
|
||
73:Core/Src/ADBMS_Abstraction.c **** module->status.VD_OV = (rxbuf[4] >> 5) & 0x01;
|
||
171 .loc 1 73 43 is_stmt 0 view .LVU35
|
||
172 0052 C3F38011 ubfx r1, r3, #6, #1
|
||
73:Core/Src/ADBMS_Abstraction.c **** module->status.VD_OV = (rxbuf[4] >> 5) & 0x01;
|
||
173 .loc 1 73 25 view .LVU36
|
||
174 0056 D2B2 uxtb r2, r2
|
||
175 0058 61F34102 bfi r2, r1, #1, #1
|
||
176 005c 84F83820 strb r2, [r4, #56]
|
||
74:Core/Src/ADBMS_Abstraction.c **** module->status.VD_UV = (rxbuf[4] >> 4) & 0x01;
|
||
177 .loc 1 74 3 is_stmt 1 view .LVU37
|
||
74:Core/Src/ADBMS_Abstraction.c **** module->status.VD_UV = (rxbuf[4] >> 4) & 0x01;
|
||
178 .loc 1 74 43 is_stmt 0 view .LVU38
|
||
179 0060 C3F34011 ubfx r1, r3, #5, #1
|
||
74:Core/Src/ADBMS_Abstraction.c **** module->status.VD_UV = (rxbuf[4] >> 4) & 0x01;
|
||
180 .loc 1 74 25 view .LVU39
|
||
181 0064 D2B2 uxtb r2, r2
|
||
182 0066 61F38202 bfi r2, r1, #2, #1
|
||
183 006a 84F83820 strb r2, [r4, #56]
|
||
75:Core/Src/ADBMS_Abstraction.c **** module->status.CED = (rxbuf[4] >> 3) & 0x01;
|
||
184 .loc 1 75 3 is_stmt 1 view .LVU40
|
||
75:Core/Src/ADBMS_Abstraction.c **** module->status.CED = (rxbuf[4] >> 3) & 0x01;
|
||
185 .loc 1 75 43 is_stmt 0 view .LVU41
|
||
186 006e C3F30011 ubfx r1, r3, #4, #1
|
||
75:Core/Src/ADBMS_Abstraction.c **** module->status.CED = (rxbuf[4] >> 3) & 0x01;
|
||
187 .loc 1 75 25 view .LVU42
|
||
188 0072 D2B2 uxtb r2, r2
|
||
189 0074 61F3C302 bfi r2, r1, #3, #1
|
||
190 0078 84F83820 strb r2, [r4, #56]
|
||
76:Core/Src/ADBMS_Abstraction.c **** module->status.CMED = (rxbuf[4] >> 2) & 0x01;
|
||
191 .loc 1 76 3 is_stmt 1 view .LVU43
|
||
76:Core/Src/ADBMS_Abstraction.c **** module->status.CMED = (rxbuf[4] >> 2) & 0x01;
|
||
192 .loc 1 76 43 is_stmt 0 view .LVU44
|
||
ARM GAS /tmp/ccNub4kL.s page 7
|
||
|
||
|
||
193 007c C3F3C001 ubfx r1, r3, #3, #1
|
||
76:Core/Src/ADBMS_Abstraction.c **** module->status.CMED = (rxbuf[4] >> 2) & 0x01;
|
||
194 .loc 1 76 25 view .LVU45
|
||
195 0080 D2B2 uxtb r2, r2
|
||
196 0082 61F30412 bfi r2, r1, #4, #1
|
||
197 0086 84F83820 strb r2, [r4, #56]
|
||
77:Core/Src/ADBMS_Abstraction.c **** module->status.SED = (rxbuf[4] >> 1) & 0x01;
|
||
198 .loc 1 77 3 is_stmt 1 view .LVU46
|
||
77:Core/Src/ADBMS_Abstraction.c **** module->status.SED = (rxbuf[4] >> 1) & 0x01;
|
||
199 .loc 1 77 43 is_stmt 0 view .LVU47
|
||
200 008a C3F38001 ubfx r1, r3, #2, #1
|
||
77:Core/Src/ADBMS_Abstraction.c **** module->status.SED = (rxbuf[4] >> 1) & 0x01;
|
||
201 .loc 1 77 25 view .LVU48
|
||
202 008e D2B2 uxtb r2, r2
|
||
203 0090 61F34512 bfi r2, r1, #5, #1
|
||
204 0094 84F83820 strb r2, [r4, #56]
|
||
78:Core/Src/ADBMS_Abstraction.c **** module->status.SMED = (rxbuf[4] >> 0) & 0x01;
|
||
205 .loc 1 78 3 is_stmt 1 view .LVU49
|
||
78:Core/Src/ADBMS_Abstraction.c **** module->status.SMED = (rxbuf[4] >> 0) & 0x01;
|
||
206 .loc 1 78 43 is_stmt 0 view .LVU50
|
||
207 0098 C3F34001 ubfx r1, r3, #1, #1
|
||
78:Core/Src/ADBMS_Abstraction.c **** module->status.SMED = (rxbuf[4] >> 0) & 0x01;
|
||
208 .loc 1 78 25 view .LVU51
|
||
209 009c D2B2 uxtb r2, r2
|
||
210 009e 61F38612 bfi r2, r1, #6, #1
|
||
211 00a2 84F83820 strb r2, [r4, #56]
|
||
79:Core/Src/ADBMS_Abstraction.c **** module->status.VDEL = (rxbuf[5] >> 7) & 0x01;
|
||
212 .loc 1 79 3 is_stmt 1 view .LVU52
|
||
79:Core/Src/ADBMS_Abstraction.c **** module->status.VDEL = (rxbuf[5] >> 7) & 0x01;
|
||
213 .loc 1 79 25 is_stmt 0 view .LVU53
|
||
214 00a6 D2B2 uxtb r2, r2
|
||
215 00a8 63F3C712 bfi r2, r3, #7, #1
|
||
216 00ac 84F83820 strb r2, [r4, #56]
|
||
80:Core/Src/ADBMS_Abstraction.c **** module->status.VDE = (rxbuf[5] >> 6) & 0x01;
|
||
217 .loc 1 80 3 is_stmt 1 view .LVU54
|
||
80:Core/Src/ADBMS_Abstraction.c **** module->status.VDE = (rxbuf[5] >> 6) & 0x01;
|
||
218 .loc 1 80 33 is_stmt 0 view .LVU55
|
||
219 00b0 9DF80D30 ldrb r3, [sp, #13] @ zero_extendqisi2
|
||
80:Core/Src/ADBMS_Abstraction.c **** module->status.VDE = (rxbuf[5] >> 6) & 0x01;
|
||
220 .loc 1 80 43 view .LVU56
|
||
221 00b4 D909 lsrs r1, r3, #7
|
||
80:Core/Src/ADBMS_Abstraction.c **** module->status.VDE = (rxbuf[5] >> 6) & 0x01;
|
||
222 .loc 1 80 25 view .LVU57
|
||
223 00b6 94F83920 ldrb r2, [r4, #57] @ zero_extendqisi2
|
||
224 00ba 61F30002 bfi r2, r1, #0, #1
|
||
225 00be 84F83920 strb r2, [r4, #57]
|
||
81:Core/Src/ADBMS_Abstraction.c **** module->status.COMPARE= (rxbuf[5] >> 5) & 0x01;
|
||
226 .loc 1 81 3 is_stmt 1 view .LVU58
|
||
81:Core/Src/ADBMS_Abstraction.c **** module->status.COMPARE= (rxbuf[5] >> 5) & 0x01;
|
||
227 .loc 1 81 43 is_stmt 0 view .LVU59
|
||
228 00c2 C3F38011 ubfx r1, r3, #6, #1
|
||
81:Core/Src/ADBMS_Abstraction.c **** module->status.COMPARE= (rxbuf[5] >> 5) & 0x01;
|
||
229 .loc 1 81 25 view .LVU60
|
||
230 00c6 D2B2 uxtb r2, r2
|
||
231 00c8 61F34102 bfi r2, r1, #1, #1
|
||
232 00cc 84F83920 strb r2, [r4, #57]
|
||
82:Core/Src/ADBMS_Abstraction.c **** module->status.SPIFLT = (rxbuf[5] >> 4) & 0x01;
|
||
ARM GAS /tmp/ccNub4kL.s page 8
|
||
|
||
|
||
233 .loc 1 82 3 is_stmt 1 view .LVU61
|
||
82:Core/Src/ADBMS_Abstraction.c **** module->status.SPIFLT = (rxbuf[5] >> 4) & 0x01;
|
||
234 .loc 1 82 43 is_stmt 0 view .LVU62
|
||
235 00d0 C3F34011 ubfx r1, r3, #5, #1
|
||
82:Core/Src/ADBMS_Abstraction.c **** module->status.SPIFLT = (rxbuf[5] >> 4) & 0x01;
|
||
236 .loc 1 82 25 view .LVU63
|
||
237 00d4 D2B2 uxtb r2, r2
|
||
238 00d6 61F38202 bfi r2, r1, #2, #1
|
||
239 00da 84F83920 strb r2, [r4, #57]
|
||
83:Core/Src/ADBMS_Abstraction.c **** module->status.SLEEP = (rxbuf[5] >> 3) & 0x01;
|
||
240 .loc 1 83 3 is_stmt 1 view .LVU64
|
||
83:Core/Src/ADBMS_Abstraction.c **** module->status.SLEEP = (rxbuf[5] >> 3) & 0x01;
|
||
241 .loc 1 83 43 is_stmt 0 view .LVU65
|
||
242 00de C3F30011 ubfx r1, r3, #4, #1
|
||
83:Core/Src/ADBMS_Abstraction.c **** module->status.SLEEP = (rxbuf[5] >> 3) & 0x01;
|
||
243 .loc 1 83 25 view .LVU66
|
||
244 00e2 D2B2 uxtb r2, r2
|
||
245 00e4 61F3C302 bfi r2, r1, #3, #1
|
||
246 00e8 84F83920 strb r2, [r4, #57]
|
||
84:Core/Src/ADBMS_Abstraction.c **** module->status.THSD = (rxbuf[5] >> 2) & 0x01;
|
||
247 .loc 1 84 3 is_stmt 1 view .LVU67
|
||
84:Core/Src/ADBMS_Abstraction.c **** module->status.THSD = (rxbuf[5] >> 2) & 0x01;
|
||
248 .loc 1 84 43 is_stmt 0 view .LVU68
|
||
249 00ec C3F3C001 ubfx r1, r3, #3, #1
|
||
84:Core/Src/ADBMS_Abstraction.c **** module->status.THSD = (rxbuf[5] >> 2) & 0x01;
|
||
250 .loc 1 84 25 view .LVU69
|
||
251 00f0 D2B2 uxtb r2, r2
|
||
252 00f2 61F30412 bfi r2, r1, #4, #1
|
||
253 00f6 84F83920 strb r2, [r4, #57]
|
||
85:Core/Src/ADBMS_Abstraction.c **** module->status.TMODCHK= (rxbuf[5] >> 1) & 0x01;
|
||
254 .loc 1 85 3 is_stmt 1 view .LVU70
|
||
85:Core/Src/ADBMS_Abstraction.c **** module->status.TMODCHK= (rxbuf[5] >> 1) & 0x01;
|
||
255 .loc 1 85 43 is_stmt 0 view .LVU71
|
||
256 00fa C3F38001 ubfx r1, r3, #2, #1
|
||
85:Core/Src/ADBMS_Abstraction.c **** module->status.TMODCHK= (rxbuf[5] >> 1) & 0x01;
|
||
257 .loc 1 85 25 view .LVU72
|
||
258 00fe D2B2 uxtb r2, r2
|
||
259 0100 61F34512 bfi r2, r1, #5, #1
|
||
260 0104 84F83920 strb r2, [r4, #57]
|
||
86:Core/Src/ADBMS_Abstraction.c **** module->status.OSCCHK = (rxbuf[5] >> 0) & 0x01;
|
||
261 .loc 1 86 3 is_stmt 1 view .LVU73
|
||
86:Core/Src/ADBMS_Abstraction.c **** module->status.OSCCHK = (rxbuf[5] >> 0) & 0x01;
|
||
262 .loc 1 86 43 is_stmt 0 view .LVU74
|
||
263 0108 C3F34001 ubfx r1, r3, #1, #1
|
||
86:Core/Src/ADBMS_Abstraction.c **** module->status.OSCCHK = (rxbuf[5] >> 0) & 0x01;
|
||
264 .loc 1 86 25 view .LVU75
|
||
265 010c D2B2 uxtb r2, r2
|
||
266 010e 61F38612 bfi r2, r1, #6, #1
|
||
267 0112 84F83920 strb r2, [r4, #57]
|
||
87:Core/Src/ADBMS_Abstraction.c ****
|
||
268 .loc 1 87 3 is_stmt 1 view .LVU76
|
||
87:Core/Src/ADBMS_Abstraction.c ****
|
||
269 .loc 1 87 25 is_stmt 0 view .LVU77
|
||
270 0116 D2B2 uxtb r2, r2
|
||
271 0118 63F3C712 bfi r2, r3, #7, #1
|
||
272 011c 84F83920 strb r2, [r4, #57]
|
||
89:Core/Src/ADBMS_Abstraction.c **** return 0; // aux ADC data not ready
|
||
ARM GAS /tmp/ccNub4kL.s page 9
|
||
|
||
|
||
273 .loc 1 89 3 is_stmt 1 view .LVU78
|
||
89:Core/Src/ADBMS_Abstraction.c **** return 0; // aux ADC data not ready
|
||
274 .loc 1 89 7 is_stmt 0 view .LVU79
|
||
275 0120 40F21E70 movw r0, #1822
|
||
276 0124 FFF7FEFF bl pollCMD
|
||
277 .LVL7:
|
||
89:Core/Src/ADBMS_Abstraction.c **** return 0; // aux ADC data not ready
|
||
278 .loc 1 89 6 discriminator 1 view .LVU80
|
||
279 0128 0028 cmp r0, #0
|
||
280 012a 3FF476AF beq .L7
|
||
281 .LBB3:
|
||
93:Core/Src/ADBMS_Abstraction.c ****
|
||
282 .loc 1 93 3 is_stmt 1 view .LVU81
|
||
283 012e 0622 movs r2, #6
|
||
284 0130 02A9 add r1, sp, #8
|
||
285 0132 1920 movs r0, #25
|
||
286 0134 FFF7FEFF bl readCMD
|
||
287 .LVL8:
|
||
93:Core/Src/ADBMS_Abstraction.c ****
|
||
288 .loc 1 93 3 discriminator 1 view .LVU82
|
||
289 0138 0028 cmp r0, #0
|
||
290 013a 7FF46EAF bne .L7
|
||
291 .LBE3:
|
||
93:Core/Src/ADBMS_Abstraction.c ****
|
||
292 .loc 1 93 57 discriminator 2 view .LVU83
|
||
95:Core/Src/ADBMS_Abstraction.c **** module->auxVoltages[1] = mV_from_ADBMS6830(rxbuf[2] | (rxbuf[3] << 8));
|
||
293 .loc 1 95 3 view .LVU84
|
||
95:Core/Src/ADBMS_Abstraction.c **** module->auxVoltages[1] = mV_from_ADBMS6830(rxbuf[2] | (rxbuf[3] << 8));
|
||
294 .loc 1 95 28 is_stmt 0 view .LVU85
|
||
295 013e 9DF80800 ldrb r0, [sp, #8] @ zero_extendqisi2
|
||
296 .LVL9:
|
||
95:Core/Src/ADBMS_Abstraction.c **** module->auxVoltages[1] = mV_from_ADBMS6830(rxbuf[2] | (rxbuf[3] << 8));
|
||
297 .loc 1 95 28 view .LVU86
|
||
298 0142 9DF80930 ldrb r3, [sp, #9] @ zero_extendqisi2
|
||
299 0146 40EA0320 orr r0, r0, r3, lsl #8
|
||
300 014a 00B2 sxth r0, r0
|
||
301 014c FFF7FEFF bl __aeabi_i2d
|
||
302 .LVL10:
|
||
303 0150 A5A3 adr r3, .L10
|
||
304 0152 D3E90023 ldrd r2, [r3]
|
||
305 0156 FFF7FEFF bl __aeabi_dmul
|
||
306 .LVL11:
|
||
307 015a A5A3 adr r3, .L10+8
|
||
308 015c D3E90023 ldrd r2, [r3]
|
||
309 0160 FFF7FEFF bl __aeabi_dadd
|
||
310 .LVL12:
|
||
95:Core/Src/ADBMS_Abstraction.c **** module->auxVoltages[1] = mV_from_ADBMS6830(rxbuf[2] | (rxbuf[3] << 8));
|
||
311 .loc 1 95 26 view .LVU87
|
||
312 0164 FFF7FEFF bl __aeabi_d2iz
|
||
313 .LVL13:
|
||
314 0168 2084 strh r0, [r4, #32] @ movhi
|
||
96:Core/Src/ADBMS_Abstraction.c **** module->auxVoltages[2] = mV_from_ADBMS6830(rxbuf[4] | (rxbuf[5] << 8));
|
||
315 .loc 1 96 3 is_stmt 1 view .LVU88
|
||
96:Core/Src/ADBMS_Abstraction.c **** module->auxVoltages[2] = mV_from_ADBMS6830(rxbuf[4] | (rxbuf[5] << 8));
|
||
316 .loc 1 96 28 is_stmt 0 view .LVU89
|
||
317 016a 9DF80A00 ldrb r0, [sp, #10] @ zero_extendqisi2
|
||
318 016e 9DF80B30 ldrb r3, [sp, #11] @ zero_extendqisi2
|
||
ARM GAS /tmp/ccNub4kL.s page 10
|
||
|
||
|
||
319 0172 40EA0320 orr r0, r0, r3, lsl #8
|
||
320 0176 00B2 sxth r0, r0
|
||
321 0178 FFF7FEFF bl __aeabi_i2d
|
||
322 .LVL14:
|
||
323 017c 9AA3 adr r3, .L10
|
||
324 017e D3E90023 ldrd r2, [r3]
|
||
325 0182 FFF7FEFF bl __aeabi_dmul
|
||
326 .LVL15:
|
||
327 0186 9AA3 adr r3, .L10+8
|
||
328 0188 D3E90023 ldrd r2, [r3]
|
||
329 018c FFF7FEFF bl __aeabi_dadd
|
||
330 .LVL16:
|
||
96:Core/Src/ADBMS_Abstraction.c **** module->auxVoltages[2] = mV_from_ADBMS6830(rxbuf[4] | (rxbuf[5] << 8));
|
||
331 .loc 1 96 26 view .LVU90
|
||
332 0190 FFF7FEFF bl __aeabi_d2iz
|
||
333 .LVL17:
|
||
334 0194 6084 strh r0, [r4, #34] @ movhi
|
||
97:Core/Src/ADBMS_Abstraction.c ****
|
||
335 .loc 1 97 3 is_stmt 1 view .LVU91
|
||
97:Core/Src/ADBMS_Abstraction.c ****
|
||
336 .loc 1 97 28 is_stmt 0 view .LVU92
|
||
337 0196 9DF80C00 ldrb r0, [sp, #12] @ zero_extendqisi2
|
||
338 019a 9DF80D30 ldrb r3, [sp, #13] @ zero_extendqisi2
|
||
339 019e 40EA0320 orr r0, r0, r3, lsl #8
|
||
340 01a2 00B2 sxth r0, r0
|
||
341 01a4 FFF7FEFF bl __aeabi_i2d
|
||
342 .LVL18:
|
||
343 01a8 8FA3 adr r3, .L10
|
||
344 01aa D3E90023 ldrd r2, [r3]
|
||
345 01ae FFF7FEFF bl __aeabi_dmul
|
||
346 .LVL19:
|
||
347 01b2 8FA3 adr r3, .L10+8
|
||
348 01b4 D3E90023 ldrd r2, [r3]
|
||
349 01b8 FFF7FEFF bl __aeabi_dadd
|
||
350 .LVL20:
|
||
97:Core/Src/ADBMS_Abstraction.c ****
|
||
351 .loc 1 97 26 view .LVU93
|
||
352 01bc FFF7FEFF bl __aeabi_d2iz
|
||
353 .LVL21:
|
||
354 01c0 A084 strh r0, [r4, #36] @ movhi
|
||
355 .LBB4:
|
||
99:Core/Src/ADBMS_Abstraction.c ****
|
||
356 .loc 1 99 3 is_stmt 1 view .LVU94
|
||
357 01c2 0622 movs r2, #6
|
||
358 01c4 02A9 add r1, sp, #8
|
||
359 01c6 1A20 movs r0, #26
|
||
360 01c8 FFF7FEFF bl readCMD
|
||
361 .LVL22:
|
||
99:Core/Src/ADBMS_Abstraction.c ****
|
||
362 .loc 1 99 3 discriminator 1 view .LVU95
|
||
363 01cc 0028 cmp r0, #0
|
||
364 01ce 7FF424AF bne .L7
|
||
365 .LBE4:
|
||
99:Core/Src/ADBMS_Abstraction.c ****
|
||
366 .loc 1 99 57 discriminator 2 view .LVU96
|
||
101:Core/Src/ADBMS_Abstraction.c **** module->auxVoltages[4] = mV_from_ADBMS6830(rxbuf[2] | (rxbuf[3] << 8));
|
||
367 .loc 1 101 3 view .LVU97
|
||
ARM GAS /tmp/ccNub4kL.s page 11
|
||
|
||
|
||
101:Core/Src/ADBMS_Abstraction.c **** module->auxVoltages[4] = mV_from_ADBMS6830(rxbuf[2] | (rxbuf[3] << 8));
|
||
368 .loc 1 101 28 is_stmt 0 view .LVU98
|
||
369 01d2 9DF80800 ldrb r0, [sp, #8] @ zero_extendqisi2
|
||
370 .LVL23:
|
||
101:Core/Src/ADBMS_Abstraction.c **** module->auxVoltages[4] = mV_from_ADBMS6830(rxbuf[2] | (rxbuf[3] << 8));
|
||
371 .loc 1 101 28 view .LVU99
|
||
372 01d6 9DF80930 ldrb r3, [sp, #9] @ zero_extendqisi2
|
||
373 01da 40EA0320 orr r0, r0, r3, lsl #8
|
||
374 01de 00B2 sxth r0, r0
|
||
375 01e0 FFF7FEFF bl __aeabi_i2d
|
||
376 .LVL24:
|
||
377 01e4 80A3 adr r3, .L10
|
||
378 01e6 D3E90023 ldrd r2, [r3]
|
||
379 01ea FFF7FEFF bl __aeabi_dmul
|
||
380 .LVL25:
|
||
381 01ee 80A3 adr r3, .L10+8
|
||
382 01f0 D3E90023 ldrd r2, [r3]
|
||
383 01f4 FFF7FEFF bl __aeabi_dadd
|
||
384 .LVL26:
|
||
101:Core/Src/ADBMS_Abstraction.c **** module->auxVoltages[4] = mV_from_ADBMS6830(rxbuf[2] | (rxbuf[3] << 8));
|
||
385 .loc 1 101 26 view .LVU100
|
||
386 01f8 FFF7FEFF bl __aeabi_d2iz
|
||
387 .LVL27:
|
||
388 01fc E084 strh r0, [r4, #38] @ movhi
|
||
102:Core/Src/ADBMS_Abstraction.c **** module->auxVoltages[5] = mV_from_ADBMS6830(rxbuf[4] | (rxbuf[5] << 8));
|
||
389 .loc 1 102 3 is_stmt 1 view .LVU101
|
||
102:Core/Src/ADBMS_Abstraction.c **** module->auxVoltages[5] = mV_from_ADBMS6830(rxbuf[4] | (rxbuf[5] << 8));
|
||
390 .loc 1 102 28 is_stmt 0 view .LVU102
|
||
391 01fe 9DF80A00 ldrb r0, [sp, #10] @ zero_extendqisi2
|
||
392 0202 9DF80B30 ldrb r3, [sp, #11] @ zero_extendqisi2
|
||
393 0206 40EA0320 orr r0, r0, r3, lsl #8
|
||
394 020a 00B2 sxth r0, r0
|
||
395 020c FFF7FEFF bl __aeabi_i2d
|
||
396 .LVL28:
|
||
397 0210 75A3 adr r3, .L10
|
||
398 0212 D3E90023 ldrd r2, [r3]
|
||
399 0216 FFF7FEFF bl __aeabi_dmul
|
||
400 .LVL29:
|
||
401 021a 75A3 adr r3, .L10+8
|
||
402 021c D3E90023 ldrd r2, [r3]
|
||
403 0220 FFF7FEFF bl __aeabi_dadd
|
||
404 .LVL30:
|
||
102:Core/Src/ADBMS_Abstraction.c **** module->auxVoltages[5] = mV_from_ADBMS6830(rxbuf[4] | (rxbuf[5] << 8));
|
||
405 .loc 1 102 26 view .LVU103
|
||
406 0224 FFF7FEFF bl __aeabi_d2iz
|
||
407 .LVL31:
|
||
408 0228 2085 strh r0, [r4, #40] @ movhi
|
||
103:Core/Src/ADBMS_Abstraction.c ****
|
||
409 .loc 1 103 3 is_stmt 1 view .LVU104
|
||
103:Core/Src/ADBMS_Abstraction.c ****
|
||
410 .loc 1 103 28 is_stmt 0 view .LVU105
|
||
411 022a 9DF80C00 ldrb r0, [sp, #12] @ zero_extendqisi2
|
||
412 022e 9DF80D30 ldrb r3, [sp, #13] @ zero_extendqisi2
|
||
413 0232 40EA0320 orr r0, r0, r3, lsl #8
|
||
414 0236 00B2 sxth r0, r0
|
||
415 0238 FFF7FEFF bl __aeabi_i2d
|
||
416 .LVL32:
|
||
ARM GAS /tmp/ccNub4kL.s page 12
|
||
|
||
|
||
417 023c 6AA3 adr r3, .L10
|
||
418 023e D3E90023 ldrd r2, [r3]
|
||
419 0242 FFF7FEFF bl __aeabi_dmul
|
||
420 .LVL33:
|
||
421 0246 6AA3 adr r3, .L10+8
|
||
422 0248 D3E90023 ldrd r2, [r3]
|
||
423 024c FFF7FEFF bl __aeabi_dadd
|
||
424 .LVL34:
|
||
103:Core/Src/ADBMS_Abstraction.c ****
|
||
425 .loc 1 103 26 view .LVU106
|
||
426 0250 FFF7FEFF bl __aeabi_d2iz
|
||
427 .LVL35:
|
||
428 0254 6085 strh r0, [r4, #42] @ movhi
|
||
429 .LBB5:
|
||
105:Core/Src/ADBMS_Abstraction.c ****
|
||
430 .loc 1 105 3 is_stmt 1 view .LVU107
|
||
431 0256 0622 movs r2, #6
|
||
432 0258 02A9 add r1, sp, #8
|
||
433 025a 1B20 movs r0, #27
|
||
434 025c FFF7FEFF bl readCMD
|
||
435 .LVL36:
|
||
105:Core/Src/ADBMS_Abstraction.c ****
|
||
436 .loc 1 105 3 discriminator 1 view .LVU108
|
||
437 0260 0028 cmp r0, #0
|
||
438 0262 7FF4DAAE bne .L7
|
||
439 .LBE5:
|
||
105:Core/Src/ADBMS_Abstraction.c ****
|
||
440 .loc 1 105 57 discriminator 2 view .LVU109
|
||
107:Core/Src/ADBMS_Abstraction.c **** module->auxVoltages[7] = mV_from_ADBMS6830(rxbuf[2] | (rxbuf[3] << 8));
|
||
441 .loc 1 107 3 view .LVU110
|
||
107:Core/Src/ADBMS_Abstraction.c **** module->auxVoltages[7] = mV_from_ADBMS6830(rxbuf[2] | (rxbuf[3] << 8));
|
||
442 .loc 1 107 28 is_stmt 0 view .LVU111
|
||
443 0266 9DF80800 ldrb r0, [sp, #8] @ zero_extendqisi2
|
||
444 .LVL37:
|
||
107:Core/Src/ADBMS_Abstraction.c **** module->auxVoltages[7] = mV_from_ADBMS6830(rxbuf[2] | (rxbuf[3] << 8));
|
||
445 .loc 1 107 28 view .LVU112
|
||
446 026a 9DF80930 ldrb r3, [sp, #9] @ zero_extendqisi2
|
||
447 026e 40EA0320 orr r0, r0, r3, lsl #8
|
||
448 0272 00B2 sxth r0, r0
|
||
449 0274 FFF7FEFF bl __aeabi_i2d
|
||
450 .LVL38:
|
||
451 0278 5BA3 adr r3, .L10
|
||
452 027a D3E90023 ldrd r2, [r3]
|
||
453 027e FFF7FEFF bl __aeabi_dmul
|
||
454 .LVL39:
|
||
455 0282 5BA3 adr r3, .L10+8
|
||
456 0284 D3E90023 ldrd r2, [r3]
|
||
457 0288 FFF7FEFF bl __aeabi_dadd
|
||
458 .LVL40:
|
||
107:Core/Src/ADBMS_Abstraction.c **** module->auxVoltages[7] = mV_from_ADBMS6830(rxbuf[2] | (rxbuf[3] << 8));
|
||
459 .loc 1 107 26 view .LVU113
|
||
460 028c FFF7FEFF bl __aeabi_d2iz
|
||
461 .LVL41:
|
||
462 0290 A085 strh r0, [r4, #44] @ movhi
|
||
108:Core/Src/ADBMS_Abstraction.c **** module->auxVoltages[8] = mV_from_ADBMS6830(rxbuf[4] | (rxbuf[5] << 8));
|
||
463 .loc 1 108 3 is_stmt 1 view .LVU114
|
||
108:Core/Src/ADBMS_Abstraction.c **** module->auxVoltages[8] = mV_from_ADBMS6830(rxbuf[4] | (rxbuf[5] << 8));
|
||
ARM GAS /tmp/ccNub4kL.s page 13
|
||
|
||
|
||
464 .loc 1 108 28 is_stmt 0 view .LVU115
|
||
465 0292 9DF80A00 ldrb r0, [sp, #10] @ zero_extendqisi2
|
||
466 0296 9DF80B30 ldrb r3, [sp, #11] @ zero_extendqisi2
|
||
467 029a 40EA0320 orr r0, r0, r3, lsl #8
|
||
468 029e 00B2 sxth r0, r0
|
||
469 02a0 FFF7FEFF bl __aeabi_i2d
|
||
470 .LVL42:
|
||
471 02a4 50A3 adr r3, .L10
|
||
472 02a6 D3E90023 ldrd r2, [r3]
|
||
473 02aa FFF7FEFF bl __aeabi_dmul
|
||
474 .LVL43:
|
||
475 02ae 50A3 adr r3, .L10+8
|
||
476 02b0 D3E90023 ldrd r2, [r3]
|
||
477 02b4 FFF7FEFF bl __aeabi_dadd
|
||
478 .LVL44:
|
||
108:Core/Src/ADBMS_Abstraction.c **** module->auxVoltages[8] = mV_from_ADBMS6830(rxbuf[4] | (rxbuf[5] << 8));
|
||
479 .loc 1 108 26 view .LVU116
|
||
480 02b8 FFF7FEFF bl __aeabi_d2iz
|
||
481 .LVL45:
|
||
482 02bc E085 strh r0, [r4, #46] @ movhi
|
||
109:Core/Src/ADBMS_Abstraction.c ****
|
||
483 .loc 1 109 3 is_stmt 1 view .LVU117
|
||
109:Core/Src/ADBMS_Abstraction.c ****
|
||
484 .loc 1 109 28 is_stmt 0 view .LVU118
|
||
485 02be 9DF80C00 ldrb r0, [sp, #12] @ zero_extendqisi2
|
||
486 02c2 9DF80D30 ldrb r3, [sp, #13] @ zero_extendqisi2
|
||
487 02c6 40EA0320 orr r0, r0, r3, lsl #8
|
||
488 02ca 00B2 sxth r0, r0
|
||
489 02cc FFF7FEFF bl __aeabi_i2d
|
||
490 .LVL46:
|
||
491 02d0 45A3 adr r3, .L10
|
||
492 02d2 D3E90023 ldrd r2, [r3]
|
||
493 02d6 FFF7FEFF bl __aeabi_dmul
|
||
494 .LVL47:
|
||
495 02da 45A3 adr r3, .L10+8
|
||
496 02dc D3E90023 ldrd r2, [r3]
|
||
497 02e0 FFF7FEFF bl __aeabi_dadd
|
||
498 .LVL48:
|
||
109:Core/Src/ADBMS_Abstraction.c ****
|
||
499 .loc 1 109 26 view .LVU119
|
||
500 02e4 FFF7FEFF bl __aeabi_d2iz
|
||
501 .LVL49:
|
||
502 02e8 2086 strh r0, [r4, #48] @ movhi
|
||
503 .LBB6:
|
||
111:Core/Src/ADBMS_Abstraction.c ****
|
||
504 .loc 1 111 3 is_stmt 1 view .LVU120
|
||
505 02ea 0622 movs r2, #6
|
||
506 02ec 02A9 add r1, sp, #8
|
||
507 02ee 1F20 movs r0, #31
|
||
508 02f0 FFF7FEFF bl readCMD
|
||
509 .LVL50:
|
||
111:Core/Src/ADBMS_Abstraction.c ****
|
||
510 .loc 1 111 3 discriminator 1 view .LVU121
|
||
511 02f4 0028 cmp r0, #0
|
||
512 02f6 7FF490AE bne .L7
|
||
513 .LBE6:
|
||
111:Core/Src/ADBMS_Abstraction.c ****
|
||
ARM GAS /tmp/ccNub4kL.s page 14
|
||
|
||
|
||
514 .loc 1 111 57 discriminator 2 view .LVU122
|
||
113:Core/Src/ADBMS_Abstraction.c ****
|
||
515 .loc 1 113 3 view .LVU123
|
||
113:Core/Src/ADBMS_Abstraction.c ****
|
||
516 .loc 1 113 28 is_stmt 0 view .LVU124
|
||
517 02fa 9DF80800 ldrb r0, [sp, #8] @ zero_extendqisi2
|
||
518 .LVL51:
|
||
113:Core/Src/ADBMS_Abstraction.c ****
|
||
519 .loc 1 113 28 view .LVU125
|
||
520 02fe 9DF80930 ldrb r3, [sp, #9] @ zero_extendqisi2
|
||
521 0302 40EA0320 orr r0, r0, r3, lsl #8
|
||
522 0306 00B2 sxth r0, r0
|
||
523 0308 FFF7FEFF bl __aeabi_i2d
|
||
524 .LVL52:
|
||
525 030c 36A3 adr r3, .L10
|
||
526 030e D3E90023 ldrd r2, [r3]
|
||
527 0312 FFF7FEFF bl __aeabi_dmul
|
||
528 .LVL53:
|
||
529 0316 36A3 adr r3, .L10+8
|
||
530 0318 D3E90023 ldrd r2, [r3]
|
||
531 031c FFF7FEFF bl __aeabi_dadd
|
||
532 .LVL54:
|
||
113:Core/Src/ADBMS_Abstraction.c ****
|
||
533 .loc 1 113 26 view .LVU126
|
||
534 0320 FFF7FEFF bl __aeabi_d2iz
|
||
535 .LVL55:
|
||
536 0324 6086 strh r0, [r4, #50] @ movhi
|
||
115:Core/Src/ADBMS_Abstraction.c ****
|
||
537 .loc 1 115 3 is_stmt 1 view .LVU127
|
||
538 .LBB7:
|
||
117:Core/Src/ADBMS_Abstraction.c ****
|
||
539 .loc 1 117 3 view .LVU128
|
||
540 0326 0622 movs r2, #6
|
||
541 0328 6946 mov r1, sp
|
||
542 032a 3020 movs r0, #48
|
||
543 032c FFF7FEFF bl readCMD
|
||
544 .LVL56:
|
||
117:Core/Src/ADBMS_Abstraction.c ****
|
||
545 .loc 1 117 3 discriminator 1 view .LVU129
|
||
546 0330 0028 cmp r0, #0
|
||
547 0332 7FF472AE bne .L7
|
||
548 .LBE7:
|
||
117:Core/Src/ADBMS_Abstraction.c ****
|
||
549 .loc 1 117 64 discriminator 2 view .LVU130
|
||
119:Core/Src/ADBMS_Abstraction.c ****
|
||
550 .loc 1 119 3 view .LVU131
|
||
119:Core/Src/ADBMS_Abstraction.c ****
|
||
551 .loc 1 119 37 is_stmt 0 view .LVU132
|
||
552 0336 9DF80230 ldrb r3, [sp, #2] @ zero_extendqisi2
|
||
119:Core/Src/ADBMS_Abstraction.c ****
|
||
553 .loc 1 119 52 view .LVU133
|
||
554 033a 9DF80320 ldrb r2, [sp, #3] @ zero_extendqisi2
|
||
119:Core/Src/ADBMS_Abstraction.c ****
|
||
555 .loc 1 119 41 view .LVU134
|
||
556 033e 43EA0223 orr r3, r3, r2, lsl #8
|
||
119:Core/Src/ADBMS_Abstraction.c ****
|
||
557 .loc 1 119 27 view .LVU135
|
||
ARM GAS /tmp/ccNub4kL.s page 15
|
||
|
||
|
||
558 0342 6387 strh r3, [r4, #58] @ movhi
|
||
559 .LBB8:
|
||
121:Core/Src/ADBMS_Abstraction.c **** module->digitalSupplyVoltage = mV_from_ADBMS6830(rxbuffer[0] | (rxbuffer[1] << 8));
|
||
560 .loc 1 121 3 is_stmt 1 view .LVU136
|
||
561 0344 0622 movs r2, #6
|
||
562 0346 6946 mov r1, sp
|
||
563 0348 3120 movs r0, #49
|
||
564 .LVL57:
|
||
121:Core/Src/ADBMS_Abstraction.c **** module->digitalSupplyVoltage = mV_from_ADBMS6830(rxbuffer[0] | (rxbuffer[1] << 8));
|
||
565 .loc 1 121 3 is_stmt 0 view .LVU137
|
||
566 034a FFF7FEFF bl readCMD
|
||
567 .LVL58:
|
||
121:Core/Src/ADBMS_Abstraction.c **** module->digitalSupplyVoltage = mV_from_ADBMS6830(rxbuffer[0] | (rxbuffer[1] << 8));
|
||
568 .loc 1 121 3 is_stmt 1 discriminator 1 view .LVU138
|
||
569 034e 0028 cmp r0, #0
|
||
570 0350 7FF463AE bne .L7
|
||
571 .LBE8:
|
||
121:Core/Src/ADBMS_Abstraction.c **** module->digitalSupplyVoltage = mV_from_ADBMS6830(rxbuffer[0] | (rxbuffer[1] << 8));
|
||
572 .loc 1 121 64 discriminator 2 view .LVU139
|
||
122:Core/Src/ADBMS_Abstraction.c **** module->analogSupplyVoltage = mV_from_ADBMS6830(rxbuffer[2] | (rxbuffer[3] << 8));
|
||
573 .loc 1 122 3 view .LVU140
|
||
122:Core/Src/ADBMS_Abstraction.c **** module->analogSupplyVoltage = mV_from_ADBMS6830(rxbuffer[2] | (rxbuffer[3] << 8));
|
||
574 .loc 1 122 34 is_stmt 0 view .LVU141
|
||
575 0354 9DF80000 ldrb r0, [sp] @ zero_extendqisi2
|
||
576 .LVL59:
|
||
122:Core/Src/ADBMS_Abstraction.c **** module->analogSupplyVoltage = mV_from_ADBMS6830(rxbuffer[2] | (rxbuffer[3] << 8));
|
||
577 .loc 1 122 34 view .LVU142
|
||
578 0358 9DF80130 ldrb r3, [sp, #1] @ zero_extendqisi2
|
||
579 035c 40EA0320 orr r0, r0, r3, lsl #8
|
||
580 0360 00B2 sxth r0, r0
|
||
581 0362 FFF7FEFF bl __aeabi_i2d
|
||
582 .LVL60:
|
||
583 0366 20A3 adr r3, .L10
|
||
584 0368 D3E90023 ldrd r2, [r3]
|
||
585 036c FFF7FEFF bl __aeabi_dmul
|
||
586 .LVL61:
|
||
587 0370 1FA3 adr r3, .L10+8
|
||
588 0372 D3E90023 ldrd r2, [r3]
|
||
589 0376 FFF7FEFF bl __aeabi_dadd
|
||
590 .LVL62:
|
||
122:Core/Src/ADBMS_Abstraction.c **** module->analogSupplyVoltage = mV_from_ADBMS6830(rxbuffer[2] | (rxbuffer[3] << 8));
|
||
591 .loc 1 122 32 view .LVU143
|
||
592 037a FFF7FEFF bl __aeabi_d2uiz
|
||
593 .LVL63:
|
||
594 037e E087 strh r0, [r4, #62] @ movhi
|
||
123:Core/Src/ADBMS_Abstraction.c **** module->refVoltage = mV_from_ADBMS6830(rxbuffer[4] | (rxbuffer[5] << 8));
|
||
595 .loc 1 123 3 is_stmt 1 view .LVU144
|
||
123:Core/Src/ADBMS_Abstraction.c **** module->refVoltage = mV_from_ADBMS6830(rxbuffer[4] | (rxbuffer[5] << 8));
|
||
596 .loc 1 123 34 is_stmt 0 view .LVU145
|
||
597 0380 9DF80200 ldrb r0, [sp, #2] @ zero_extendqisi2
|
||
598 0384 9DF80330 ldrb r3, [sp, #3] @ zero_extendqisi2
|
||
599 0388 40EA0320 orr r0, r0, r3, lsl #8
|
||
600 038c 00B2 sxth r0, r0
|
||
601 038e FFF7FEFF bl __aeabi_i2d
|
||
602 .LVL64:
|
||
603 0392 15A3 adr r3, .L10
|
||
604 0394 D3E90023 ldrd r2, [r3]
|
||
ARM GAS /tmp/ccNub4kL.s page 16
|
||
|
||
|
||
605 0398 FFF7FEFF bl __aeabi_dmul
|
||
606 .LVL65:
|
||
607 039c 14A3 adr r3, .L10+8
|
||
608 039e D3E90023 ldrd r2, [r3]
|
||
609 03a2 FFF7FEFF bl __aeabi_dadd
|
||
610 .LVL66:
|
||
123:Core/Src/ADBMS_Abstraction.c **** module->refVoltage = mV_from_ADBMS6830(rxbuffer[4] | (rxbuffer[5] << 8));
|
||
611 .loc 1 123 32 view .LVU146
|
||
612 03a6 FFF7FEFF bl __aeabi_d2uiz
|
||
613 .LVL67:
|
||
614 03aa A087 strh r0, [r4, #60] @ movhi
|
||
124:Core/Src/ADBMS_Abstraction.c ****
|
||
615 .loc 1 124 3 is_stmt 1 view .LVU147
|
||
124:Core/Src/ADBMS_Abstraction.c ****
|
||
616 .loc 1 124 34 is_stmt 0 view .LVU148
|
||
617 03ac 9DF80400 ldrb r0, [sp, #4] @ zero_extendqisi2
|
||
618 03b0 9DF80530 ldrb r3, [sp, #5] @ zero_extendqisi2
|
||
619 03b4 40EA0320 orr r0, r0, r3, lsl #8
|
||
620 03b8 00B2 sxth r0, r0
|
||
621 03ba FFF7FEFF bl __aeabi_i2d
|
||
622 .LVL68:
|
||
623 03be 0AA3 adr r3, .L10
|
||
624 03c0 D3E90023 ldrd r2, [r3]
|
||
625 03c4 FFF7FEFF bl __aeabi_dmul
|
||
626 .LVL69:
|
||
627 03c8 09A3 adr r3, .L10+8
|
||
628 03ca D3E90023 ldrd r2, [r3]
|
||
629 03ce FFF7FEFF bl __aeabi_dadd
|
||
630 .LVL70:
|
||
124:Core/Src/ADBMS_Abstraction.c ****
|
||
631 .loc 1 124 32 view .LVU149
|
||
632 03d2 FFF7FEFF bl __aeabi_d2uiz
|
||
633 .LVL71:
|
||
634 03d6 A4F84200 strh r0, [r4, #66] @ movhi
|
||
635 .LBB9:
|
||
126:Core/Src/ADBMS_Abstraction.c ****
|
||
636 .loc 1 126 3 is_stmt 1 view .LVU150
|
||
637 03da 0022 movs r2, #0
|
||
638 .LVL72:
|
||
126:Core/Src/ADBMS_Abstraction.c ****
|
||
639 .loc 1 126 3 is_stmt 0 view .LVU151
|
||
640 03dc 1146 mov r1, r2
|
||
641 03de 4FF48260 mov r0, #1040
|
||
642 03e2 FFF7FEFF bl writeCMD
|
||
643 .LVL73:
|
||
126:Core/Src/ADBMS_Abstraction.c ****
|
||
644 .loc 1 126 3 is_stmt 1 discriminator 1 view .LVU152
|
||
645 03e6 18E6 b .L7
|
||
646 .L11:
|
||
647 .align 3
|
||
648 .L10:
|
||
649 03e8 33333333 .word 858993459
|
||
650 03ec 3333C33F .word 1069757235
|
||
651 03f0 00000000 .word 0
|
||
652 03f4 00709740 .word 1083666432
|
||
653 .LBE9:
|
||
654 .cfi_endproc
|
||
ARM GAS /tmp/ccNub4kL.s page 17
|
||
|
||
|
||
655 .LFE128:
|
||
657 .section .text.amsConfigBalancing,"ax",%progbits
|
||
658 .align 1
|
||
659 .global amsConfigBalancing
|
||
660 .syntax unified
|
||
661 .thumb
|
||
662 .thumb_func
|
||
664 amsConfigBalancing:
|
||
665 .LVL74:
|
||
666 .LFB129:
|
||
130:Core/Src/ADBMS_Abstraction.c ****
|
||
131:Core/Src/ADBMS_Abstraction.c **** uint8 amsConfigBalancing(uint32 channels, uint8 dutyCycle) {
|
||
667 .loc 1 131 60 view -0
|
||
668 .cfi_startproc
|
||
669 @ args = 0, pretend = 0, frame = 16
|
||
670 @ frame_needed = 0, uses_anonymous_args = 0
|
||
671 .loc 1 131 60 is_stmt 0 view .LVU154
|
||
672 0000 30B5 push {r4, r5, lr}
|
||
673 .cfi_def_cfa_offset 12
|
||
674 .cfi_offset 4, -12
|
||
675 .cfi_offset 5, -8
|
||
676 .cfi_offset 14, -4
|
||
677 0002 85B0 sub sp, sp, #20
|
||
678 .cfi_def_cfa_offset 32
|
||
679 0004 0446 mov r4, r0
|
||
680 0006 0D46 mov r5, r1
|
||
132:Core/Src/ADBMS_Abstraction.c **** uint8 buffer_a[PWM_GROUP_A_SIZE] = {};
|
||
681 .loc 1 132 3 is_stmt 1 view .LVU155
|
||
682 .loc 1 132 9 is_stmt 0 view .LVU156
|
||
683 0008 0023 movs r3, #0
|
||
684 000a 0293 str r3, [sp, #8]
|
||
685 000c ADF80C30 strh r3, [sp, #12] @ movhi
|
||
133:Core/Src/ADBMS_Abstraction.c **** uint8 buffer_b[PWM_GROUP_B_SIZE] = {};
|
||
686 .loc 1 133 3 is_stmt 1 view .LVU157
|
||
687 .loc 1 133 9 is_stmt 0 view .LVU158
|
||
688 0010 ADF80430 strh r3, [sp, #4] @ movhi
|
||
689 .LBB10:
|
||
134:Core/Src/ADBMS_Abstraction.c **** CHECK_RETURN(readCMD(RDPWMA, buffer_a, CFG_GROUP_A_SIZE));
|
||
690 .loc 1 134 3 is_stmt 1 view .LVU159
|
||
691 0014 0622 movs r2, #6
|
||
692 0016 02A9 add r1, sp, #8
|
||
693 .LVL75:
|
||
694 .loc 1 134 3 is_stmt 0 view .LVU160
|
||
695 0018 2220 movs r0, #34
|
||
696 .LVL76:
|
||
697 .loc 1 134 3 view .LVU161
|
||
698 001a FFF7FEFF bl readCMD
|
||
699 .LVL77:
|
||
700 .loc 1 134 3 is_stmt 1 discriminator 1 view .LVU162
|
||
701 001e 0346 mov r3, r0
|
||
702 0020 10B1 cbz r0, .L28
|
||
703 .LVL78:
|
||
704 .L13:
|
||
705 .loc 1 134 3 is_stmt 0 discriminator 1 view .LVU163
|
||
706 .LBE10:
|
||
135:Core/Src/ADBMS_Abstraction.c **** CHECK_RETURN(readCMD(RDPWMB, buffer_b, CFG_GROUP_B_SIZE));
|
||
136:Core/Src/ADBMS_Abstraction.c ****
|
||
ARM GAS /tmp/ccNub4kL.s page 18
|
||
|
||
|
||
137:Core/Src/ADBMS_Abstraction.c **** if (dutyCycle > 0x0F) { // there are only 4 bits for duty cycle
|
||
138:Core/Src/ADBMS_Abstraction.c **** return 1;
|
||
139:Core/Src/ADBMS_Abstraction.c **** }
|
||
140:Core/Src/ADBMS_Abstraction.c ****
|
||
141:Core/Src/ADBMS_Abstraction.c **** #warning fixme
|
||
142:Core/Src/ADBMS_Abstraction.c ****
|
||
143:Core/Src/ADBMS_Abstraction.c **** for (size_t i = 0; i < 16; i += 2) {
|
||
144:Core/Src/ADBMS_Abstraction.c **** if (i < 12) { // cells 0, 1 are in regbuffer[0], cells 2, 3 in regbuffer[1], ...
|
||
145:Core/Src/ADBMS_Abstraction.c **** buffer_a[i / 2] = ((channels & (1 << (i + 1))) ? (dutyCycle << 4) : 0) |
|
||
146:Core/Src/ADBMS_Abstraction.c **** ((channels & (1 << i)) ? dutyCycle : 0);
|
||
147:Core/Src/ADBMS_Abstraction.c **** } else {
|
||
148:Core/Src/ADBMS_Abstraction.c **** buffer_b[(i - 12) / 2] = ((channels & (1 << (i + 1))) ? (dutyCycle << 4) : 0) |
|
||
149:Core/Src/ADBMS_Abstraction.c **** ((channels & (1 << i)) ? dutyCycle : 0);
|
||
150:Core/Src/ADBMS_Abstraction.c **** }
|
||
151:Core/Src/ADBMS_Abstraction.c **** }
|
||
152:Core/Src/ADBMS_Abstraction.c ****
|
||
153:Core/Src/ADBMS_Abstraction.c **** CHECK_RETURN(writeCMD(WRPWMA, buffer_a, CFG_GROUP_A_SIZE));
|
||
154:Core/Src/ADBMS_Abstraction.c **** CHECK_RETURN(writeCMD(WRPWMB, buffer_b, CFG_GROUP_B_SIZE));
|
||
155:Core/Src/ADBMS_Abstraction.c ****
|
||
156:Core/Src/ADBMS_Abstraction.c **** return 0;
|
||
157:Core/Src/ADBMS_Abstraction.c **** }
|
||
707 .loc 1 157 1 view .LVU164
|
||
708 0022 1846 mov r0, r3
|
||
709 0024 05B0 add sp, sp, #20
|
||
710 .cfi_remember_state
|
||
711 .cfi_def_cfa_offset 12
|
||
712 @ sp needed
|
||
713 0026 30BD pop {r4, r5, pc}
|
||
714 .LVL79:
|
||
715 .L28:
|
||
716 .cfi_restore_state
|
||
134:Core/Src/ADBMS_Abstraction.c **** CHECK_RETURN(readCMD(RDPWMA, buffer_a, CFG_GROUP_A_SIZE));
|
||
717 .loc 1 134 60 is_stmt 1 discriminator 2 view .LVU165
|
||
718 .LBB11:
|
||
135:Core/Src/ADBMS_Abstraction.c **** CHECK_RETURN(readCMD(RDPWMB, buffer_b, CFG_GROUP_B_SIZE));
|
||
719 .loc 1 135 3 view .LVU166
|
||
720 0028 0622 movs r2, #6
|
||
721 002a 01A9 add r1, sp, #4
|
||
722 002c 2320 movs r0, #35
|
||
723 .LVL80:
|
||
135:Core/Src/ADBMS_Abstraction.c **** CHECK_RETURN(readCMD(RDPWMB, buffer_b, CFG_GROUP_B_SIZE));
|
||
724 .loc 1 135 3 is_stmt 0 view .LVU167
|
||
725 002e FFF7FEFF bl readCMD
|
||
726 .LVL81:
|
||
135:Core/Src/ADBMS_Abstraction.c **** CHECK_RETURN(readCMD(RDPWMB, buffer_b, CFG_GROUP_B_SIZE));
|
||
727 .loc 1 135 3 is_stmt 1 discriminator 1 view .LVU168
|
||
728 0032 0346 mov r3, r0
|
||
729 0034 0028 cmp r0, #0
|
||
730 0036 F4D1 bne .L13
|
||
731 .LBE11:
|
||
135:Core/Src/ADBMS_Abstraction.c **** CHECK_RETURN(readCMD(RDPWMB, buffer_b, CFG_GROUP_B_SIZE));
|
||
732 .loc 1 135 60 discriminator 2 view .LVU169
|
||
137:Core/Src/ADBMS_Abstraction.c **** return 1;
|
||
733 .loc 1 137 3 view .LVU170
|
||
137:Core/Src/ADBMS_Abstraction.c **** return 1;
|
||
734 .loc 1 137 6 is_stmt 0 view .LVU171
|
||
735 0038 0F2D cmp r5, #15
|
||
ARM GAS /tmp/ccNub4kL.s page 19
|
||
|
||
|
||
736 003a 44D8 bhi .L22
|
||
737 .LBB12:
|
||
143:Core/Src/ADBMS_Abstraction.c **** if (i < 12) { // cells 0, 1 are in regbuffer[0], cells 2, 3 in regbuffer[1], ...
|
||
738 .loc 1 143 15 view .LVU172
|
||
739 003c 0023 movs r3, #0
|
||
740 003e 09E0 b .L14
|
||
741 .LVL82:
|
||
742 .L23:
|
||
145:Core/Src/ADBMS_Abstraction.c **** ((channels & (1 << i)) ? dutyCycle : 0);
|
||
743 .loc 1 145 78 discriminator 2 view .LVU173
|
||
744 0040 0022 movs r2, #0
|
||
745 0042 12E0 b .L16
|
||
746 .L24:
|
||
145:Core/Src/ADBMS_Abstraction.c **** ((channels & (1 << i)) ? dutyCycle : 0);
|
||
747 .loc 1 145 78 discriminator 6 view .LVU174
|
||
748 0044 0021 movs r1, #0
|
||
749 .L17:
|
||
145:Core/Src/ADBMS_Abstraction.c **** ((channels & (1 << i)) ? dutyCycle : 0);
|
||
750 .loc 1 145 78 discriminator 8 view .LVU175
|
||
751 0046 0A43 orrs r2, r2, r1
|
||
145:Core/Src/ADBMS_Abstraction.c **** ((channels & (1 << i)) ? dutyCycle : 0);
|
||
752 .loc 1 145 23 discriminator 8 view .LVU176
|
||
753 0048 04A9 add r1, sp, #16
|
||
754 004a 01EB5301 add r1, r1, r3, lsr #1
|
||
755 004e 01F8082C strb r2, [r1, #-8]
|
||
756 .L18:
|
||
143:Core/Src/ADBMS_Abstraction.c **** if (i < 12) { // cells 0, 1 are in regbuffer[0], cells 2, 3 in regbuffer[1], ...
|
||
757 .loc 1 143 32 is_stmt 1 discriminator 2 view .LVU177
|
||
758 0052 0233 adds r3, r3, #2
|
||
759 .LVL83:
|
||
760 .L14:
|
||
143:Core/Src/ADBMS_Abstraction.c **** if (i < 12) { // cells 0, 1 are in regbuffer[0], cells 2, 3 in regbuffer[1], ...
|
||
761 .loc 1 143 24 discriminator 1 view .LVU178
|
||
762 0054 0F2B cmp r3, #15
|
||
763 0056 27D8 bhi .L29
|
||
144:Core/Src/ADBMS_Abstraction.c **** buffer_a[i / 2] = ((channels & (1 << (i + 1))) ? (dutyCycle << 4) : 0) |
|
||
764 .loc 1 144 5 view .LVU179
|
||
144:Core/Src/ADBMS_Abstraction.c **** buffer_a[i / 2] = ((channels & (1 << (i + 1))) ? (dutyCycle << 4) : 0) |
|
||
765 .loc 1 144 8 is_stmt 0 view .LVU180
|
||
766 0058 0B2B cmp r3, #11
|
||
767 005a 0CD8 bhi .L15
|
||
145:Core/Src/ADBMS_Abstraction.c **** ((channels & (1 << i)) ? dutyCycle : 0);
|
||
768 .loc 1 145 7 is_stmt 1 view .LVU181
|
||
145:Core/Src/ADBMS_Abstraction.c **** ((channels & (1 << i)) ? dutyCycle : 0);
|
||
769 .loc 1 145 47 is_stmt 0 view .LVU182
|
||
770 005c 591C adds r1, r3, #1
|
||
145:Core/Src/ADBMS_Abstraction.c **** ((channels & (1 << i)) ? dutyCycle : 0);
|
||
771 .loc 1 145 41 view .LVU183
|
||
772 005e 0122 movs r2, #1
|
||
773 0060 8A40 lsls r2, r2, r1
|
||
145:Core/Src/ADBMS_Abstraction.c **** ((channels & (1 << i)) ? dutyCycle : 0);
|
||
774 .loc 1 145 78 view .LVU184
|
||
775 0062 2242 tst r2, r4
|
||
776 0064 ECD0 beq .L23
|
||
145:Core/Src/ADBMS_Abstraction.c **** ((channels & (1 << i)) ? dutyCycle : 0);
|
||
777 .loc 1 145 78 discriminator 1 view .LVU185
|
||
778 0066 2A01 lsls r2, r5, #4
|
||
ARM GAS /tmp/ccNub4kL.s page 20
|
||
|
||
|
||
779 0068 52B2 sxtb r2, r2
|
||
780 .L16:
|
||
146:Core/Src/ADBMS_Abstraction.c **** } else {
|
||
781 .loc 1 146 42 view .LVU186
|
||
782 006a 0120 movs r0, #1
|
||
783 006c 9840 lsls r0, r0, r3
|
||
145:Core/Src/ADBMS_Abstraction.c **** ((channels & (1 << i)) ? dutyCycle : 0);
|
||
784 .loc 1 145 78 discriminator 4 view .LVU187
|
||
785 006e 2042 tst r0, r4
|
||
786 0070 E8D0 beq .L24
|
||
145:Core/Src/ADBMS_Abstraction.c **** ((channels & (1 << i)) ? dutyCycle : 0);
|
||
787 .loc 1 145 78 discriminator 5 view .LVU188
|
||
788 0072 69B2 sxtb r1, r5
|
||
789 0074 E7E7 b .L17
|
||
790 .L15:
|
||
148:Core/Src/ADBMS_Abstraction.c **** ((channels & (1 << i)) ? dutyCycle : 0);
|
||
791 .loc 1 148 7 is_stmt 1 view .LVU189
|
||
148:Core/Src/ADBMS_Abstraction.c **** ((channels & (1 << i)) ? dutyCycle : 0);
|
||
792 .loc 1 148 54 is_stmt 0 view .LVU190
|
||
793 0076 591C adds r1, r3, #1
|
||
148:Core/Src/ADBMS_Abstraction.c **** ((channels & (1 << i)) ? dutyCycle : 0);
|
||
794 .loc 1 148 48 view .LVU191
|
||
795 0078 0122 movs r2, #1
|
||
796 007a 8A40 lsls r2, r2, r1
|
||
148:Core/Src/ADBMS_Abstraction.c **** ((channels & (1 << i)) ? dutyCycle : 0);
|
||
797 .loc 1 148 85 view .LVU192
|
||
798 007c 2242 tst r2, r4
|
||
799 007e 0FD0 beq .L25
|
||
148:Core/Src/ADBMS_Abstraction.c **** ((channels & (1 << i)) ? dutyCycle : 0);
|
||
800 .loc 1 148 85 discriminator 1 view .LVU193
|
||
801 0080 2901 lsls r1, r5, #4
|
||
802 0082 49B2 sxtb r1, r1
|
||
803 .L19:
|
||
149:Core/Src/ADBMS_Abstraction.c **** }
|
||
804 .loc 1 149 49 view .LVU194
|
||
805 0084 0122 movs r2, #1
|
||
806 0086 9A40 lsls r2, r2, r3
|
||
148:Core/Src/ADBMS_Abstraction.c **** ((channels & (1 << i)) ? dutyCycle : 0);
|
||
807 .loc 1 148 85 discriminator 4 view .LVU195
|
||
808 0088 2242 tst r2, r4
|
||
809 008a 0BD0 beq .L26
|
||
148:Core/Src/ADBMS_Abstraction.c **** ((channels & (1 << i)) ? dutyCycle : 0);
|
||
810 .loc 1 148 85 discriminator 5 view .LVU196
|
||
811 008c 68B2 sxtb r0, r5
|
||
812 .L20:
|
||
148:Core/Src/ADBMS_Abstraction.c **** ((channels & (1 << i)) ? dutyCycle : 0);
|
||
813 .loc 1 148 19 discriminator 8 view .LVU197
|
||
814 008e A3F10C02 sub r2, r3, #12
|
||
148:Core/Src/ADBMS_Abstraction.c **** ((channels & (1 << i)) ? dutyCycle : 0);
|
||
815 .loc 1 148 85 discriminator 8 view .LVU198
|
||
816 0092 0143 orrs r1, r1, r0
|
||
148:Core/Src/ADBMS_Abstraction.c **** ((channels & (1 << i)) ? dutyCycle : 0);
|
||
817 .loc 1 148 30 discriminator 8 view .LVU199
|
||
818 0094 04A8 add r0, sp, #16
|
||
819 0096 00EB5202 add r2, r0, r2, lsr #1
|
||
820 009a 02F80C1C strb r1, [r2, #-12]
|
||
821 009e D8E7 b .L18
|
||
ARM GAS /tmp/ccNub4kL.s page 21
|
||
|
||
|
||
822 .L25:
|
||
148:Core/Src/ADBMS_Abstraction.c **** ((channels & (1 << i)) ? dutyCycle : 0);
|
||
823 .loc 1 148 85 discriminator 2 view .LVU200
|
||
824 00a0 0021 movs r1, #0
|
||
825 00a2 EFE7 b .L19
|
||
826 .L26:
|
||
148:Core/Src/ADBMS_Abstraction.c **** ((channels & (1 << i)) ? dutyCycle : 0);
|
||
827 .loc 1 148 85 discriminator 6 view .LVU201
|
||
828 00a4 0020 movs r0, #0
|
||
829 00a6 F2E7 b .L20
|
||
830 .L29:
|
||
148:Core/Src/ADBMS_Abstraction.c **** ((channels & (1 << i)) ? dutyCycle : 0);
|
||
831 .loc 1 148 85 discriminator 6 view .LVU202
|
||
832 .LBE12:
|
||
833 .LBB13:
|
||
153:Core/Src/ADBMS_Abstraction.c **** CHECK_RETURN(writeCMD(WRPWMB, buffer_b, CFG_GROUP_B_SIZE));
|
||
834 .loc 1 153 3 is_stmt 1 view .LVU203
|
||
835 00a8 0622 movs r2, #6
|
||
836 00aa 02A9 add r1, sp, #8
|
||
837 00ac 2020 movs r0, #32
|
||
838 00ae FFF7FEFF bl writeCMD
|
||
839 .LVL84:
|
||
153:Core/Src/ADBMS_Abstraction.c **** CHECK_RETURN(writeCMD(WRPWMB, buffer_b, CFG_GROUP_B_SIZE));
|
||
840 .loc 1 153 3 discriminator 1 view .LVU204
|
||
841 00b2 0346 mov r3, r0
|
||
842 00b4 0028 cmp r0, #0
|
||
843 00b6 B4D1 bne .L13
|
||
844 .LBE13:
|
||
153:Core/Src/ADBMS_Abstraction.c **** CHECK_RETURN(writeCMD(WRPWMB, buffer_b, CFG_GROUP_B_SIZE));
|
||
845 .loc 1 153 61 discriminator 2 view .LVU205
|
||
846 .LBB14:
|
||
154:Core/Src/ADBMS_Abstraction.c ****
|
||
847 .loc 1 154 3 view .LVU206
|
||
848 00b8 0622 movs r2, #6
|
||
849 00ba 01A9 add r1, sp, #4
|
||
850 00bc 2120 movs r0, #33
|
||
851 .LVL85:
|
||
154:Core/Src/ADBMS_Abstraction.c ****
|
||
852 .loc 1 154 3 is_stmt 0 view .LVU207
|
||
853 00be FFF7FEFF bl writeCMD
|
||
854 .LVL86:
|
||
154:Core/Src/ADBMS_Abstraction.c ****
|
||
855 .loc 1 154 3 view .LVU208
|
||
856 00c2 0346 mov r3, r0
|
||
857 .LVL87:
|
||
154:Core/Src/ADBMS_Abstraction.c ****
|
||
858 .loc 1 154 3 is_stmt 1 discriminator 1 view .LVU209
|
||
859 00c4 ADE7 b .L13
|
||
860 .LVL88:
|
||
861 .L22:
|
||
154:Core/Src/ADBMS_Abstraction.c ****
|
||
862 .loc 1 154 3 is_stmt 0 discriminator 1 view .LVU210
|
||
863 .LBE14:
|
||
138:Core/Src/ADBMS_Abstraction.c **** }
|
||
864 .loc 1 138 12 view .LVU211
|
||
865 00c6 0123 movs r3, #1
|
||
866 00c8 ABE7 b .L13
|
||
ARM GAS /tmp/ccNub4kL.s page 22
|
||
|
||
|
||
867 .cfi_endproc
|
||
868 .LFE129:
|
||
870 .section .text.amsStartBalancing,"ax",%progbits
|
||
871 .align 1
|
||
872 .global amsStartBalancing
|
||
873 .syntax unified
|
||
874 .thumb
|
||
875 .thumb_func
|
||
877 amsStartBalancing:
|
||
878 .LVL89:
|
||
879 .LFB130:
|
||
158:Core/Src/ADBMS_Abstraction.c ****
|
||
159:Core/Src/ADBMS_Abstraction.c **** uint8 amsStartBalancing(uint8 dutyCycle) { return writeCMD(UNMUTE, NULL, 0); }
|
||
880 .loc 1 159 42 is_stmt 1 view -0
|
||
881 .cfi_startproc
|
||
882 @ args = 0, pretend = 0, frame = 0
|
||
883 @ frame_needed = 0, uses_anonymous_args = 0
|
||
884 .loc 1 159 42 is_stmt 0 view .LVU213
|
||
885 0000 08B5 push {r3, lr}
|
||
886 .cfi_def_cfa_offset 8
|
||
887 .cfi_offset 3, -8
|
||
888 .cfi_offset 14, -4
|
||
889 .loc 1 159 44 is_stmt 1 view .LVU214
|
||
890 .loc 1 159 51 is_stmt 0 view .LVU215
|
||
891 0002 0022 movs r2, #0
|
||
892 0004 1146 mov r1, r2
|
||
893 0006 2920 movs r0, #41
|
||
894 .LVL90:
|
||
895 .loc 1 159 51 view .LVU216
|
||
896 0008 FFF7FEFF bl writeCMD
|
||
897 .LVL91:
|
||
898 .loc 1 159 78 view .LVU217
|
||
899 000c 08BD pop {r3, pc}
|
||
900 .cfi_endproc
|
||
901 .LFE130:
|
||
903 .section .text.amsStopBalancing,"ax",%progbits
|
||
904 .align 1
|
||
905 .global amsStopBalancing
|
||
906 .syntax unified
|
||
907 .thumb
|
||
908 .thumb_func
|
||
910 amsStopBalancing:
|
||
911 .LFB131:
|
||
160:Core/Src/ADBMS_Abstraction.c ****
|
||
161:Core/Src/ADBMS_Abstraction.c **** uint8 amsStopBalancing() { return writeCMD(MUTE, NULL, 0); }
|
||
912 .loc 1 161 26 is_stmt 1 view -0
|
||
913 .cfi_startproc
|
||
914 @ args = 0, pretend = 0, frame = 0
|
||
915 @ frame_needed = 0, uses_anonymous_args = 0
|
||
916 0000 08B5 push {r3, lr}
|
||
917 .cfi_def_cfa_offset 8
|
||
918 .cfi_offset 3, -8
|
||
919 .cfi_offset 14, -4
|
||
920 .loc 1 161 28 view .LVU219
|
||
921 .loc 1 161 35 is_stmt 0 view .LVU220
|
||
922 0002 0022 movs r2, #0
|
||
923 0004 1146 mov r1, r2
|
||
ARM GAS /tmp/ccNub4kL.s page 23
|
||
|
||
|
||
924 0006 2820 movs r0, #40
|
||
925 0008 FFF7FEFF bl writeCMD
|
||
926 .LVL92:
|
||
927 .loc 1 161 60 view .LVU221
|
||
928 000c 08BD pop {r3, pc}
|
||
929 .cfi_endproc
|
||
930 .LFE131:
|
||
932 .section .text.amsSelfTest,"ax",%progbits
|
||
933 .align 1
|
||
934 .global amsSelfTest
|
||
935 .syntax unified
|
||
936 .thumb
|
||
937 .thumb_func
|
||
939 amsSelfTest:
|
||
940 .LFB132:
|
||
162:Core/Src/ADBMS_Abstraction.c ****
|
||
163:Core/Src/ADBMS_Abstraction.c **** uint8 amsSelfTest() { return 0; }
|
||
941 .loc 1 163 21 is_stmt 1 view -0
|
||
942 .cfi_startproc
|
||
943 @ args = 0, pretend = 0, frame = 0
|
||
944 @ frame_needed = 0, uses_anonymous_args = 0
|
||
945 @ link register save eliminated.
|
||
946 .loc 1 163 23 view .LVU223
|
||
947 .loc 1 163 33 is_stmt 0 view .LVU224
|
||
948 0000 0020 movs r0, #0
|
||
949 0002 7047 bx lr
|
||
950 .cfi_endproc
|
||
951 .LFE132:
|
||
953 .section .text.amsConfigOverUnderVoltage,"ax",%progbits
|
||
954 .align 1
|
||
955 .global amsConfigOverUnderVoltage
|
||
956 .syntax unified
|
||
957 .thumb
|
||
958 .thumb_func
|
||
960 amsConfigOverUnderVoltage:
|
||
961 .LVL93:
|
||
962 .LFB133:
|
||
164:Core/Src/ADBMS_Abstraction.c ****
|
||
165:Core/Src/ADBMS_Abstraction.c **** uint8 amsConfigOverUnderVoltage(uint16 overVoltage, uint16 underVoltage) {
|
||
963 .loc 1 165 74 is_stmt 1 view -0
|
||
964 .cfi_startproc
|
||
965 @ args = 0, pretend = 0, frame = 8
|
||
966 @ frame_needed = 0, uses_anonymous_args = 0
|
||
166:Core/Src/ADBMS_Abstraction.c **** uint8 buffer[CFG_GROUP_A_SIZE];
|
||
967 .loc 1 166 3 view .LVU226
|
||
167:Core/Src/ADBMS_Abstraction.c ****
|
||
168:Core/Src/ADBMS_Abstraction.c **** if (underVoltage & 0xF000 || overVoltage & 0xF000) { // only 12 bits allowed
|
||
968 .loc 1 168 3 view .LVU227
|
||
969 .loc 1 168 6 is_stmt 0 view .LVU228
|
||
970 0000 B1F5805F cmp r1, #4096
|
||
971 0004 30D2 bcs .L37
|
||
165:Core/Src/ADBMS_Abstraction.c **** uint8 buffer[CFG_GROUP_A_SIZE];
|
||
972 .loc 1 165 74 view .LVU229
|
||
973 0006 30B5 push {r4, r5, lr}
|
||
974 .cfi_def_cfa_offset 12
|
||
975 .cfi_offset 4, -12
|
||
976 .cfi_offset 5, -8
|
||
ARM GAS /tmp/ccNub4kL.s page 24
|
||
|
||
|
||
977 .cfi_offset 14, -4
|
||
978 0008 83B0 sub sp, sp, #12
|
||
979 .cfi_def_cfa_offset 24
|
||
980 000a 0546 mov r5, r0
|
||
981 000c 0C46 mov r4, r1
|
||
982 .loc 1 168 29 discriminator 1 view .LVU230
|
||
983 000e B0F5805F cmp r0, #4096
|
||
984 0012 02D3 bcc .L43
|
||
169:Core/Src/ADBMS_Abstraction.c **** return 1;
|
||
985 .loc 1 169 12 view .LVU231
|
||
986 0014 0120 movs r0, #1
|
||
987 .LVL94:
|
||
988 .L36:
|
||
170:Core/Src/ADBMS_Abstraction.c **** }
|
||
171:Core/Src/ADBMS_Abstraction.c ****
|
||
172:Core/Src/ADBMS_Abstraction.c **** CHECK_RETURN(readCMD(RDCFGB, buffer, CFG_GROUP_A_SIZE));
|
||
173:Core/Src/ADBMS_Abstraction.c ****
|
||
174:Core/Src/ADBMS_Abstraction.c **** //UV
|
||
175:Core/Src/ADBMS_Abstraction.c **** buffer[0] = (uint8) (underVoltage & 0xFF);
|
||
176:Core/Src/ADBMS_Abstraction.c **** buffer[1] &= 0xF0;
|
||
177:Core/Src/ADBMS_Abstraction.c **** buffer[1] |= (uint8) ((underVoltage >> 8) & 0x0F);
|
||
178:Core/Src/ADBMS_Abstraction.c ****
|
||
179:Core/Src/ADBMS_Abstraction.c **** //OV
|
||
180:Core/Src/ADBMS_Abstraction.c **** buffer[1] &= 0x0F;
|
||
181:Core/Src/ADBMS_Abstraction.c **** buffer[1] |= (uint8) (overVoltage << 4);
|
||
182:Core/Src/ADBMS_Abstraction.c **** buffer[2] = (uint8) (overVoltage >> 4);
|
||
183:Core/Src/ADBMS_Abstraction.c ****
|
||
184:Core/Src/ADBMS_Abstraction.c **** return writeCMD(WRCFGB, buffer, CFG_GROUP_A_SIZE);
|
||
185:Core/Src/ADBMS_Abstraction.c **** }
|
||
989 .loc 1 185 1 view .LVU232
|
||
990 0016 03B0 add sp, sp, #12
|
||
991 .cfi_remember_state
|
||
992 .cfi_def_cfa_offset 12
|
||
993 @ sp needed
|
||
994 0018 30BD pop {r4, r5, pc}
|
||
995 .LVL95:
|
||
996 .L43:
|
||
997 .cfi_restore_state
|
||
998 .LBB15:
|
||
172:Core/Src/ADBMS_Abstraction.c ****
|
||
999 .loc 1 172 3 is_stmt 1 view .LVU233
|
||
1000 001a 0622 movs r2, #6
|
||
1001 001c 6946 mov r1, sp
|
||
1002 .LVL96:
|
||
172:Core/Src/ADBMS_Abstraction.c ****
|
||
1003 .loc 1 172 3 is_stmt 0 view .LVU234
|
||
1004 001e 2620 movs r0, #38
|
||
1005 .LVL97:
|
||
172:Core/Src/ADBMS_Abstraction.c ****
|
||
1006 .loc 1 172 3 view .LVU235
|
||
1007 0020 FFF7FEFF bl readCMD
|
||
1008 .LVL98:
|
||
172:Core/Src/ADBMS_Abstraction.c ****
|
||
1009 .loc 1 172 3 is_stmt 1 discriminator 1 view .LVU236
|
||
1010 0024 0028 cmp r0, #0
|
||
1011 0026 F6D1 bne .L36
|
||
1012 .LBE15:
|
||
ARM GAS /tmp/ccNub4kL.s page 25
|
||
|
||
|
||
172:Core/Src/ADBMS_Abstraction.c ****
|
||
1013 .loc 1 172 58 discriminator 2 view .LVU237
|
||
175:Core/Src/ADBMS_Abstraction.c **** buffer[1] &= 0xF0;
|
||
1014 .loc 1 175 3 view .LVU238
|
||
175:Core/Src/ADBMS_Abstraction.c **** buffer[1] &= 0xF0;
|
||
1015 .loc 1 175 13 is_stmt 0 view .LVU239
|
||
1016 0028 8DF80040 strb r4, [sp]
|
||
176:Core/Src/ADBMS_Abstraction.c **** buffer[1] |= (uint8) ((underVoltage >> 8) & 0x0F);
|
||
1017 .loc 1 176 3 is_stmt 1 view .LVU240
|
||
176:Core/Src/ADBMS_Abstraction.c **** buffer[1] |= (uint8) ((underVoltage >> 8) & 0x0F);
|
||
1018 .loc 1 176 9 is_stmt 0 view .LVU241
|
||
1019 002c 9DF80130 ldrb r3, [sp, #1] @ zero_extendqisi2
|
||
176:Core/Src/ADBMS_Abstraction.c **** buffer[1] |= (uint8) ((underVoltage >> 8) & 0x0F);
|
||
1020 .loc 1 176 13 view .LVU242
|
||
1021 0030 03F0F003 and r3, r3, #240
|
||
1022 0034 8DF80130 strb r3, [sp, #1]
|
||
177:Core/Src/ADBMS_Abstraction.c ****
|
||
1023 .loc 1 177 3 is_stmt 1 view .LVU243
|
||
177:Core/Src/ADBMS_Abstraction.c ****
|
||
1024 .loc 1 177 16 is_stmt 0 view .LVU244
|
||
1025 0038 C4F30324 ubfx r4, r4, #8, #4
|
||
1026 .LVL99:
|
||
177:Core/Src/ADBMS_Abstraction.c ****
|
||
1027 .loc 1 177 13 view .LVU245
|
||
1028 003c 2343 orrs r3, r3, r4
|
||
1029 003e 8DF80130 strb r3, [sp, #1]
|
||
180:Core/Src/ADBMS_Abstraction.c **** buffer[1] |= (uint8) (overVoltage << 4);
|
||
1030 .loc 1 180 3 is_stmt 1 view .LVU246
|
||
180:Core/Src/ADBMS_Abstraction.c **** buffer[1] |= (uint8) (overVoltage << 4);
|
||
1031 .loc 1 180 13 is_stmt 0 view .LVU247
|
||
1032 0042 03F00F03 and r3, r3, #15
|
||
1033 0046 8DF80130 strb r3, [sp, #1]
|
||
181:Core/Src/ADBMS_Abstraction.c **** buffer[2] = (uint8) (overVoltage >> 4);
|
||
1034 .loc 1 181 3 is_stmt 1 view .LVU248
|
||
181:Core/Src/ADBMS_Abstraction.c **** buffer[2] = (uint8) (overVoltage >> 4);
|
||
1035 .loc 1 181 16 is_stmt 0 view .LVU249
|
||
1036 004a 2A01 lsls r2, r5, #4
|
||
1037 004c D2B2 uxtb r2, r2
|
||
181:Core/Src/ADBMS_Abstraction.c **** buffer[2] = (uint8) (overVoltage >> 4);
|
||
1038 .loc 1 181 13 view .LVU250
|
||
1039 004e 1343 orrs r3, r3, r2
|
||
1040 0050 8DF80130 strb r3, [sp, #1]
|
||
182:Core/Src/ADBMS_Abstraction.c ****
|
||
1041 .loc 1 182 3 is_stmt 1 view .LVU251
|
||
182:Core/Src/ADBMS_Abstraction.c ****
|
||
1042 .loc 1 182 15 is_stmt 0 view .LVU252
|
||
1043 0054 C5F30715 ubfx r5, r5, #4, #8
|
||
1044 .LVL100:
|
||
182:Core/Src/ADBMS_Abstraction.c ****
|
||
1045 .loc 1 182 13 view .LVU253
|
||
1046 0058 8DF80250 strb r5, [sp, #2]
|
||
184:Core/Src/ADBMS_Abstraction.c **** }
|
||
1047 .loc 1 184 3 is_stmt 1 view .LVU254
|
||
184:Core/Src/ADBMS_Abstraction.c **** }
|
||
1048 .loc 1 184 10 is_stmt 0 view .LVU255
|
||
1049 005c 0622 movs r2, #6
|
||
1050 005e 6946 mov r1, sp
|
||
ARM GAS /tmp/ccNub4kL.s page 26
|
||
|
||
|
||
1051 0060 2420 movs r0, #36
|
||
1052 .LVL101:
|
||
184:Core/Src/ADBMS_Abstraction.c **** }
|
||
1053 .loc 1 184 10 view .LVU256
|
||
1054 0062 FFF7FEFF bl writeCMD
|
||
1055 .LVL102:
|
||
1056 0066 D6E7 b .L36
|
||
1057 .LVL103:
|
||
1058 .L37:
|
||
1059 .cfi_def_cfa_offset 0
|
||
1060 .cfi_restore 4
|
||
1061 .cfi_restore 5
|
||
1062 .cfi_restore 14
|
||
169:Core/Src/ADBMS_Abstraction.c **** }
|
||
1063 .loc 1 169 12 view .LVU257
|
||
1064 0068 0120 movs r0, #1
|
||
1065 .LVL104:
|
||
1066 .loc 1 185 1 view .LVU258
|
||
1067 006a 7047 bx lr
|
||
1068 .cfi_endproc
|
||
1069 .LFE133:
|
||
1071 .section .rodata.amsReset.str1.4,"aMS",%progbits,1
|
||
1072 .align 2
|
||
1073 .LC0:
|
||
1074 0000 FFFFFFFF .ascii "\377\377\377\377\377\377\000"
|
||
1074 FFFF00
|
||
1075 .section .text.amsReset,"ax",%progbits
|
||
1076 .align 1
|
||
1077 .global amsReset
|
||
1078 .syntax unified
|
||
1079 .thumb
|
||
1080 .thumb_func
|
||
1082 amsReset:
|
||
1083 .LFB123:
|
||
23:Core/Src/ADBMS_Abstraction.c **** amsWakeUp();
|
||
1084 .loc 1 23 18 is_stmt 1 view -0
|
||
1085 .cfi_startproc
|
||
1086 @ args = 0, pretend = 0, frame = 8
|
||
1087 @ frame_needed = 0, uses_anonymous_args = 0
|
||
1088 0000 00B5 push {lr}
|
||
1089 .cfi_def_cfa_offset 4
|
||
1090 .cfi_offset 14, -4
|
||
1091 0002 83B0 sub sp, sp, #12
|
||
1092 .cfi_def_cfa_offset 16
|
||
24:Core/Src/ADBMS_Abstraction.c **** readCMD(SRST, NULL, 0);
|
||
1093 .loc 1 24 3 view .LVU260
|
||
1094 0004 FFF7FEFF bl amsWakeUp
|
||
1095 .LVL105:
|
||
25:Core/Src/ADBMS_Abstraction.c **** mcuDelay(10);
|
||
1096 .loc 1 25 3 view .LVU261
|
||
1097 0008 0022 movs r2, #0
|
||
1098 000a 1146 mov r1, r2
|
||
1099 000c 2720 movs r0, #39
|
||
1100 000e FFF7FEFF bl readCMD
|
||
1101 .LVL106:
|
||
26:Core/Src/ADBMS_Abstraction.c **** amsWakeUp();
|
||
1102 .loc 1 26 3 view .LVU262
|
||
ARM GAS /tmp/ccNub4kL.s page 27
|
||
|
||
|
||
1103 0012 0A20 movs r0, #10
|
||
1104 0014 FFF7FEFF bl mcuDelay
|
||
1105 .LVL107:
|
||
27:Core/Src/ADBMS_Abstraction.c **** amsStopBalancing();
|
||
1106 .loc 1 27 3 view .LVU263
|
||
1107 0018 FFF7FEFF bl amsWakeUp
|
||
1108 .LVL108:
|
||
28:Core/Src/ADBMS_Abstraction.c **** amsConfigOverUnderVoltage(DEFAULT_OV, DEFAULT_UV);
|
||
1109 .loc 1 28 3 view .LVU264
|
||
1110 001c FFF7FEFF bl amsStopBalancing
|
||
1111 .LVL109:
|
||
29:Core/Src/ADBMS_Abstraction.c ****
|
||
1112 .loc 1 29 3 view .LVU265
|
||
1113 0020 40F2A111 movw r1, #417
|
||
1114 0024 40F26540 movw r0, #1125
|
||
1115 0028 FFF7FEFF bl amsConfigOverUnderVoltage
|
||
1116 .LVL110:
|
||
31:Core/Src/ADBMS_Abstraction.c ****
|
||
1117 .loc 1 31 3 view .LVU266
|
||
31:Core/Src/ADBMS_Abstraction.c ****
|
||
1118 .loc 1 31 9 is_stmt 0 view .LVU267
|
||
1119 002c 154B ldr r3, .L48
|
||
1120 002e 93E80300 ldm r3, {r0, r1}
|
||
1121 0032 0090 str r0, [sp]
|
||
1122 0034 ADF80410 strh r1, [sp, #4] @ movhi
|
||
1123 .LBB16:
|
||
33:Core/Src/ADBMS_Abstraction.c **** CHECK_RETURN(writeCMD(CLOVUV, buffer, 6)); //OVUV flags
|
||
1124 .loc 1 33 3 is_stmt 1 view .LVU268
|
||
1125 0038 0622 movs r2, #6
|
||
1126 003a 6946 mov r1, sp
|
||
1127 003c 40F21770 movw r0, #1815
|
||
1128 0040 FFF7FEFF bl writeCMD
|
||
1129 .LVL111:
|
||
33:Core/Src/ADBMS_Abstraction.c **** CHECK_RETURN(writeCMD(CLOVUV, buffer, 6)); //OVUV flags
|
||
1130 .loc 1 33 3 discriminator 1 view .LVU269
|
||
1131 0044 0346 mov r3, r0
|
||
1132 0046 18B1 cbz r0, .L47
|
||
1133 .LVL112:
|
||
1134 .L45:
|
||
33:Core/Src/ADBMS_Abstraction.c **** CHECK_RETURN(writeCMD(CLOVUV, buffer, 6)); //OVUV flags
|
||
1135 .loc 1 33 3 is_stmt 0 discriminator 1 view .LVU270
|
||
1136 .LBE16:
|
||
39:Core/Src/ADBMS_Abstraction.c ****
|
||
1137 .loc 1 39 1 view .LVU271
|
||
1138 0048 1846 mov r0, r3
|
||
1139 004a 03B0 add sp, sp, #12
|
||
1140 .cfi_remember_state
|
||
1141 .cfi_def_cfa_offset 4
|
||
1142 @ sp needed
|
||
1143 004c 5DF804FB ldr pc, [sp], #4
|
||
1144 .LVL113:
|
||
1145 .L47:
|
||
1146 .cfi_restore_state
|
||
33:Core/Src/ADBMS_Abstraction.c **** CHECK_RETURN(writeCMD(CLOVUV, buffer, 6)); //OVUV flags
|
||
1147 .loc 1 33 45 is_stmt 1 discriminator 2 view .LVU272
|
||
1148 .LBB17:
|
||
34:Core/Src/ADBMS_Abstraction.c **** CHECK_RETURN(writeCMD(ADCV | ADCV_CONT | ADCV_RD, NULL, 0)); //start continuous cell voltage meas
|
||
ARM GAS /tmp/ccNub4kL.s page 28
|
||
|
||
|
||
1149 .loc 1 34 3 view .LVU273
|
||
1150 0050 0622 movs r2, #6
|
||
1151 0052 6946 mov r1, sp
|
||
1152 0054 40F21570 movw r0, #1813
|
||
1153 .LVL114:
|
||
34:Core/Src/ADBMS_Abstraction.c **** CHECK_RETURN(writeCMD(ADCV | ADCV_CONT | ADCV_RD, NULL, 0)); //start continuous cell voltage meas
|
||
1154 .loc 1 34 3 is_stmt 0 view .LVU274
|
||
1155 0058 FFF7FEFF bl writeCMD
|
||
1156 .LVL115:
|
||
34:Core/Src/ADBMS_Abstraction.c **** CHECK_RETURN(writeCMD(ADCV | ADCV_CONT | ADCV_RD, NULL, 0)); //start continuous cell voltage meas
|
||
1157 .loc 1 34 3 is_stmt 1 discriminator 1 view .LVU275
|
||
1158 005c 0346 mov r3, r0
|
||
1159 005e 0028 cmp r0, #0
|
||
1160 0060 F2D1 bne .L45
|
||
1161 .LBE17:
|
||
34:Core/Src/ADBMS_Abstraction.c **** CHECK_RETURN(writeCMD(ADCV | ADCV_CONT | ADCV_RD, NULL, 0)); //start continuous cell voltage meas
|
||
1162 .loc 1 34 44 discriminator 2 view .LVU276
|
||
1163 .LBB18:
|
||
35:Core/Src/ADBMS_Abstraction.c **** CHECK_RETURN(writeCMD(ADAX | ADAX_CONV_ALL, NULL, 0)); //start aux measurement
|
||
1164 .loc 1 35 3 view .LVU277
|
||
1165 0062 0022 movs r2, #0
|
||
1166 0064 1146 mov r1, r2
|
||
1167 0066 4FF47870 mov r0, #992
|
||
1168 .LVL116:
|
||
35:Core/Src/ADBMS_Abstraction.c **** CHECK_RETURN(writeCMD(ADAX | ADAX_CONV_ALL, NULL, 0)); //start aux measurement
|
||
1169 .loc 1 35 3 is_stmt 0 view .LVU278
|
||
1170 006a FFF7FEFF bl writeCMD
|
||
1171 .LVL117:
|
||
35:Core/Src/ADBMS_Abstraction.c **** CHECK_RETURN(writeCMD(ADAX | ADAX_CONV_ALL, NULL, 0)); //start aux measurement
|
||
1172 .loc 1 35 3 is_stmt 1 discriminator 1 view .LVU279
|
||
1173 006e 0346 mov r3, r0
|
||
1174 0070 0028 cmp r0, #0
|
||
1175 0072 E9D1 bne .L45
|
||
1176 .LBE18:
|
||
35:Core/Src/ADBMS_Abstraction.c **** CHECK_RETURN(writeCMD(ADAX | ADAX_CONV_ALL, NULL, 0)); //start aux measurement
|
||
1177 .loc 1 35 62 discriminator 2 view .LVU280
|
||
1178 .LBB19:
|
||
36:Core/Src/ADBMS_Abstraction.c ****
|
||
1179 .loc 1 36 3 view .LVU281
|
||
1180 0074 0022 movs r2, #0
|
||
1181 0076 1146 mov r1, r2
|
||
1182 0078 4FF48260 mov r0, #1040
|
||
1183 .LVL118:
|
||
36:Core/Src/ADBMS_Abstraction.c ****
|
||
1184 .loc 1 36 3 is_stmt 0 view .LVU282
|
||
1185 007c FFF7FEFF bl writeCMD
|
||
1186 .LVL119:
|
||
36:Core/Src/ADBMS_Abstraction.c ****
|
||
1187 .loc 1 36 3 view .LVU283
|
||
1188 0080 0346 mov r3, r0
|
||
1189 .LVL120:
|
||
36:Core/Src/ADBMS_Abstraction.c ****
|
||
1190 .loc 1 36 3 is_stmt 1 discriminator 1 view .LVU284
|
||
1191 0082 E1E7 b .L45
|
||
1192 .L49:
|
||
1193 .align 2
|
||
1194 .L48:
|
||
ARM GAS /tmp/ccNub4kL.s page 29
|
||
|
||
|
||
1195 0084 00000000 .word .LC0
|
||
1196 .LBE19:
|
||
1197 .cfi_endproc
|
||
1198 .LFE123:
|
||
1200 .section .text.initAMS,"ax",%progbits
|
||
1201 .align 1
|
||
1202 .global initAMS
|
||
1203 .syntax unified
|
||
1204 .thumb
|
||
1205 .thumb_func
|
||
1207 initAMS:
|
||
1208 .LVL121:
|
||
1209 .LFB124:
|
||
41:Core/Src/ADBMS_Abstraction.c **** adbmsDriverInit(hspi);
|
||
1210 .loc 1 41 74 view -0
|
||
1211 .cfi_startproc
|
||
1212 @ args = 0, pretend = 0, frame = 0
|
||
1213 @ frame_needed = 0, uses_anonymous_args = 0
|
||
41:Core/Src/ADBMS_Abstraction.c **** adbmsDriverInit(hspi);
|
||
1214 .loc 1 41 74 is_stmt 0 view .LVU286
|
||
1215 0000 38B5 push {r3, r4, r5, lr}
|
||
1216 .cfi_def_cfa_offset 16
|
||
1217 .cfi_offset 3, -16
|
||
1218 .cfi_offset 4, -12
|
||
1219 .cfi_offset 5, -8
|
||
1220 .cfi_offset 14, -4
|
||
1221 0002 0D46 mov r5, r1
|
||
1222 0004 1446 mov r4, r2
|
||
42:Core/Src/ADBMS_Abstraction.c **** numberofcells = numofcells;
|
||
1223 .loc 1 42 3 is_stmt 1 view .LVU287
|
||
1224 0006 FFF7FEFF bl adbmsDriverInit
|
||
1225 .LVL122:
|
||
43:Core/Src/ADBMS_Abstraction.c **** numberofauxchannels = numofaux;
|
||
1226 .loc 1 43 3 view .LVU288
|
||
43:Core/Src/ADBMS_Abstraction.c **** numberofauxchannels = numofaux;
|
||
1227 .loc 1 43 17 is_stmt 0 view .LVU289
|
||
1228 000a 034B ldr r3, .L52
|
||
1229 000c 1D70 strb r5, [r3]
|
||
44:Core/Src/ADBMS_Abstraction.c ****
|
||
1230 .loc 1 44 3 is_stmt 1 view .LVU290
|
||
44:Core/Src/ADBMS_Abstraction.c ****
|
||
1231 .loc 1 44 23 is_stmt 0 view .LVU291
|
||
1232 000e 034B ldr r3, .L52+4
|
||
1233 0010 1C70 strb r4, [r3]
|
||
46:Core/Src/ADBMS_Abstraction.c **** }
|
||
1234 .loc 1 46 3 is_stmt 1 view .LVU292
|
||
46:Core/Src/ADBMS_Abstraction.c **** }
|
||
1235 .loc 1 46 10 is_stmt 0 view .LVU293
|
||
1236 0012 FFF7FEFF bl amsReset
|
||
1237 .LVL123:
|
||
47:Core/Src/ADBMS_Abstraction.c ****
|
||
1238 .loc 1 47 1 view .LVU294
|
||
1239 0016 38BD pop {r3, r4, r5, pc}
|
||
1240 .LVL124:
|
||
1241 .L53:
|
||
47:Core/Src/ADBMS_Abstraction.c ****
|
||
1242 .loc 1 47 1 view .LVU295
|
||
ARM GAS /tmp/ccNub4kL.s page 30
|
||
|
||
|
||
1243 .align 2
|
||
1244 .L52:
|
||
1245 0018 00000000 .word numberofcells
|
||
1246 001c 00000000 .word numberofauxchannels
|
||
1247 .cfi_endproc
|
||
1248 .LFE124:
|
||
1250 .section .text.amsCheckUnderOverVoltage,"ax",%progbits
|
||
1251 .align 1
|
||
1252 .global amsCheckUnderOverVoltage
|
||
1253 .syntax unified
|
||
1254 .thumb
|
||
1255 .thumb_func
|
||
1257 amsCheckUnderOverVoltage:
|
||
1258 .LVL125:
|
||
1259 .LFB134:
|
||
186:Core/Src/ADBMS_Abstraction.c ****
|
||
187:Core/Src/ADBMS_Abstraction.c **** uint8 amsCheckUnderOverVoltage(Cell_Module* module) {
|
||
1260 .loc 1 187 53 is_stmt 1 view -0
|
||
1261 .cfi_startproc
|
||
1262 @ args = 0, pretend = 0, frame = 8
|
||
1263 @ frame_needed = 0, uses_anonymous_args = 0
|
||
1264 .loc 1 187 53 is_stmt 0 view .LVU297
|
||
1265 0000 10B5 push {r4, lr}
|
||
1266 .cfi_def_cfa_offset 8
|
||
1267 .cfi_offset 4, -8
|
||
1268 .cfi_offset 14, -4
|
||
1269 0002 82B0 sub sp, sp, #8
|
||
1270 .cfi_def_cfa_offset 16
|
||
1271 0004 0446 mov r4, r0
|
||
188:Core/Src/ADBMS_Abstraction.c **** uint8 regbuffer[STATUS_GROUP_D_SIZE];
|
||
1272 .loc 1 188 3 is_stmt 1 view .LVU298
|
||
189:Core/Src/ADBMS_Abstraction.c **** uint32 ov_uv_data = 0;
|
||
1273 .loc 1 189 3 view .LVU299
|
||
1274 .LVL126:
|
||
1275 .LBB20:
|
||
190:Core/Src/ADBMS_Abstraction.c **** CHECK_RETURN(readCMD(RDSTATD, regbuffer, STATUS_GROUP_D_SIZE));
|
||
1276 .loc 1 190 3 view .LVU300
|
||
1277 0006 0622 movs r2, #6
|
||
1278 0008 6946 mov r1, sp
|
||
1279 000a 3320 movs r0, #51
|
||
1280 .LVL127:
|
||
1281 .loc 1 190 3 is_stmt 0 view .LVU301
|
||
1282 000c FFF7FEFF bl readCMD
|
||
1283 .LVL128:
|
||
1284 .loc 1 190 3 is_stmt 1 discriminator 1 view .LVU302
|
||
1285 0010 38BB cbnz r0, .L55
|
||
1286 .LBE20:
|
||
1287 .loc 1 190 65 discriminator 2 view .LVU303
|
||
191:Core/Src/ADBMS_Abstraction.c **** ov_uv_data = (regbuffer[0] << 0) | (regbuffer[1] << 8) |
|
||
1288 .loc 1 191 3 view .LVU304
|
||
1289 .loc 1 191 26 is_stmt 0 view .LVU305
|
||
1290 0012 9DF800E0 ldrb lr, [sp] @ zero_extendqisi2
|
||
1291 .loc 1 191 49 view .LVU306
|
||
1292 0016 9DF80130 ldrb r3, [sp, #1] @ zero_extendqisi2
|
||
1293 .loc 1 191 37 view .LVU307
|
||
1294 001a 4EEA032E orr lr, lr, r3, lsl #8
|
||
192:Core/Src/ADBMS_Abstraction.c **** (regbuffer[2] << 16) | (regbuffer[3] << 24);
|
||
ARM GAS /tmp/ccNub4kL.s page 31
|
||
|
||
|
||
1295 .loc 1 192 26 view .LVU308
|
||
1296 001e 9DF80230 ldrb r3, [sp, #2] @ zero_extendqisi2
|
||
191:Core/Src/ADBMS_Abstraction.c **** ov_uv_data = (regbuffer[0] << 0) | (regbuffer[1] << 8) |
|
||
1297 .loc 1 191 60 view .LVU309
|
||
1298 0022 4EEA034E orr lr, lr, r3, lsl #16
|
||
1299 .loc 1 192 49 view .LVU310
|
||
1300 0026 9DF80330 ldrb r3, [sp, #3] @ zero_extendqisi2
|
||
1301 .loc 1 192 37 view .LVU311
|
||
1302 002a 4EEA036E orr lr, lr, r3, lsl #24
|
||
1303 .LVL129:
|
||
193:Core/Src/ADBMS_Abstraction.c ****
|
||
194:Core/Src/ADBMS_Abstraction.c **** module->overVoltage = 0;
|
||
1304 .loc 1 194 3 is_stmt 1 view .LVU312
|
||
1305 .loc 1 194 23 is_stmt 0 view .LVU313
|
||
1306 002e 0022 movs r2, #0
|
||
1307 0030 A265 str r2, [r4, #88]
|
||
195:Core/Src/ADBMS_Abstraction.c **** module->underVoltage = 0;
|
||
1308 .loc 1 195 3 is_stmt 1 view .LVU314
|
||
1309 .loc 1 195 24 is_stmt 0 view .LVU315
|
||
1310 0032 E265 str r2, [r4, #92]
|
||
196:Core/Src/ADBMS_Abstraction.c ****
|
||
197: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
|
||
1311 .loc 1 197 3 is_stmt 1 view .LVU316
|
||
1312 .LBB21:
|
||
1313 .loc 1 197 8 view .LVU317
|
||
1314 .LVL130:
|
||
1315 .loc 1 197 3 is_stmt 0 view .LVU318
|
||
1316 0034 11E0 b .L56
|
||
1317 .LVL131:
|
||
1318 .L57:
|
||
198:Core/Src/ADBMS_Abstraction.c **** module->underVoltage |= (ov_uv_data >> (i * 2)) & 0x01;
|
||
1319 .loc 1 198 5 is_stmt 1 view .LVU319
|
||
1320 .loc 1 198 11 is_stmt 0 view .LVU320
|
||
1321 0036 E16D ldr r1, [r4, #92]
|
||
1322 .loc 1 198 47 view .LVU321
|
||
1323 0038 5300 lsls r3, r2, #1
|
||
1324 .loc 1 198 41 view .LVU322
|
||
1325 003a 2EFA03FC lsr ip, lr, r3
|
||
1326 .loc 1 198 53 view .LVU323
|
||
1327 003e 0CF0010C and ip, ip, #1
|
||
1328 .loc 1 198 26 view .LVU324
|
||
1329 0042 41EA0C01 orr r1, r1, ip
|
||
1330 0046 E165 str r1, [r4, #92]
|
||
199:Core/Src/ADBMS_Abstraction.c **** module->overVoltage |= (ov_uv_data >> (i * 2 + 1)) & 0x01;
|
||
1331 .loc 1 199 5 is_stmt 1 view .LVU325
|
||
1332 .loc 1 199 11 is_stmt 0 view .LVU326
|
||
1333 0048 A16D ldr r1, [r4, #88]
|
||
1334 .loc 1 199 51 view .LVU327
|
||
1335 004a 0133 adds r3, r3, #1
|
||
1336 .loc 1 199 41 view .LVU328
|
||
1337 004c 2EFA03F3 lsr r3, lr, r3
|
||
1338 .loc 1 199 57 view .LVU329
|
||
1339 0050 03F00103 and r3, r3, #1
|
||
1340 .loc 1 199 26 view .LVU330
|
||
1341 0054 1943 orrs r1, r1, r3
|
||
1342 0056 A165 str r1, [r4, #88]
|
||
197:Core/Src/ADBMS_Abstraction.c **** module->underVoltage |= (ov_uv_data >> (i * 2)) & 0x01;
|
||
ARM GAS /tmp/ccNub4kL.s page 32
|
||
|
||
|
||
1343 .loc 1 197 42 is_stmt 1 discriminator 3 view .LVU331
|
||
1344 0058 0132 adds r2, r2, #1
|
||
1345 .LVL132:
|
||
1346 .L56:
|
||
197:Core/Src/ADBMS_Abstraction.c **** module->underVoltage |= (ov_uv_data >> (i * 2)) & 0x01;
|
||
1347 .loc 1 197 24 discriminator 1 view .LVU332
|
||
1348 005a 034B ldr r3, .L59
|
||
1349 005c 1B78 ldrb r3, [r3] @ zero_extendqisi2
|
||
1350 005e 9342 cmp r3, r2
|
||
1351 0060 E9D8 bhi .L57
|
||
1352 .LVL133:
|
||
1353 .L55:
|
||
197:Core/Src/ADBMS_Abstraction.c **** module->underVoltage |= (ov_uv_data >> (i * 2)) & 0x01;
|
||
1354 .loc 1 197 24 is_stmt 0 discriminator 1 view .LVU333
|
||
1355 .LBE21:
|
||
200:Core/Src/ADBMS_Abstraction.c **** }
|
||
201:Core/Src/ADBMS_Abstraction.c ****
|
||
202:Core/Src/ADBMS_Abstraction.c **** return 0;
|
||
203:Core/Src/ADBMS_Abstraction.c **** }
|
||
1356 .loc 1 203 1 view .LVU334
|
||
1357 0062 02B0 add sp, sp, #8
|
||
1358 .cfi_def_cfa_offset 8
|
||
1359 @ sp needed
|
||
1360 0064 10BD pop {r4, pc}
|
||
1361 .LVL134:
|
||
1362 .L60:
|
||
1363 .loc 1 203 1 view .LVU335
|
||
1364 0066 00BF .align 2
|
||
1365 .L59:
|
||
1366 0068 00000000 .word numberofcells
|
||
1367 .cfi_endproc
|
||
1368 .LFE134:
|
||
1370 .section .text.amsClearAux,"ax",%progbits
|
||
1371 .align 1
|
||
1372 .global amsClearAux
|
||
1373 .syntax unified
|
||
1374 .thumb
|
||
1375 .thumb_func
|
||
1377 amsClearAux:
|
||
1378 .LFB135:
|
||
204:Core/Src/ADBMS_Abstraction.c ****
|
||
205:Core/Src/ADBMS_Abstraction.c **** uint8 amsClearAux() {
|
||
1379 .loc 1 205 21 is_stmt 1 view -0
|
||
1380 .cfi_startproc
|
||
1381 @ args = 0, pretend = 0, frame = 8
|
||
1382 @ frame_needed = 0, uses_anonymous_args = 0
|
||
1383 0000 00B5 push {lr}
|
||
1384 .cfi_def_cfa_offset 4
|
||
1385 .cfi_offset 14, -4
|
||
1386 0002 83B0 sub sp, sp, #12
|
||
1387 .cfi_def_cfa_offset 16
|
||
206:Core/Src/ADBMS_Abstraction.c **** uint8 buffer[6];
|
||
1388 .loc 1 206 3 view .LVU337
|
||
207:Core/Src/ADBMS_Abstraction.c **** return writeCMD(CLRAUX, buffer, 0);
|
||
1389 .loc 1 207 3 view .LVU338
|
||
1390 .loc 1 207 10 is_stmt 0 view .LVU339
|
||
1391 0004 0022 movs r2, #0
|
||
ARM GAS /tmp/ccNub4kL.s page 33
|
||
|
||
|
||
1392 0006 6946 mov r1, sp
|
||
1393 0008 40F21270 movw r0, #1810
|
||
1394 000c FFF7FEFF bl writeCMD
|
||
1395 .LVL135:
|
||
208:Core/Src/ADBMS_Abstraction.c **** }
|
||
1396 .loc 1 208 1 view .LVU340
|
||
1397 0010 03B0 add sp, sp, #12
|
||
1398 .cfi_def_cfa_offset 4
|
||
1399 @ sp needed
|
||
1400 0012 5DF804FB ldr pc, [sp], #4
|
||
1401 .cfi_endproc
|
||
1402 .LFE135:
|
||
1404 .section .text.amsClearCells,"ax",%progbits
|
||
1405 .align 1
|
||
1406 .global amsClearCells
|
||
1407 .syntax unified
|
||
1408 .thumb
|
||
1409 .thumb_func
|
||
1411 amsClearCells:
|
||
1412 .LFB136:
|
||
209:Core/Src/ADBMS_Abstraction.c ****
|
||
210:Core/Src/ADBMS_Abstraction.c **** uint8 amsClearCells() {
|
||
1413 .loc 1 210 23 is_stmt 1 view -0
|
||
1414 .cfi_startproc
|
||
1415 @ args = 0, pretend = 0, frame = 8
|
||
1416 @ frame_needed = 0, uses_anonymous_args = 0
|
||
1417 0000 00B5 push {lr}
|
||
1418 .cfi_def_cfa_offset 4
|
||
1419 .cfi_offset 14, -4
|
||
1420 0002 83B0 sub sp, sp, #12
|
||
1421 .cfi_def_cfa_offset 16
|
||
211:Core/Src/ADBMS_Abstraction.c **** uint8 buffer[6];
|
||
1422 .loc 1 211 3 view .LVU342
|
||
212:Core/Src/ADBMS_Abstraction.c **** return writeCMD(CLRCELL, buffer, 0);
|
||
1423 .loc 1 212 3 view .LVU343
|
||
1424 .loc 1 212 10 is_stmt 0 view .LVU344
|
||
1425 0004 0022 movs r2, #0
|
||
1426 0006 6946 mov r1, sp
|
||
1427 0008 40F21170 movw r0, #1809
|
||
1428 000c FFF7FEFF bl writeCMD
|
||
1429 .LVL136:
|
||
213:Core/Src/ADBMS_Abstraction.c **** }
|
||
1430 .loc 1 213 1 view .LVU345
|
||
1431 0010 03B0 add sp, sp, #12
|
||
1432 .cfi_def_cfa_offset 4
|
||
1433 @ sp needed
|
||
1434 0012 5DF804FB ldr pc, [sp], #4
|
||
1435 .cfi_endproc
|
||
1436 .LFE136:
|
||
1438 .section .text.amsReadCellVoltages,"ax",%progbits
|
||
1439 .align 1
|
||
1440 .global amsReadCellVoltages
|
||
1441 .syntax unified
|
||
1442 .thumb
|
||
1443 .thumb_func
|
||
1445 amsReadCellVoltages:
|
||
1446 .LVL137:
|
||
ARM GAS /tmp/ccNub4kL.s page 34
|
||
|
||
|
||
1447 .LFB137:
|
||
214:Core/Src/ADBMS_Abstraction.c ****
|
||
215:Core/Src/ADBMS_Abstraction.c **** uint8 amsReadCellVoltages(Cell_Module* module) {
|
||
1448 .loc 1 215 48 is_stmt 1 view -0
|
||
1449 .cfi_startproc
|
||
1450 @ args = 0, pretend = 0, frame = 8
|
||
1451 @ frame_needed = 0, uses_anonymous_args = 0
|
||
1452 .loc 1 215 48 is_stmt 0 view .LVU347
|
||
1453 0000 30B5 push {r4, r5, lr}
|
||
1454 .cfi_def_cfa_offset 12
|
||
1455 .cfi_offset 4, -12
|
||
1456 .cfi_offset 5, -8
|
||
1457 .cfi_offset 14, -4
|
||
1458 0002 83B0 sub sp, sp, #12
|
||
1459 .cfi_def_cfa_offset 24
|
||
1460 0004 0446 mov r4, r0
|
||
216:Core/Src/ADBMS_Abstraction.c **** uint8 rxbuffer[CV_GROUP_A_SIZE];
|
||
1461 .loc 1 216 3 is_stmt 1 view .LVU348
|
||
1462 .LBB22:
|
||
217:Core/Src/ADBMS_Abstraction.c **** CHECK_RETURN(readCMD(RDCVA, rxbuffer, CV_GROUP_A_SIZE));
|
||
1463 .loc 1 217 3 view .LVU349
|
||
1464 0006 0622 movs r2, #6
|
||
1465 0008 6946 mov r1, sp
|
||
1466 000a 0420 movs r0, #4
|
||
1467 .LVL138:
|
||
1468 .loc 1 217 3 is_stmt 0 view .LVU350
|
||
1469 000c FFF7FEFF bl readCMD
|
||
1470 .LVL139:
|
||
1471 .loc 1 217 3 is_stmt 1 discriminator 1 view .LVU351
|
||
1472 0010 0546 mov r5, r0
|
||
1473 0012 10B1 cbz r0, .L68
|
||
1474 .LVL140:
|
||
1475 .L66:
|
||
1476 .loc 1 217 3 is_stmt 0 discriminator 1 view .LVU352
|
||
1477 .LBE22:
|
||
218:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[0] = mV_from_ADBMS6830(rxbuffer[0] | (rxbuffer[1] << 8));
|
||
219:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[1] = mV_from_ADBMS6830(rxbuffer[2] | (rxbuffer[3] << 8));
|
||
220:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[2] = mV_from_ADBMS6830(rxbuffer[4] | (rxbuffer[5] << 8));
|
||
221:Core/Src/ADBMS_Abstraction.c ****
|
||
222:Core/Src/ADBMS_Abstraction.c **** CHECK_RETURN(readCMD(RDCVB, rxbuffer, CV_GROUP_A_SIZE));
|
||
223:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[3] = mV_from_ADBMS6830(rxbuffer[0] | (rxbuffer[1] << 8));
|
||
224:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[4] = mV_from_ADBMS6830(rxbuffer[2] | (rxbuffer[3] << 8));
|
||
225:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[5] = mV_from_ADBMS6830(rxbuffer[4] | (rxbuffer[5] << 8));
|
||
226:Core/Src/ADBMS_Abstraction.c ****
|
||
227:Core/Src/ADBMS_Abstraction.c **** CHECK_RETURN(readCMD(RDCVC, rxbuffer, CV_GROUP_A_SIZE));
|
||
228:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[6] = mV_from_ADBMS6830(rxbuffer[0] | (rxbuffer[1] << 8));
|
||
229:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[7] = mV_from_ADBMS6830(rxbuffer[2] | (rxbuffer[3] << 8));
|
||
230:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[8] = mV_from_ADBMS6830(rxbuffer[4] | (rxbuffer[5] << 8));
|
||
231:Core/Src/ADBMS_Abstraction.c ****
|
||
232:Core/Src/ADBMS_Abstraction.c **** CHECK_RETURN(readCMD(RDCVD, rxbuffer, CV_GROUP_A_SIZE));
|
||
233:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[9] = mV_from_ADBMS6830(rxbuffer[0] | (rxbuffer[1] << 8));
|
||
234:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[10] = mV_from_ADBMS6830(rxbuffer[2] | (rxbuffer[3] << 8));
|
||
235:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[11] = mV_from_ADBMS6830(rxbuffer[4] | (rxbuffer[5] << 8));
|
||
236:Core/Src/ADBMS_Abstraction.c ****
|
||
237:Core/Src/ADBMS_Abstraction.c **** CHECK_RETURN(readCMD(RDCVE, rxbuffer, CV_GROUP_A_SIZE));
|
||
238:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[12] = mV_from_ADBMS6830(rxbuffer[0] | (rxbuffer[1] << 8));
|
||
239:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[13] = mV_from_ADBMS6830(rxbuffer[2] | (rxbuffer[3] << 8));
|
||
ARM GAS /tmp/ccNub4kL.s page 35
|
||
|
||
|
||
240:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[14] = mV_from_ADBMS6830(rxbuffer[4] | (rxbuffer[5] << 8));
|
||
241:Core/Src/ADBMS_Abstraction.c ****
|
||
242:Core/Src/ADBMS_Abstraction.c **** CHECK_RETURN(readCMD(RDCVF, rxbuffer, CV_GROUP_A_SIZE));
|
||
243:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[15] = mV_from_ADBMS6830(rxbuffer[0] | (rxbuffer[1] << 8));
|
||
244:Core/Src/ADBMS_Abstraction.c ****
|
||
245:Core/Src/ADBMS_Abstraction.c **** return 0;
|
||
246:Core/Src/ADBMS_Abstraction.c **** }
|
||
1478 .loc 1 246 1 view .LVU353
|
||
1479 0014 2846 mov r0, r5
|
||
1480 0016 03B0 add sp, sp, #12
|
||
1481 .cfi_remember_state
|
||
1482 .cfi_def_cfa_offset 12
|
||
1483 @ sp needed
|
||
1484 0018 30BD pop {r4, r5, pc}
|
||
1485 .LVL141:
|
||
1486 .L68:
|
||
1487 .cfi_restore_state
|
||
217:Core/Src/ADBMS_Abstraction.c **** CHECK_RETURN(readCMD(RDCVA, rxbuffer, CV_GROUP_A_SIZE));
|
||
1488 .loc 1 217 58 is_stmt 1 discriminator 2 view .LVU354
|
||
218:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[0] = mV_from_ADBMS6830(rxbuffer[0] | (rxbuffer[1] << 8));
|
||
1489 .loc 1 218 3 view .LVU355
|
||
218:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[0] = mV_from_ADBMS6830(rxbuffer[0] | (rxbuffer[1] << 8));
|
||
1490 .loc 1 218 29 is_stmt 0 view .LVU356
|
||
1491 001a 9DF80000 ldrb r0, [sp] @ zero_extendqisi2
|
||
1492 .LVL142:
|
||
218:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[0] = mV_from_ADBMS6830(rxbuffer[0] | (rxbuffer[1] << 8));
|
||
1493 .loc 1 218 29 view .LVU357
|
||
1494 001e 9DF80130 ldrb r3, [sp, #1] @ zero_extendqisi2
|
||
1495 0022 40EA0320 orr r0, r0, r3, lsl #8
|
||
1496 0026 00B2 sxth r0, r0
|
||
1497 0028 FFF7FEFF bl __aeabi_i2d
|
||
1498 .LVL143:
|
||
1499 002c C2A3 adr r3, .L69
|
||
1500 002e D3E90023 ldrd r2, [r3]
|
||
1501 0032 FFF7FEFF bl __aeabi_dmul
|
||
1502 .LVL144:
|
||
1503 0036 C2A3 adr r3, .L69+8
|
||
1504 0038 D3E90023 ldrd r2, [r3]
|
||
1505 003c FFF7FEFF bl __aeabi_dadd
|
||
1506 .LVL145:
|
||
218:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[0] = mV_from_ADBMS6830(rxbuffer[0] | (rxbuffer[1] << 8));
|
||
1507 .loc 1 218 27 view .LVU358
|
||
1508 0040 FFF7FEFF bl __aeabi_d2iz
|
||
1509 .LVL146:
|
||
1510 0044 2080 strh r0, [r4] @ movhi
|
||
219:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[2] = mV_from_ADBMS6830(rxbuffer[4] | (rxbuffer[5] << 8));
|
||
1511 .loc 1 219 3 is_stmt 1 view .LVU359
|
||
219:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[2] = mV_from_ADBMS6830(rxbuffer[4] | (rxbuffer[5] << 8));
|
||
1512 .loc 1 219 29 is_stmt 0 view .LVU360
|
||
1513 0046 9DF80200 ldrb r0, [sp, #2] @ zero_extendqisi2
|
||
1514 004a 9DF80330 ldrb r3, [sp, #3] @ zero_extendqisi2
|
||
1515 004e 40EA0320 orr r0, r0, r3, lsl #8
|
||
1516 0052 00B2 sxth r0, r0
|
||
1517 0054 FFF7FEFF bl __aeabi_i2d
|
||
1518 .LVL147:
|
||
1519 0058 B7A3 adr r3, .L69
|
||
1520 005a D3E90023 ldrd r2, [r3]
|
||
ARM GAS /tmp/ccNub4kL.s page 36
|
||
|
||
|
||
1521 005e FFF7FEFF bl __aeabi_dmul
|
||
1522 .LVL148:
|
||
1523 0062 B7A3 adr r3, .L69+8
|
||
1524 0064 D3E90023 ldrd r2, [r3]
|
||
1525 0068 FFF7FEFF bl __aeabi_dadd
|
||
1526 .LVL149:
|
||
219:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[2] = mV_from_ADBMS6830(rxbuffer[4] | (rxbuffer[5] << 8));
|
||
1527 .loc 1 219 27 view .LVU361
|
||
1528 006c FFF7FEFF bl __aeabi_d2iz
|
||
1529 .LVL150:
|
||
1530 0070 6080 strh r0, [r4, #2] @ movhi
|
||
220:Core/Src/ADBMS_Abstraction.c ****
|
||
1531 .loc 1 220 3 is_stmt 1 view .LVU362
|
||
220:Core/Src/ADBMS_Abstraction.c ****
|
||
1532 .loc 1 220 29 is_stmt 0 view .LVU363
|
||
1533 0072 9DF80400 ldrb r0, [sp, #4] @ zero_extendqisi2
|
||
1534 0076 9DF80530 ldrb r3, [sp, #5] @ zero_extendqisi2
|
||
1535 007a 40EA0320 orr r0, r0, r3, lsl #8
|
||
1536 007e 00B2 sxth r0, r0
|
||
1537 0080 FFF7FEFF bl __aeabi_i2d
|
||
1538 .LVL151:
|
||
1539 0084 ACA3 adr r3, .L69
|
||
1540 0086 D3E90023 ldrd r2, [r3]
|
||
1541 008a FFF7FEFF bl __aeabi_dmul
|
||
1542 .LVL152:
|
||
1543 008e ACA3 adr r3, .L69+8
|
||
1544 0090 D3E90023 ldrd r2, [r3]
|
||
1545 0094 FFF7FEFF bl __aeabi_dadd
|
||
1546 .LVL153:
|
||
220:Core/Src/ADBMS_Abstraction.c ****
|
||
1547 .loc 1 220 27 view .LVU364
|
||
1548 0098 FFF7FEFF bl __aeabi_d2iz
|
||
1549 .LVL154:
|
||
1550 009c A080 strh r0, [r4, #4] @ movhi
|
||
1551 .LBB23:
|
||
222:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[3] = mV_from_ADBMS6830(rxbuffer[0] | (rxbuffer[1] << 8));
|
||
1552 .loc 1 222 3 is_stmt 1 view .LVU365
|
||
1553 009e 0622 movs r2, #6
|
||
1554 00a0 6946 mov r1, sp
|
||
1555 00a2 1046 mov r0, r2
|
||
1556 00a4 FFF7FEFF bl readCMD
|
||
1557 .LVL155:
|
||
222:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[3] = mV_from_ADBMS6830(rxbuffer[0] | (rxbuffer[1] << 8));
|
||
1558 .loc 1 222 3 discriminator 1 view .LVU366
|
||
1559 00a8 0546 mov r5, r0
|
||
1560 .LVL156:
|
||
222:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[3] = mV_from_ADBMS6830(rxbuffer[0] | (rxbuffer[1] << 8));
|
||
1561 .loc 1 222 3 is_stmt 0 discriminator 1 view .LVU367
|
||
1562 00aa 0028 cmp r0, #0
|
||
1563 00ac B2D1 bne .L66
|
||
1564 .LBE23:
|
||
222:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[3] = mV_from_ADBMS6830(rxbuffer[0] | (rxbuffer[1] << 8));
|
||
1565 .loc 1 222 58 is_stmt 1 discriminator 2 view .LVU368
|
||
223:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[4] = mV_from_ADBMS6830(rxbuffer[2] | (rxbuffer[3] << 8));
|
||
1566 .loc 1 223 3 view .LVU369
|
||
223:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[4] = mV_from_ADBMS6830(rxbuffer[2] | (rxbuffer[3] << 8));
|
||
1567 .loc 1 223 29 is_stmt 0 view .LVU370
|
||
ARM GAS /tmp/ccNub4kL.s page 37
|
||
|
||
|
||
1568 00ae 9DF80000 ldrb r0, [sp] @ zero_extendqisi2
|
||
1569 .LVL157:
|
||
223:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[4] = mV_from_ADBMS6830(rxbuffer[2] | (rxbuffer[3] << 8));
|
||
1570 .loc 1 223 29 view .LVU371
|
||
1571 00b2 9DF80130 ldrb r3, [sp, #1] @ zero_extendqisi2
|
||
1572 00b6 40EA0320 orr r0, r0, r3, lsl #8
|
||
1573 00ba 00B2 sxth r0, r0
|
||
1574 00bc FFF7FEFF bl __aeabi_i2d
|
||
1575 .LVL158:
|
||
1576 00c0 9DA3 adr r3, .L69
|
||
1577 00c2 D3E90023 ldrd r2, [r3]
|
||
1578 00c6 FFF7FEFF bl __aeabi_dmul
|
||
1579 .LVL159:
|
||
1580 00ca 9DA3 adr r3, .L69+8
|
||
1581 00cc D3E90023 ldrd r2, [r3]
|
||
1582 00d0 FFF7FEFF bl __aeabi_dadd
|
||
1583 .LVL160:
|
||
223:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[4] = mV_from_ADBMS6830(rxbuffer[2] | (rxbuffer[3] << 8));
|
||
1584 .loc 1 223 27 view .LVU372
|
||
1585 00d4 FFF7FEFF bl __aeabi_d2iz
|
||
1586 .LVL161:
|
||
1587 00d8 E080 strh r0, [r4, #6] @ movhi
|
||
224:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[5] = mV_from_ADBMS6830(rxbuffer[4] | (rxbuffer[5] << 8));
|
||
1588 .loc 1 224 3 is_stmt 1 view .LVU373
|
||
224:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[5] = mV_from_ADBMS6830(rxbuffer[4] | (rxbuffer[5] << 8));
|
||
1589 .loc 1 224 29 is_stmt 0 view .LVU374
|
||
1590 00da 9DF80200 ldrb r0, [sp, #2] @ zero_extendqisi2
|
||
1591 00de 9DF80330 ldrb r3, [sp, #3] @ zero_extendqisi2
|
||
1592 00e2 40EA0320 orr r0, r0, r3, lsl #8
|
||
1593 00e6 00B2 sxth r0, r0
|
||
1594 00e8 FFF7FEFF bl __aeabi_i2d
|
||
1595 .LVL162:
|
||
1596 00ec 92A3 adr r3, .L69
|
||
1597 00ee D3E90023 ldrd r2, [r3]
|
||
1598 00f2 FFF7FEFF bl __aeabi_dmul
|
||
1599 .LVL163:
|
||
1600 00f6 92A3 adr r3, .L69+8
|
||
1601 00f8 D3E90023 ldrd r2, [r3]
|
||
1602 00fc FFF7FEFF bl __aeabi_dadd
|
||
1603 .LVL164:
|
||
224:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[5] = mV_from_ADBMS6830(rxbuffer[4] | (rxbuffer[5] << 8));
|
||
1604 .loc 1 224 27 view .LVU375
|
||
1605 0100 FFF7FEFF bl __aeabi_d2iz
|
||
1606 .LVL165:
|
||
1607 0104 2081 strh r0, [r4, #8] @ movhi
|
||
225:Core/Src/ADBMS_Abstraction.c ****
|
||
1608 .loc 1 225 3 is_stmt 1 view .LVU376
|
||
225:Core/Src/ADBMS_Abstraction.c ****
|
||
1609 .loc 1 225 29 is_stmt 0 view .LVU377
|
||
1610 0106 9DF80400 ldrb r0, [sp, #4] @ zero_extendqisi2
|
||
1611 010a 9DF80530 ldrb r3, [sp, #5] @ zero_extendqisi2
|
||
1612 010e 40EA0320 orr r0, r0, r3, lsl #8
|
||
1613 0112 00B2 sxth r0, r0
|
||
1614 0114 FFF7FEFF bl __aeabi_i2d
|
||
1615 .LVL166:
|
||
1616 0118 87A3 adr r3, .L69
|
||
1617 011a D3E90023 ldrd r2, [r3]
|
||
ARM GAS /tmp/ccNub4kL.s page 38
|
||
|
||
|
||
1618 011e FFF7FEFF bl __aeabi_dmul
|
||
1619 .LVL167:
|
||
1620 0122 87A3 adr r3, .L69+8
|
||
1621 0124 D3E90023 ldrd r2, [r3]
|
||
1622 0128 FFF7FEFF bl __aeabi_dadd
|
||
1623 .LVL168:
|
||
225:Core/Src/ADBMS_Abstraction.c ****
|
||
1624 .loc 1 225 27 view .LVU378
|
||
1625 012c FFF7FEFF bl __aeabi_d2iz
|
||
1626 .LVL169:
|
||
1627 0130 6081 strh r0, [r4, #10] @ movhi
|
||
1628 .LBB24:
|
||
227:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[6] = mV_from_ADBMS6830(rxbuffer[0] | (rxbuffer[1] << 8));
|
||
1629 .loc 1 227 3 is_stmt 1 view .LVU379
|
||
1630 0132 0622 movs r2, #6
|
||
1631 0134 6946 mov r1, sp
|
||
1632 0136 0820 movs r0, #8
|
||
1633 0138 FFF7FEFF bl readCMD
|
||
1634 .LVL170:
|
||
227:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[6] = mV_from_ADBMS6830(rxbuffer[0] | (rxbuffer[1] << 8));
|
||
1635 .loc 1 227 3 discriminator 1 view .LVU380
|
||
1636 013c 0546 mov r5, r0
|
||
1637 .LVL171:
|
||
227:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[6] = mV_from_ADBMS6830(rxbuffer[0] | (rxbuffer[1] << 8));
|
||
1638 .loc 1 227 3 is_stmt 0 discriminator 1 view .LVU381
|
||
1639 013e 0028 cmp r0, #0
|
||
1640 0140 7FF468AF bne .L66
|
||
1641 .LBE24:
|
||
227:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[6] = mV_from_ADBMS6830(rxbuffer[0] | (rxbuffer[1] << 8));
|
||
1642 .loc 1 227 58 is_stmt 1 discriminator 2 view .LVU382
|
||
228:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[7] = mV_from_ADBMS6830(rxbuffer[2] | (rxbuffer[3] << 8));
|
||
1643 .loc 1 228 3 view .LVU383
|
||
228:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[7] = mV_from_ADBMS6830(rxbuffer[2] | (rxbuffer[3] << 8));
|
||
1644 .loc 1 228 29 is_stmt 0 view .LVU384
|
||
1645 0144 9DF80000 ldrb r0, [sp] @ zero_extendqisi2
|
||
1646 .LVL172:
|
||
228:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[7] = mV_from_ADBMS6830(rxbuffer[2] | (rxbuffer[3] << 8));
|
||
1647 .loc 1 228 29 view .LVU385
|
||
1648 0148 9DF80130 ldrb r3, [sp, #1] @ zero_extendqisi2
|
||
1649 014c 40EA0320 orr r0, r0, r3, lsl #8
|
||
1650 0150 00B2 sxth r0, r0
|
||
1651 0152 FFF7FEFF bl __aeabi_i2d
|
||
1652 .LVL173:
|
||
1653 0156 78A3 adr r3, .L69
|
||
1654 0158 D3E90023 ldrd r2, [r3]
|
||
1655 015c FFF7FEFF bl __aeabi_dmul
|
||
1656 .LVL174:
|
||
1657 0160 77A3 adr r3, .L69+8
|
||
1658 0162 D3E90023 ldrd r2, [r3]
|
||
1659 0166 FFF7FEFF bl __aeabi_dadd
|
||
1660 .LVL175:
|
||
228:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[7] = mV_from_ADBMS6830(rxbuffer[2] | (rxbuffer[3] << 8));
|
||
1661 .loc 1 228 27 view .LVU386
|
||
1662 016a FFF7FEFF bl __aeabi_d2iz
|
||
1663 .LVL176:
|
||
1664 016e A081 strh r0, [r4, #12] @ movhi
|
||
229:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[8] = mV_from_ADBMS6830(rxbuffer[4] | (rxbuffer[5] << 8));
|
||
ARM GAS /tmp/ccNub4kL.s page 39
|
||
|
||
|
||
1665 .loc 1 229 3 is_stmt 1 view .LVU387
|
||
229:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[8] = mV_from_ADBMS6830(rxbuffer[4] | (rxbuffer[5] << 8));
|
||
1666 .loc 1 229 29 is_stmt 0 view .LVU388
|
||
1667 0170 9DF80200 ldrb r0, [sp, #2] @ zero_extendqisi2
|
||
1668 0174 9DF80330 ldrb r3, [sp, #3] @ zero_extendqisi2
|
||
1669 0178 40EA0320 orr r0, r0, r3, lsl #8
|
||
1670 017c 00B2 sxth r0, r0
|
||
1671 017e FFF7FEFF bl __aeabi_i2d
|
||
1672 .LVL177:
|
||
1673 0182 6DA3 adr r3, .L69
|
||
1674 0184 D3E90023 ldrd r2, [r3]
|
||
1675 0188 FFF7FEFF bl __aeabi_dmul
|
||
1676 .LVL178:
|
||
1677 018c 6CA3 adr r3, .L69+8
|
||
1678 018e D3E90023 ldrd r2, [r3]
|
||
1679 0192 FFF7FEFF bl __aeabi_dadd
|
||
1680 .LVL179:
|
||
229:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[8] = mV_from_ADBMS6830(rxbuffer[4] | (rxbuffer[5] << 8));
|
||
1681 .loc 1 229 27 view .LVU389
|
||
1682 0196 FFF7FEFF bl __aeabi_d2iz
|
||
1683 .LVL180:
|
||
1684 019a E081 strh r0, [r4, #14] @ movhi
|
||
230:Core/Src/ADBMS_Abstraction.c ****
|
||
1685 .loc 1 230 3 is_stmt 1 view .LVU390
|
||
230:Core/Src/ADBMS_Abstraction.c ****
|
||
1686 .loc 1 230 29 is_stmt 0 view .LVU391
|
||
1687 019c 9DF80400 ldrb r0, [sp, #4] @ zero_extendqisi2
|
||
1688 01a0 9DF80530 ldrb r3, [sp, #5] @ zero_extendqisi2
|
||
1689 01a4 40EA0320 orr r0, r0, r3, lsl #8
|
||
1690 01a8 00B2 sxth r0, r0
|
||
1691 01aa FFF7FEFF bl __aeabi_i2d
|
||
1692 .LVL181:
|
||
1693 01ae 62A3 adr r3, .L69
|
||
1694 01b0 D3E90023 ldrd r2, [r3]
|
||
1695 01b4 FFF7FEFF bl __aeabi_dmul
|
||
1696 .LVL182:
|
||
1697 01b8 61A3 adr r3, .L69+8
|
||
1698 01ba D3E90023 ldrd r2, [r3]
|
||
1699 01be FFF7FEFF bl __aeabi_dadd
|
||
1700 .LVL183:
|
||
230:Core/Src/ADBMS_Abstraction.c ****
|
||
1701 .loc 1 230 27 view .LVU392
|
||
1702 01c2 FFF7FEFF bl __aeabi_d2iz
|
||
1703 .LVL184:
|
||
1704 01c6 2082 strh r0, [r4, #16] @ movhi
|
||
1705 .LBB25:
|
||
232:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[9] = mV_from_ADBMS6830(rxbuffer[0] | (rxbuffer[1] << 8));
|
||
1706 .loc 1 232 3 is_stmt 1 view .LVU393
|
||
1707 01c8 0622 movs r2, #6
|
||
1708 01ca 6946 mov r1, sp
|
||
1709 01cc 0A20 movs r0, #10
|
||
1710 01ce FFF7FEFF bl readCMD
|
||
1711 .LVL185:
|
||
232:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[9] = mV_from_ADBMS6830(rxbuffer[0] | (rxbuffer[1] << 8));
|
||
1712 .loc 1 232 3 discriminator 1 view .LVU394
|
||
1713 01d2 0546 mov r5, r0
|
||
1714 .LVL186:
|
||
ARM GAS /tmp/ccNub4kL.s page 40
|
||
|
||
|
||
232:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[9] = mV_from_ADBMS6830(rxbuffer[0] | (rxbuffer[1] << 8));
|
||
1715 .loc 1 232 3 is_stmt 0 discriminator 1 view .LVU395
|
||
1716 01d4 0028 cmp r0, #0
|
||
1717 01d6 7FF41DAF bne .L66
|
||
1718 .LBE25:
|
||
232:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[9] = mV_from_ADBMS6830(rxbuffer[0] | (rxbuffer[1] << 8));
|
||
1719 .loc 1 232 58 is_stmt 1 discriminator 2 view .LVU396
|
||
233:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[10] = mV_from_ADBMS6830(rxbuffer[2] | (rxbuffer[3] << 8));
|
||
1720 .loc 1 233 3 view .LVU397
|
||
233:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[10] = mV_from_ADBMS6830(rxbuffer[2] | (rxbuffer[3] << 8));
|
||
1721 .loc 1 233 30 is_stmt 0 view .LVU398
|
||
1722 01da 9DF80000 ldrb r0, [sp] @ zero_extendqisi2
|
||
1723 .LVL187:
|
||
233:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[10] = mV_from_ADBMS6830(rxbuffer[2] | (rxbuffer[3] << 8));
|
||
1724 .loc 1 233 30 view .LVU399
|
||
1725 01de 9DF80130 ldrb r3, [sp, #1] @ zero_extendqisi2
|
||
1726 01e2 40EA0320 orr r0, r0, r3, lsl #8
|
||
1727 01e6 00B2 sxth r0, r0
|
||
1728 01e8 FFF7FEFF bl __aeabi_i2d
|
||
1729 .LVL188:
|
||
1730 01ec 52A3 adr r3, .L69
|
||
1731 01ee D3E90023 ldrd r2, [r3]
|
||
1732 01f2 FFF7FEFF bl __aeabi_dmul
|
||
1733 .LVL189:
|
||
1734 01f6 52A3 adr r3, .L69+8
|
||
1735 01f8 D3E90023 ldrd r2, [r3]
|
||
1736 01fc FFF7FEFF bl __aeabi_dadd
|
||
1737 .LVL190:
|
||
233:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[10] = mV_from_ADBMS6830(rxbuffer[2] | (rxbuffer[3] << 8));
|
||
1738 .loc 1 233 28 view .LVU400
|
||
1739 0200 FFF7FEFF bl __aeabi_d2iz
|
||
1740 .LVL191:
|
||
1741 0204 6082 strh r0, [r4, #18] @ movhi
|
||
234:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[11] = mV_from_ADBMS6830(rxbuffer[4] | (rxbuffer[5] << 8));
|
||
1742 .loc 1 234 3 is_stmt 1 view .LVU401
|
||
234:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[11] = mV_from_ADBMS6830(rxbuffer[4] | (rxbuffer[5] << 8));
|
||
1743 .loc 1 234 30 is_stmt 0 view .LVU402
|
||
1744 0206 9DF80200 ldrb r0, [sp, #2] @ zero_extendqisi2
|
||
1745 020a 9DF80330 ldrb r3, [sp, #3] @ zero_extendqisi2
|
||
1746 020e 40EA0320 orr r0, r0, r3, lsl #8
|
||
1747 0212 00B2 sxth r0, r0
|
||
1748 0214 FFF7FEFF bl __aeabi_i2d
|
||
1749 .LVL192:
|
||
1750 0218 47A3 adr r3, .L69
|
||
1751 021a D3E90023 ldrd r2, [r3]
|
||
1752 021e FFF7FEFF bl __aeabi_dmul
|
||
1753 .LVL193:
|
||
1754 0222 47A3 adr r3, .L69+8
|
||
1755 0224 D3E90023 ldrd r2, [r3]
|
||
1756 0228 FFF7FEFF bl __aeabi_dadd
|
||
1757 .LVL194:
|
||
234:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[11] = mV_from_ADBMS6830(rxbuffer[4] | (rxbuffer[5] << 8));
|
||
1758 .loc 1 234 28 view .LVU403
|
||
1759 022c FFF7FEFF bl __aeabi_d2iz
|
||
1760 .LVL195:
|
||
1761 0230 A082 strh r0, [r4, #20] @ movhi
|
||
235:Core/Src/ADBMS_Abstraction.c ****
|
||
ARM GAS /tmp/ccNub4kL.s page 41
|
||
|
||
|
||
1762 .loc 1 235 3 is_stmt 1 view .LVU404
|
||
235:Core/Src/ADBMS_Abstraction.c ****
|
||
1763 .loc 1 235 30 is_stmt 0 view .LVU405
|
||
1764 0232 9DF80400 ldrb r0, [sp, #4] @ zero_extendqisi2
|
||
1765 0236 9DF80530 ldrb r3, [sp, #5] @ zero_extendqisi2
|
||
1766 023a 40EA0320 orr r0, r0, r3, lsl #8
|
||
1767 023e 00B2 sxth r0, r0
|
||
1768 0240 FFF7FEFF bl __aeabi_i2d
|
||
1769 .LVL196:
|
||
1770 0244 3CA3 adr r3, .L69
|
||
1771 0246 D3E90023 ldrd r2, [r3]
|
||
1772 024a FFF7FEFF bl __aeabi_dmul
|
||
1773 .LVL197:
|
||
1774 024e 3CA3 adr r3, .L69+8
|
||
1775 0250 D3E90023 ldrd r2, [r3]
|
||
1776 0254 FFF7FEFF bl __aeabi_dadd
|
||
1777 .LVL198:
|
||
235:Core/Src/ADBMS_Abstraction.c ****
|
||
1778 .loc 1 235 28 view .LVU406
|
||
1779 0258 FFF7FEFF bl __aeabi_d2iz
|
||
1780 .LVL199:
|
||
1781 025c E082 strh r0, [r4, #22] @ movhi
|
||
1782 .LBB26:
|
||
237:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[12] = mV_from_ADBMS6830(rxbuffer[0] | (rxbuffer[1] << 8));
|
||
1783 .loc 1 237 3 is_stmt 1 view .LVU407
|
||
1784 025e 0622 movs r2, #6
|
||
1785 0260 6946 mov r1, sp
|
||
1786 0262 0920 movs r0, #9
|
||
1787 0264 FFF7FEFF bl readCMD
|
||
1788 .LVL200:
|
||
237:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[12] = mV_from_ADBMS6830(rxbuffer[0] | (rxbuffer[1] << 8));
|
||
1789 .loc 1 237 3 discriminator 1 view .LVU408
|
||
1790 0268 0546 mov r5, r0
|
||
1791 .LVL201:
|
||
237:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[12] = mV_from_ADBMS6830(rxbuffer[0] | (rxbuffer[1] << 8));
|
||
1792 .loc 1 237 3 is_stmt 0 discriminator 1 view .LVU409
|
||
1793 026a 0028 cmp r0, #0
|
||
1794 026c 7FF4D2AE bne .L66
|
||
1795 .LBE26:
|
||
237:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[12] = mV_from_ADBMS6830(rxbuffer[0] | (rxbuffer[1] << 8));
|
||
1796 .loc 1 237 58 is_stmt 1 discriminator 2 view .LVU410
|
||
238:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[13] = mV_from_ADBMS6830(rxbuffer[2] | (rxbuffer[3] << 8));
|
||
1797 .loc 1 238 3 view .LVU411
|
||
238:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[13] = mV_from_ADBMS6830(rxbuffer[2] | (rxbuffer[3] << 8));
|
||
1798 .loc 1 238 30 is_stmt 0 view .LVU412
|
||
1799 0270 9DF80000 ldrb r0, [sp] @ zero_extendqisi2
|
||
1800 .LVL202:
|
||
238:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[13] = mV_from_ADBMS6830(rxbuffer[2] | (rxbuffer[3] << 8));
|
||
1801 .loc 1 238 30 view .LVU413
|
||
1802 0274 9DF80130 ldrb r3, [sp, #1] @ zero_extendqisi2
|
||
1803 0278 40EA0320 orr r0, r0, r3, lsl #8
|
||
1804 027c 00B2 sxth r0, r0
|
||
1805 027e FFF7FEFF bl __aeabi_i2d
|
||
1806 .LVL203:
|
||
1807 0282 2DA3 adr r3, .L69
|
||
1808 0284 D3E90023 ldrd r2, [r3]
|
||
1809 0288 FFF7FEFF bl __aeabi_dmul
|
||
ARM GAS /tmp/ccNub4kL.s page 42
|
||
|
||
|
||
1810 .LVL204:
|
||
1811 028c 2CA3 adr r3, .L69+8
|
||
1812 028e D3E90023 ldrd r2, [r3]
|
||
1813 0292 FFF7FEFF bl __aeabi_dadd
|
||
1814 .LVL205:
|
||
238:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[13] = mV_from_ADBMS6830(rxbuffer[2] | (rxbuffer[3] << 8));
|
||
1815 .loc 1 238 28 view .LVU414
|
||
1816 0296 FFF7FEFF bl __aeabi_d2iz
|
||
1817 .LVL206:
|
||
1818 029a 2083 strh r0, [r4, #24] @ movhi
|
||
239:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[14] = mV_from_ADBMS6830(rxbuffer[4] | (rxbuffer[5] << 8));
|
||
1819 .loc 1 239 3 is_stmt 1 view .LVU415
|
||
239:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[14] = mV_from_ADBMS6830(rxbuffer[4] | (rxbuffer[5] << 8));
|
||
1820 .loc 1 239 30 is_stmt 0 view .LVU416
|
||
1821 029c 9DF80200 ldrb r0, [sp, #2] @ zero_extendqisi2
|
||
1822 02a0 9DF80330 ldrb r3, [sp, #3] @ zero_extendqisi2
|
||
1823 02a4 40EA0320 orr r0, r0, r3, lsl #8
|
||
1824 02a8 00B2 sxth r0, r0
|
||
1825 02aa FFF7FEFF bl __aeabi_i2d
|
||
1826 .LVL207:
|
||
1827 02ae 22A3 adr r3, .L69
|
||
1828 02b0 D3E90023 ldrd r2, [r3]
|
||
1829 02b4 FFF7FEFF bl __aeabi_dmul
|
||
1830 .LVL208:
|
||
1831 02b8 21A3 adr r3, .L69+8
|
||
1832 02ba D3E90023 ldrd r2, [r3]
|
||
1833 02be FFF7FEFF bl __aeabi_dadd
|
||
1834 .LVL209:
|
||
239:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[14] = mV_from_ADBMS6830(rxbuffer[4] | (rxbuffer[5] << 8));
|
||
1835 .loc 1 239 28 view .LVU417
|
||
1836 02c2 FFF7FEFF bl __aeabi_d2iz
|
||
1837 .LVL210:
|
||
1838 02c6 6083 strh r0, [r4, #26] @ movhi
|
||
240:Core/Src/ADBMS_Abstraction.c ****
|
||
1839 .loc 1 240 3 is_stmt 1 view .LVU418
|
||
240:Core/Src/ADBMS_Abstraction.c ****
|
||
1840 .loc 1 240 30 is_stmt 0 view .LVU419
|
||
1841 02c8 9DF80400 ldrb r0, [sp, #4] @ zero_extendqisi2
|
||
1842 02cc 9DF80530 ldrb r3, [sp, #5] @ zero_extendqisi2
|
||
1843 02d0 40EA0320 orr r0, r0, r3, lsl #8
|
||
1844 02d4 00B2 sxth r0, r0
|
||
1845 02d6 FFF7FEFF bl __aeabi_i2d
|
||
1846 .LVL211:
|
||
1847 02da 17A3 adr r3, .L69
|
||
1848 02dc D3E90023 ldrd r2, [r3]
|
||
1849 02e0 FFF7FEFF bl __aeabi_dmul
|
||
1850 .LVL212:
|
||
1851 02e4 16A3 adr r3, .L69+8
|
||
1852 02e6 D3E90023 ldrd r2, [r3]
|
||
1853 02ea FFF7FEFF bl __aeabi_dadd
|
||
1854 .LVL213:
|
||
240:Core/Src/ADBMS_Abstraction.c ****
|
||
1855 .loc 1 240 28 view .LVU420
|
||
1856 02ee FFF7FEFF bl __aeabi_d2iz
|
||
1857 .LVL214:
|
||
1858 02f2 A083 strh r0, [r4, #28] @ movhi
|
||
1859 .LBB27:
|
||
ARM GAS /tmp/ccNub4kL.s page 43
|
||
|
||
|
||
242:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[15] = mV_from_ADBMS6830(rxbuffer[0] | (rxbuffer[1] << 8));
|
||
1860 .loc 1 242 3 is_stmt 1 view .LVU421
|
||
1861 02f4 0622 movs r2, #6
|
||
1862 02f6 6946 mov r1, sp
|
||
1863 02f8 0B20 movs r0, #11
|
||
1864 02fa FFF7FEFF bl readCMD
|
||
1865 .LVL215:
|
||
242:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[15] = mV_from_ADBMS6830(rxbuffer[0] | (rxbuffer[1] << 8));
|
||
1866 .loc 1 242 3 discriminator 1 view .LVU422
|
||
1867 02fe 0546 mov r5, r0
|
||
1868 .LVL216:
|
||
242:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[15] = mV_from_ADBMS6830(rxbuffer[0] | (rxbuffer[1] << 8));
|
||
1869 .loc 1 242 3 is_stmt 0 discriminator 1 view .LVU423
|
||
1870 0300 0028 cmp r0, #0
|
||
1871 0302 7FF487AE bne .L66
|
||
1872 .LBE27:
|
||
242:Core/Src/ADBMS_Abstraction.c **** module->cellVoltages[15] = mV_from_ADBMS6830(rxbuffer[0] | (rxbuffer[1] << 8));
|
||
1873 .loc 1 242 58 is_stmt 1 discriminator 2 view .LVU424
|
||
243:Core/Src/ADBMS_Abstraction.c ****
|
||
1874 .loc 1 243 3 view .LVU425
|
||
243:Core/Src/ADBMS_Abstraction.c ****
|
||
1875 .loc 1 243 30 is_stmt 0 view .LVU426
|
||
1876 0306 9DF80000 ldrb r0, [sp] @ zero_extendqisi2
|
||
1877 .LVL217:
|
||
243:Core/Src/ADBMS_Abstraction.c ****
|
||
1878 .loc 1 243 30 view .LVU427
|
||
1879 030a 9DF80130 ldrb r3, [sp, #1] @ zero_extendqisi2
|
||
1880 030e 40EA0320 orr r0, r0, r3, lsl #8
|
||
1881 0312 00B2 sxth r0, r0
|
||
1882 0314 FFF7FEFF bl __aeabi_i2d
|
||
1883 .LVL218:
|
||
1884 0318 07A3 adr r3, .L69
|
||
1885 031a D3E90023 ldrd r2, [r3]
|
||
1886 031e FFF7FEFF bl __aeabi_dmul
|
||
1887 .LVL219:
|
||
1888 0322 07A3 adr r3, .L69+8
|
||
1889 0324 D3E90023 ldrd r2, [r3]
|
||
1890 0328 FFF7FEFF bl __aeabi_dadd
|
||
1891 .LVL220:
|
||
243:Core/Src/ADBMS_Abstraction.c ****
|
||
1892 .loc 1 243 28 view .LVU428
|
||
1893 032c FFF7FEFF bl __aeabi_d2iz
|
||
1894 .LVL221:
|
||
1895 0330 E083 strh r0, [r4, #30] @ movhi
|
||
245:Core/Src/ADBMS_Abstraction.c **** }
|
||
1896 .loc 1 245 3 is_stmt 1 view .LVU429
|
||
245:Core/Src/ADBMS_Abstraction.c **** }
|
||
1897 .loc 1 245 10 is_stmt 0 view .LVU430
|
||
1898 0332 6FE6 b .L66
|
||
1899 .L70:
|
||
1900 0334 AFF30080 .align 3
|
||
1901 .L69:
|
||
1902 0338 33333333 .word 858993459
|
||
1903 033c 3333C33F .word 1069757235
|
||
1904 0340 00000000 .word 0
|
||
1905 0344 00709740 .word 1083666432
|
||
1906 .cfi_endproc
|
||
ARM GAS /tmp/ccNub4kL.s page 44
|
||
|
||
|
||
1907 .LFE137:
|
||
1909 .section .text.amsCellMeasurement,"ax",%progbits
|
||
1910 .align 1
|
||
1911 .global amsCellMeasurement
|
||
1912 .syntax unified
|
||
1913 .thumb
|
||
1914 .thumb_func
|
||
1916 amsCellMeasurement:
|
||
1917 .LVL222:
|
||
1918 .LFB126:
|
||
54:Core/Src/ADBMS_Abstraction.c **** #warning check conversion counter to ensure that continous conversion has not been stopped
|
||
1919 .loc 1 54 47 is_stmt 1 view -0
|
||
1920 .cfi_startproc
|
||
1921 @ args = 0, pretend = 0, frame = 0
|
||
1922 @ frame_needed = 0, uses_anonymous_args = 0
|
||
54:Core/Src/ADBMS_Abstraction.c **** #warning check conversion counter to ensure that continous conversion has not been stopped
|
||
1923 .loc 1 54 47 is_stmt 0 view .LVU432
|
||
1924 0000 08B5 push {r3, lr}
|
||
1925 .cfi_def_cfa_offset 8
|
||
1926 .cfi_offset 3, -8
|
||
1927 .cfi_offset 14, -4
|
||
57:Core/Src/ADBMS_Abstraction.c **** }
|
||
1928 .loc 1 57 3 is_stmt 1 view .LVU433
|
||
57:Core/Src/ADBMS_Abstraction.c **** }
|
||
1929 .loc 1 57 10 is_stmt 0 view .LVU434
|
||
1930 0002 FFF7FEFF bl amsReadCellVoltages
|
||
1931 .LVL223:
|
||
58:Core/Src/ADBMS_Abstraction.c ****
|
||
1932 .loc 1 58 1 view .LVU435
|
||
1933 0006 08BD pop {r3, pc}
|
||
1934 .cfi_endproc
|
||
1935 .LFE126:
|
||
1937 .global numberofauxchannels
|
||
1938 .section .bss.numberofauxchannels,"aw",%nobits
|
||
1941 numberofauxchannels:
|
||
1942 0000 00 .space 1
|
||
1943 .global numberofcells
|
||
1944 .section .bss.numberofcells,"aw",%nobits
|
||
1947 numberofcells:
|
||
1948 0000 00 .space 1
|
||
1949 .text
|
||
1950 .Letext0:
|
||
1951 .file 2 "/home/chiangni/.config/VSCodium/User/globalStorage/bmd.stm32-for-vscode/@xpack-dev-tools/
|
||
1952 .file 3 "/home/chiangni/.config/VSCodium/User/globalStorage/bmd.stm32-for-vscode/@xpack-dev-tools/
|
||
1953 .file 4 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/stm32f302x8.h"
|
||
1954 .file 5 "/home/chiangni/.config/VSCodium/User/globalStorage/bmd.stm32-for-vscode/@xpack-dev-tools/
|
||
1955 .file 6 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_def.h"
|
||
1956 .file 7 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_dma.h"
|
||
1957 .file 8 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_spi.h"
|
||
1958 .file 9 "Core/Inc/ADBMS_LL_Driver.h"
|
||
1959 .file 10 "Core/Inc/ADBMS_Abstraction.h"
|
||
ARM GAS /tmp/ccNub4kL.s page 45
|
||
|
||
|
||
DEFINED SYMBOLS
|
||
*ABS*:00000000 ADBMS_Abstraction.c
|
||
/tmp/ccNub4kL.s:21 .text.amsWakeUp:00000000 $t
|
||
/tmp/ccNub4kL.s:27 .text.amsWakeUp:00000000 amsWakeUp
|
||
/tmp/ccNub4kL.s:55 .text.amsConfigCellMeasurement:00000000 $t
|
||
/tmp/ccNub4kL.s:61 .text.amsConfigCellMeasurement:00000000 amsConfigCellMeasurement
|
||
/tmp/ccNub4kL.s:82 .text.amsConfigCellMeasurement:00000008 $d
|
||
/tmp/ccNub4kL.s:1947 .bss.numberofcells:00000000 numberofcells
|
||
/tmp/ccNub4kL.s:92 .text.amsAuxAndStatusMeasurement:00000000 $t
|
||
/tmp/ccNub4kL.s:98 .text.amsAuxAndStatusMeasurement:00000000 amsAuxAndStatusMeasurement
|
||
/tmp/ccNub4kL.s:649 .text.amsAuxAndStatusMeasurement:000003e8 $d
|
||
/tmp/ccNub4kL.s:658 .text.amsConfigBalancing:00000000 $t
|
||
/tmp/ccNub4kL.s:664 .text.amsConfigBalancing:00000000 amsConfigBalancing
|
||
/tmp/ccNub4kL.s:871 .text.amsStartBalancing:00000000 $t
|
||
/tmp/ccNub4kL.s:877 .text.amsStartBalancing:00000000 amsStartBalancing
|
||
/tmp/ccNub4kL.s:904 .text.amsStopBalancing:00000000 $t
|
||
/tmp/ccNub4kL.s:910 .text.amsStopBalancing:00000000 amsStopBalancing
|
||
/tmp/ccNub4kL.s:933 .text.amsSelfTest:00000000 $t
|
||
/tmp/ccNub4kL.s:939 .text.amsSelfTest:00000000 amsSelfTest
|
||
/tmp/ccNub4kL.s:954 .text.amsConfigOverUnderVoltage:00000000 $t
|
||
/tmp/ccNub4kL.s:960 .text.amsConfigOverUnderVoltage:00000000 amsConfigOverUnderVoltage
|
||
/tmp/ccNub4kL.s:1072 .rodata.amsReset.str1.4:00000000 $d
|
||
/tmp/ccNub4kL.s:1076 .text.amsReset:00000000 $t
|
||
/tmp/ccNub4kL.s:1082 .text.amsReset:00000000 amsReset
|
||
/tmp/ccNub4kL.s:1195 .text.amsReset:00000084 $d
|
||
/tmp/ccNub4kL.s:1201 .text.initAMS:00000000 $t
|
||
/tmp/ccNub4kL.s:1207 .text.initAMS:00000000 initAMS
|
||
/tmp/ccNub4kL.s:1245 .text.initAMS:00000018 $d
|
||
/tmp/ccNub4kL.s:1941 .bss.numberofauxchannels:00000000 numberofauxchannels
|
||
/tmp/ccNub4kL.s:1251 .text.amsCheckUnderOverVoltage:00000000 $t
|
||
/tmp/ccNub4kL.s:1257 .text.amsCheckUnderOverVoltage:00000000 amsCheckUnderOverVoltage
|
||
/tmp/ccNub4kL.s:1366 .text.amsCheckUnderOverVoltage:00000068 $d
|
||
/tmp/ccNub4kL.s:1371 .text.amsClearAux:00000000 $t
|
||
/tmp/ccNub4kL.s:1377 .text.amsClearAux:00000000 amsClearAux
|
||
/tmp/ccNub4kL.s:1405 .text.amsClearCells:00000000 $t
|
||
/tmp/ccNub4kL.s:1411 .text.amsClearCells:00000000 amsClearCells
|
||
/tmp/ccNub4kL.s:1439 .text.amsReadCellVoltages:00000000 $t
|
||
/tmp/ccNub4kL.s:1445 .text.amsReadCellVoltages:00000000 amsReadCellVoltages
|
||
/tmp/ccNub4kL.s:1902 .text.amsReadCellVoltages:00000338 $d
|
||
/tmp/ccNub4kL.s:1910 .text.amsCellMeasurement:00000000 $t
|
||
/tmp/ccNub4kL.s:1916 .text.amsCellMeasurement:00000000 amsCellMeasurement
|
||
/tmp/ccNub4kL.s:1942 .bss.numberofauxchannels:00000000 $d
|
||
/tmp/ccNub4kL.s:1948 .bss.numberofcells:00000000 $d
|
||
|
||
UNDEFINED SYMBOLS
|
||
readCMD
|
||
__aeabi_i2d
|
||
__aeabi_dmul
|
||
__aeabi_dadd
|
||
__aeabi_d2iz
|
||
__aeabi_d2uiz
|
||
pollCMD
|
||
writeCMD
|
||
mcuDelay
|
||
adbmsDriverInit
|