352 lines
17 KiB
Plaintext
352 lines
17 KiB
Plaintext
ARM GAS C:\Users\nived\AppData\Local\Temp\ccU0l7WE.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 "Channel_Control.c"
|
||
16 .text
|
||
17 .Ltext0:
|
||
18 .cfi_sections .debug_frame
|
||
19 .file 1 "Core/Src/Channel_Control.c"
|
||
20 .section .text.ChannelControl_UpdateGPIOs,"ax",%progbits
|
||
21 .align 1
|
||
22 .global ChannelControl_UpdateGPIOs
|
||
23 .syntax unified
|
||
24 .thumb
|
||
25 .thumb_func
|
||
27 ChannelControl_UpdateGPIOs:
|
||
28 .LVL0:
|
||
29 .LFB131:
|
||
1:Core/Src/Channel_Control.c **** /*
|
||
2:Core/Src/Channel_Control.c **** * Channel_Control.c
|
||
3:Core/Src/Channel_Control.c **** *
|
||
4:Core/Src/Channel_Control.c **** * Created on: 24. April, 2024
|
||
5:Core/Src/Channel_Control.c **** * Author: nived
|
||
6:Core/Src/Channel_Control.c **** */
|
||
7:Core/Src/Channel_Control.c ****
|
||
8:Core/Src/Channel_Control.c **** #include "Channel_Control.h"
|
||
9:Core/Src/Channel_Control.c **** #include "PCA9535D_Driver.h"
|
||
10:Core/Src/Channel_Control.c ****
|
||
11:Core/Src/Channel_Control.c **** PortExtenderGPIO EN_Ports;
|
||
12:Core/Src/Channel_Control.c ****
|
||
13:Core/Src/Channel_Control.c **** uint8_t timer3_running = 0;
|
||
14:Core/Src/Channel_Control.c **** uint8_t timer2_running = 0;
|
||
15:Core/Src/Channel_Control.c **** TIM_HandleTypeDef* pwmtimer3;
|
||
16:Core/Src/Channel_Control.c **** TIM_HandleTypeDef* pwmtimer2;
|
||
17:Core/Src/Channel_Control.c ****
|
||
18:Core/Src/Channel_Control.c **** void ChannelControl_init(I2C_HandleTypeDef* hi2c, TIM_HandleTypeDef* timer3,
|
||
19:Core/Src/Channel_Control.c **** TIM_HandleTypeDef* timer2) {
|
||
20:Core/Src/Channel_Control.c ****
|
||
21:Core/Src/Channel_Control.c **** pwmtimer3 = timer3;
|
||
22:Core/Src/Channel_Control.c **** pwmtimer2 = timer2;
|
||
23:Core/Src/Channel_Control.c **** PCA9535_init(hi2c, 0);
|
||
24:Core/Src/Channel_Control.c **** PCA9535_setGPIOPortOutput(PC9535_PORTA, 0x00);
|
||
25:Core/Src/Channel_Control.c **** PCA9535_setGPIOPortOutput(PC9535_PORTB, 0x00);
|
||
26:Core/Src/Channel_Control.c **** PCA9535_setGPIOPortDirection(PC9535_PORTA, 0x00);
|
||
27:Core/Src/Channel_Control.c **** PCA9535_setGPIOPortDirection(PC9535_PORTB, 0x00);
|
||
28:Core/Src/Channel_Control.c ****
|
||
29:Core/Src/Channel_Control.c **** EN_Ports.porta.porta = 0;
|
||
ARM GAS C:\Users\nived\AppData\Local\Temp\ccU0l7WE.s page 2
|
||
|
||
|
||
30:Core/Src/Channel_Control.c **** EN_Ports.portb.portb = 0;
|
||
31:Core/Src/Channel_Control.c **** EN_Ports.porta.alwayson = 1;
|
||
32:Core/Src/Channel_Control.c **** ChannelControl_UpdateGPIOs(EN_Ports);
|
||
33:Core/Src/Channel_Control.c **** ChannelControl_UpdatePWMs(0, 0, 0, 0);
|
||
34:Core/Src/Channel_Control.c **** }
|
||
35:Core/Src/Channel_Control.c ****
|
||
36:Core/Src/Channel_Control.c **** void ChannelControl_UpdateGPIOs(PortExtenderGPIO UpdatePorts) { // ctrl + left click auf portextend
|
||
30 .loc 1 36 63 view -0
|
||
31 .cfi_startproc
|
||
32 @ args = 0, pretend = 0, frame = 0
|
||
33 @ frame_needed = 0, uses_anonymous_args = 0
|
||
34 .loc 1 36 63 is_stmt 0 view .LVU1
|
||
35 0000 08B5 push {r3, lr}
|
||
36 .cfi_def_cfa_offset 8
|
||
37 .cfi_offset 3, -8
|
||
38 .cfi_offset 14, -4
|
||
37:Core/Src/Channel_Control.c **** EN_Ports = UpdatePorts;
|
||
39 .loc 1 37 3 is_stmt 1 view .LVU2
|
||
40 .loc 1 37 12 is_stmt 0 view .LVU3
|
||
41 0002 054B ldr r3, .L3
|
||
42 0004 1880 strh r0, [r3] @ movhi
|
||
38:Core/Src/Channel_Control.c **** UpdatePorts.porta.alwayson = 1; // Always on stays always on
|
||
43 .loc 1 38 3 is_stmt 1 view .LVU4
|
||
39:Core/Src/Channel_Control.c **** // PCA9535_setGPIOPortOutput(PC9535_PORTA, UpdatePorts.porta.porta);
|
||
40:Core/Src/Channel_Control.c **** // PCA9535_setGPIOPortOutput(PC9535_PORTB, UpdatePorts.portb.portb);
|
||
41:Core/Src/Channel_Control.c **** gpio_port_b testb={};
|
||
44 .loc 1 41 2 view .LVU5
|
||
42:Core/Src/Channel_Control.c **** testb.en14=1;
|
||
45 .loc 1 42 2 view .LVU6
|
||
43:Core/Src/Channel_Control.c **** PCA9535_setGPIOPortOutput(PC9535_PORTB, testb.portb);
|
||
46 .loc 1 43 3 view .LVU7
|
||
47 0006 4021 movs r1, #64
|
||
48 0008 0120 movs r0, #1
|
||
49 .LVL1:
|
||
50 .loc 1 43 3 is_stmt 0 view .LVU8
|
||
51 000a FFF7FEFF bl PCA9535_setGPIOPortOutput
|
||
52 .LVL2:
|
||
44:Core/Src/Channel_Control.c **** gpio_port_a testa={};
|
||
53 .loc 1 44 3 is_stmt 1 view .LVU9
|
||
45:Core/Src/Channel_Control.c **** testa.en13=1;
|
||
54 .loc 1 45 3 view .LVU10
|
||
46:Core/Src/Channel_Control.c **** PCA9535_setGPIOPortOutput(PC9535_PORTA, testa.porta);
|
||
55 .loc 1 46 3 view .LVU11
|
||
56 000e 0221 movs r1, #2
|
||
57 0010 0020 movs r0, #0
|
||
58 0012 FFF7FEFF bl PCA9535_setGPIOPortOutput
|
||
59 .LVL3:
|
||
47:Core/Src/Channel_Control.c ****
|
||
48:Core/Src/Channel_Control.c ****
|
||
49:Core/Src/Channel_Control.c **** }
|
||
60 .loc 1 49 1 is_stmt 0 view .LVU12
|
||
61 0016 08BD pop {r3, pc}
|
||
62 .L4:
|
||
63 .align 2
|
||
64 .L3:
|
||
65 0018 00000000 .word EN_Ports
|
||
66 .cfi_endproc
|
||
ARM GAS C:\Users\nived\AppData\Local\Temp\ccU0l7WE.s page 3
|
||
|
||
|
||
67 .LFE131:
|
||
69 .section .text.ChannelControl_init,"ax",%progbits
|
||
70 .align 1
|
||
71 .global ChannelControl_init
|
||
72 .syntax unified
|
||
73 .thumb
|
||
74 .thumb_func
|
||
76 ChannelControl_init:
|
||
77 .LVL4:
|
||
78 .LFB130:
|
||
19:Core/Src/Channel_Control.c ****
|
||
79 .loc 1 19 53 is_stmt 1 view -0
|
||
80 .cfi_startproc
|
||
81 @ args = 0, pretend = 0, frame = 0
|
||
82 @ frame_needed = 0, uses_anonymous_args = 0
|
||
19:Core/Src/Channel_Control.c ****
|
||
83 .loc 1 19 53 is_stmt 0 view .LVU14
|
||
84 0000 08B5 push {r3, lr}
|
||
85 .cfi_def_cfa_offset 8
|
||
86 .cfi_offset 3, -8
|
||
87 .cfi_offset 14, -4
|
||
21:Core/Src/Channel_Control.c **** pwmtimer2 = timer2;
|
||
88 .loc 1 21 3 is_stmt 1 view .LVU15
|
||
21:Core/Src/Channel_Control.c **** pwmtimer2 = timer2;
|
||
89 .loc 1 21 13 is_stmt 0 view .LVU16
|
||
90 0002 104B ldr r3, .L7
|
||
91 0004 1960 str r1, [r3]
|
||
22:Core/Src/Channel_Control.c **** PCA9535_init(hi2c, 0);
|
||
92 .loc 1 22 3 is_stmt 1 view .LVU17
|
||
22:Core/Src/Channel_Control.c **** PCA9535_init(hi2c, 0);
|
||
93 .loc 1 22 13 is_stmt 0 view .LVU18
|
||
94 0006 104B ldr r3, .L7+4
|
||
95 0008 1A60 str r2, [r3]
|
||
23:Core/Src/Channel_Control.c **** PCA9535_setGPIOPortOutput(PC9535_PORTA, 0x00);
|
||
96 .loc 1 23 3 is_stmt 1 view .LVU19
|
||
97 000a 0021 movs r1, #0
|
||
98 .LVL5:
|
||
23:Core/Src/Channel_Control.c **** PCA9535_setGPIOPortOutput(PC9535_PORTA, 0x00);
|
||
99 .loc 1 23 3 is_stmt 0 view .LVU20
|
||
100 000c FFF7FEFF bl PCA9535_init
|
||
101 .LVL6:
|
||
24:Core/Src/Channel_Control.c **** PCA9535_setGPIOPortOutput(PC9535_PORTB, 0x00);
|
||
102 .loc 1 24 3 is_stmt 1 view .LVU21
|
||
103 0010 0021 movs r1, #0
|
||
104 0012 0846 mov r0, r1
|
||
105 0014 FFF7FEFF bl PCA9535_setGPIOPortOutput
|
||
106 .LVL7:
|
||
25:Core/Src/Channel_Control.c **** PCA9535_setGPIOPortDirection(PC9535_PORTA, 0x00);
|
||
107 .loc 1 25 3 view .LVU22
|
||
108 0018 0021 movs r1, #0
|
||
109 001a 0120 movs r0, #1
|
||
110 001c FFF7FEFF bl PCA9535_setGPIOPortOutput
|
||
111 .LVL8:
|
||
26:Core/Src/Channel_Control.c **** PCA9535_setGPIOPortDirection(PC9535_PORTB, 0x00);
|
||
112 .loc 1 26 3 view .LVU23
|
||
113 0020 0021 movs r1, #0
|
||
114 0022 0846 mov r0, r1
|
||
ARM GAS C:\Users\nived\AppData\Local\Temp\ccU0l7WE.s page 4
|
||
|
||
|
||
115 0024 FFF7FEFF bl PCA9535_setGPIOPortDirection
|
||
116 .LVL9:
|
||
27:Core/Src/Channel_Control.c ****
|
||
117 .loc 1 27 3 view .LVU24
|
||
118 0028 0021 movs r1, #0
|
||
119 002a 0120 movs r0, #1
|
||
120 002c FFF7FEFF bl PCA9535_setGPIOPortDirection
|
||
121 .LVL10:
|
||
29:Core/Src/Channel_Control.c **** EN_Ports.portb.portb = 0;
|
||
122 .loc 1 29 3 view .LVU25
|
||
29:Core/Src/Channel_Control.c **** EN_Ports.portb.portb = 0;
|
||
123 .loc 1 29 24 is_stmt 0 view .LVU26
|
||
124 0030 064B ldr r3, .L7+8
|
||
125 0032 0022 movs r2, #0
|
||
126 0034 1A70 strb r2, [r3]
|
||
30:Core/Src/Channel_Control.c **** EN_Ports.porta.alwayson = 1;
|
||
127 .loc 1 30 3 is_stmt 1 view .LVU27
|
||
30:Core/Src/Channel_Control.c **** EN_Ports.porta.alwayson = 1;
|
||
128 .loc 1 30 24 is_stmt 0 view .LVU28
|
||
129 0036 5A70 strb r2, [r3, #1]
|
||
31:Core/Src/Channel_Control.c **** ChannelControl_UpdateGPIOs(EN_Ports);
|
||
130 .loc 1 31 3 is_stmt 1 view .LVU29
|
||
31:Core/Src/Channel_Control.c **** ChannelControl_UpdateGPIOs(EN_Ports);
|
||
131 .loc 1 31 27 is_stmt 0 view .LVU30
|
||
132 0038 8022 movs r2, #128
|
||
133 003a 1A70 strb r2, [r3]
|
||
32:Core/Src/Channel_Control.c **** ChannelControl_UpdatePWMs(0, 0, 0, 0);
|
||
134 .loc 1 32 3 is_stmt 1 view .LVU31
|
||
135 003c 1888 ldrh r0, [r3]
|
||
136 003e FFF7FEFF bl ChannelControl_UpdateGPIOs
|
||
137 .LVL11:
|
||
33:Core/Src/Channel_Control.c **** }
|
||
138 .loc 1 33 3 view .LVU32
|
||
34:Core/Src/Channel_Control.c ****
|
||
139 .loc 1 34 1 is_stmt 0 view .LVU33
|
||
140 0042 08BD pop {r3, pc}
|
||
141 .L8:
|
||
142 .align 2
|
||
143 .L7:
|
||
144 0044 00000000 .word pwmtimer3
|
||
145 0048 00000000 .word pwmtimer2
|
||
146 004c 00000000 .word EN_Ports
|
||
147 .cfi_endproc
|
||
148 .LFE130:
|
||
150 .section .text.ChannelControl_UpdatePWMs,"ax",%progbits
|
||
151 .align 1
|
||
152 .global ChannelControl_UpdatePWMs
|
||
153 .syntax unified
|
||
154 .thumb
|
||
155 .thumb_func
|
||
157 ChannelControl_UpdatePWMs:
|
||
158 .LVL12:
|
||
159 .LFB132:
|
||
50:Core/Src/Channel_Control.c ****
|
||
51:Core/Src/Channel_Control.c **** void ChannelControl_UpdatePWMs(uint8_t radiatorfans,uint8_t tsacfans , uint8_t pwmaggregat,
|
||
52:Core/Src/Channel_Control.c **** uint8_t pwmpumps){
|
||
160 .loc 1 52 49 is_stmt 1 view -0
|
||
ARM GAS C:\Users\nived\AppData\Local\Temp\ccU0l7WE.s page 5
|
||
|
||
|
||
161 .cfi_startproc
|
||
162 @ args = 0, pretend = 0, frame = 0
|
||
163 @ frame_needed = 0, uses_anonymous_args = 0
|
||
164 @ link register save eliminated.
|
||
53:Core/Src/Channel_Control.c **** return;
|
||
165 .loc 1 53 3 view .LVU35
|
||
54:Core/Src/Channel_Control.c ****
|
||
55:Core/Src/Channel_Control.c **** pwmtimer3->Instance->CCR4 = pwmpumps << 8;
|
||
56:Core/Src/Channel_Control.c **** pwmtimer3->Instance->CCR1 = radiatorfans << 8;
|
||
57:Core/Src/Channel_Control.c **** pwmtimer2->Instance->CCR2 = tsacfans << 8;
|
||
58:Core/Src/Channel_Control.c ****
|
||
59:Core/Src/Channel_Control.c **** if (timer3_running) {
|
||
60:Core/Src/Channel_Control.c **** if ((pwmpumps == 0) && (radiatorfans == 0)) {
|
||
61:Core/Src/Channel_Control.c **** timer3_running = 0;
|
||
62:Core/Src/Channel_Control.c **** HAL_TIM_PWM_Stop(pwmtimer3, TIM_CHANNEL_4);
|
||
63:Core/Src/Channel_Control.c **** HAL_TIM_PWM_Stop(pwmtimer3, TIM_CHANNEL_1);
|
||
64:Core/Src/Channel_Control.c **** }
|
||
65:Core/Src/Channel_Control.c **** } else {
|
||
66:Core/Src/Channel_Control.c **** if ( (pwmpumps != 0) || (radiatorfans != 0)) {
|
||
67:Core/Src/Channel_Control.c **** timer3_running = 1;
|
||
68:Core/Src/Channel_Control.c **** HAL_TIM_PWM_Start(pwmtimer3, TIM_CHANNEL_4);
|
||
69:Core/Src/Channel_Control.c **** HAL_TIM_PWM_Start(pwmtimer3, TIM_CHANNEL_1);
|
||
70:Core/Src/Channel_Control.c **** }
|
||
71:Core/Src/Channel_Control.c **** }
|
||
72:Core/Src/Channel_Control.c ****
|
||
73:Core/Src/Channel_Control.c **** if (timer2_running) {
|
||
74:Core/Src/Channel_Control.c **** if (tsacfans == 0) {
|
||
75:Core/Src/Channel_Control.c **** timer2_running = 0;
|
||
76:Core/Src/Channel_Control.c **** HAL_TIM_PWM_Stop(pwmtimer2, TIM_CHANNEL_2);
|
||
77:Core/Src/Channel_Control.c **** }
|
||
78:Core/Src/Channel_Control.c **** } else {
|
||
79:Core/Src/Channel_Control.c **** if (tsacfans != 0) {
|
||
80:Core/Src/Channel_Control.c **** timer2_running = 1;
|
||
81:Core/Src/Channel_Control.c **** HAL_TIM_PWM_Start(pwmtimer2, TIM_CHANNEL_2);
|
||
82:Core/Src/Channel_Control.c **** }
|
||
83:Core/Src/Channel_Control.c **** }
|
||
84:Core/Src/Channel_Control.c ****
|
||
85:Core/Src/Channel_Control.c ****
|
||
86:Core/Src/Channel_Control.c **** }
|
||
166 .loc 1 86 1 is_stmt 0 view .LVU36
|
||
167 0000 7047 bx lr
|
||
168 .cfi_endproc
|
||
169 .LFE132:
|
||
171 .global pwmtimer2
|
||
172 .section .bss.pwmtimer2,"aw",%nobits
|
||
173 .align 2
|
||
176 pwmtimer2:
|
||
177 0000 00000000 .space 4
|
||
178 .global pwmtimer3
|
||
179 .section .bss.pwmtimer3,"aw",%nobits
|
||
180 .align 2
|
||
183 pwmtimer3:
|
||
184 0000 00000000 .space 4
|
||
185 .global timer2_running
|
||
186 .section .bss.timer2_running,"aw",%nobits
|
||
189 timer2_running:
|
||
190 0000 00 .space 1
|
||
ARM GAS C:\Users\nived\AppData\Local\Temp\ccU0l7WE.s page 6
|
||
|
||
|
||
191 .global timer3_running
|
||
192 .section .bss.timer3_running,"aw",%nobits
|
||
195 timer3_running:
|
||
196 0000 00 .space 1
|
||
197 .global EN_Ports
|
||
198 .section .bss.EN_Ports,"aw",%nobits
|
||
199 .align 2
|
||
202 EN_Ports:
|
||
203 0000 0000 .space 2
|
||
204 .text
|
||
205 .Letext0:
|
||
206 .file 2 "c:\\users\\nived\\appdata\\roaming\\code\\user\\globalstorage\\bmd.stm32-for-vscode\\@xpa
|
||
207 .file 3 "c:\\users\\nived\\appdata\\roaming\\code\\user\\globalstorage\\bmd.stm32-for-vscode\\@xpa
|
||
208 .file 4 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/stm32f302xc.h"
|
||
209 .file 5 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_def.h"
|
||
210 .file 6 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_dma.h"
|
||
211 .file 7 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_i2c.h"
|
||
212 .file 8 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_tim.h"
|
||
213 .file 9 "Core/Inc/Channel_Control.h"
|
||
214 .file 10 "Core/Inc/PCA9535D_Driver.h"
|
||
ARM GAS C:\Users\nived\AppData\Local\Temp\ccU0l7WE.s page 7
|
||
|
||
|
||
DEFINED SYMBOLS
|
||
*ABS*:00000000 Channel_Control.c
|
||
C:\Users\nived\AppData\Local\Temp\ccU0l7WE.s:21 .text.ChannelControl_UpdateGPIOs:00000000 $t
|
||
C:\Users\nived\AppData\Local\Temp\ccU0l7WE.s:27 .text.ChannelControl_UpdateGPIOs:00000000 ChannelControl_UpdateGPIOs
|
||
C:\Users\nived\AppData\Local\Temp\ccU0l7WE.s:65 .text.ChannelControl_UpdateGPIOs:00000018 $d
|
||
C:\Users\nived\AppData\Local\Temp\ccU0l7WE.s:202 .bss.EN_Ports:00000000 EN_Ports
|
||
C:\Users\nived\AppData\Local\Temp\ccU0l7WE.s:70 .text.ChannelControl_init:00000000 $t
|
||
C:\Users\nived\AppData\Local\Temp\ccU0l7WE.s:76 .text.ChannelControl_init:00000000 ChannelControl_init
|
||
C:\Users\nived\AppData\Local\Temp\ccU0l7WE.s:144 .text.ChannelControl_init:00000044 $d
|
||
C:\Users\nived\AppData\Local\Temp\ccU0l7WE.s:183 .bss.pwmtimer3:00000000 pwmtimer3
|
||
C:\Users\nived\AppData\Local\Temp\ccU0l7WE.s:176 .bss.pwmtimer2:00000000 pwmtimer2
|
||
C:\Users\nived\AppData\Local\Temp\ccU0l7WE.s:151 .text.ChannelControl_UpdatePWMs:00000000 $t
|
||
C:\Users\nived\AppData\Local\Temp\ccU0l7WE.s:157 .text.ChannelControl_UpdatePWMs:00000000 ChannelControl_UpdatePWMs
|
||
C:\Users\nived\AppData\Local\Temp\ccU0l7WE.s:173 .bss.pwmtimer2:00000000 $d
|
||
C:\Users\nived\AppData\Local\Temp\ccU0l7WE.s:180 .bss.pwmtimer3:00000000 $d
|
||
C:\Users\nived\AppData\Local\Temp\ccU0l7WE.s:189 .bss.timer2_running:00000000 timer2_running
|
||
C:\Users\nived\AppData\Local\Temp\ccU0l7WE.s:190 .bss.timer2_running:00000000 $d
|
||
C:\Users\nived\AppData\Local\Temp\ccU0l7WE.s:195 .bss.timer3_running:00000000 timer3_running
|
||
C:\Users\nived\AppData\Local\Temp\ccU0l7WE.s:196 .bss.timer3_running:00000000 $d
|
||
C:\Users\nived\AppData\Local\Temp\ccU0l7WE.s:199 .bss.EN_Ports:00000000 $d
|
||
|
||
UNDEFINED SYMBOLS
|
||
PCA9535_setGPIOPortOutput
|
||
PCA9535_init
|
||
PCA9535_setGPIOPortDirection
|