2024-05-15 21:16:02 +02:00
|
|
|
|
ARM GAS C:\Users\nived\AppData\Local\Temp\ccLn44vU.s page 1
|
2024-05-12 14:08:58 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 "can-halal.c"
|
|
|
|
|
16 .text
|
|
|
|
|
17 .Ltext0:
|
|
|
|
|
18 .cfi_sections .debug_frame
|
|
|
|
|
19 .file 1 "Core/Src/can-halal.c"
|
|
|
|
|
20 .section .text.ftcan_init,"ax",%progbits
|
|
|
|
|
21 .align 1
|
|
|
|
|
22 .global ftcan_init
|
|
|
|
|
23 .syntax unified
|
|
|
|
|
24 .thumb
|
|
|
|
|
25 .thumb_func
|
|
|
|
|
27 ftcan_init:
|
|
|
|
|
28 .LVL0:
|
|
|
|
|
29 .LFB130:
|
|
|
|
|
1:Core/Src/can-halal.c **** #include "can-halal.h"
|
|
|
|
|
2:Core/Src/can-halal.c ****
|
|
|
|
|
3:Core/Src/can-halal.c **** #include <string.h>
|
|
|
|
|
4:Core/Src/can-halal.c ****
|
|
|
|
|
5:Core/Src/can-halal.c **** #if defined(FTCAN_IS_BXCAN)
|
|
|
|
|
6:Core/Src/can-halal.c **** static CAN_HandleTypeDef *hcan;
|
|
|
|
|
7:Core/Src/can-halal.c ****
|
|
|
|
|
8:Core/Src/can-halal.c **** HAL_StatusTypeDef ftcan_init(CAN_HandleTypeDef *handle) {
|
|
|
|
|
30 .loc 1 8 57 view -0
|
|
|
|
|
31 .cfi_startproc
|
|
|
|
|
32 @ args = 0, pretend = 0, frame = 0
|
|
|
|
|
33 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
|
|
34 .loc 1 8 57 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
|
|
|
|
|
9:Core/Src/can-halal.c **** hcan = handle;
|
|
|
|
|
39 .loc 1 9 3 is_stmt 1 view .LVU2
|
|
|
|
|
40 .loc 1 9 8 is_stmt 0 view .LVU3
|
|
|
|
|
41 0002 064B ldr r3, .L5
|
|
|
|
|
42 0004 1860 str r0, [r3]
|
|
|
|
|
10:Core/Src/can-halal.c ****
|
|
|
|
|
11:Core/Src/can-halal.c **** HAL_StatusTypeDef status =
|
|
|
|
|
43 .loc 1 11 3 is_stmt 1 view .LVU4
|
|
|
|
|
12:Core/Src/can-halal.c **** HAL_CAN_ActivateNotification(hcan, CAN_IT_RX_FIFO0_MSG_PENDING);
|
|
|
|
|
44 .loc 1 12 7 is_stmt 0 view .LVU5
|
|
|
|
|
45 0006 0221 movs r1, #2
|
|
|
|
|
46 0008 FFF7FEFF bl HAL_CAN_ActivateNotification
|
2024-05-15 21:16:02 +02:00
|
|
|
|
ARM GAS C:\Users\nived\AppData\Local\Temp\ccLn44vU.s page 2
|
2024-05-12 14:08:58 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
47 .LVL1:
|
|
|
|
|
13:Core/Src/can-halal.c **** if (status != HAL_OK) {
|
|
|
|
|
48 .loc 1 13 3 is_stmt 1 view .LVU6
|
|
|
|
|
49 .loc 1 13 6 is_stmt 0 view .LVU7
|
|
|
|
|
50 000c 00B1 cbz r0, .L4
|
|
|
|
|
51 .L2:
|
|
|
|
|
14:Core/Src/can-halal.c **** return status;
|
|
|
|
|
15:Core/Src/can-halal.c **** }
|
|
|
|
|
16:Core/Src/can-halal.c ****
|
|
|
|
|
17:Core/Src/can-halal.c **** return HAL_CAN_Start(hcan);
|
|
|
|
|
18:Core/Src/can-halal.c **** }
|
|
|
|
|
52 .loc 1 18 1 view .LVU8
|
|
|
|
|
53 000e 08BD pop {r3, pc}
|
|
|
|
|
54 .L4:
|
|
|
|
|
17:Core/Src/can-halal.c **** }
|
|
|
|
|
55 .loc 1 17 3 is_stmt 1 view .LVU9
|
|
|
|
|
17:Core/Src/can-halal.c **** }
|
|
|
|
|
56 .loc 1 17 10 is_stmt 0 view .LVU10
|
|
|
|
|
57 0010 024B ldr r3, .L5
|
|
|
|
|
58 .LVL2:
|
|
|
|
|
17:Core/Src/can-halal.c **** }
|
|
|
|
|
59 .loc 1 17 10 view .LVU11
|
|
|
|
|
60 0012 1868 ldr r0, [r3]
|
|
|
|
|
61 0014 FFF7FEFF bl HAL_CAN_Start
|
|
|
|
|
62 .LVL3:
|
|
|
|
|
17:Core/Src/can-halal.c **** }
|
|
|
|
|
63 .loc 1 17 10 view .LVU12
|
|
|
|
|
64 0018 F9E7 b .L2
|
|
|
|
|
65 .L6:
|
|
|
|
|
66 001a 00BF .align 2
|
|
|
|
|
67 .L5:
|
|
|
|
|
68 001c 00000000 .word hcan
|
|
|
|
|
69 .cfi_endproc
|
|
|
|
|
70 .LFE130:
|
|
|
|
|
72 .section .text.ftcan_transmit,"ax",%progbits
|
|
|
|
|
73 .align 1
|
|
|
|
|
74 .global ftcan_transmit
|
|
|
|
|
75 .syntax unified
|
|
|
|
|
76 .thumb
|
|
|
|
|
77 .thumb_func
|
|
|
|
|
79 ftcan_transmit:
|
|
|
|
|
80 .LVL4:
|
|
|
|
|
81 .LFB131:
|
|
|
|
|
19:Core/Src/can-halal.c ****
|
|
|
|
|
20:Core/Src/can-halal.c **** HAL_StatusTypeDef ftcan_transmit(uint16_t id, const uint8_t *data,
|
|
|
|
|
21:Core/Src/can-halal.c **** size_t datalen) {
|
|
|
|
|
82 .loc 1 21 50 is_stmt 1 view -0
|
|
|
|
|
83 .cfi_startproc
|
|
|
|
|
84 @ args = 0, pretend = 0, frame = 8
|
|
|
|
|
85 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
|
|
86 .loc 1 21 50 is_stmt 0 view .LVU14
|
|
|
|
|
87 0000 00B5 push {lr}
|
|
|
|
|
88 .cfi_def_cfa_offset 4
|
|
|
|
|
89 .cfi_offset 14, -4
|
|
|
|
|
90 0002 83B0 sub sp, sp, #12
|
|
|
|
|
91 .cfi_def_cfa_offset 16
|
|
|
|
|
92 0004 8C46 mov ip, r1
|
2024-05-15 21:16:02 +02:00
|
|
|
|
ARM GAS C:\Users\nived\AppData\Local\Temp\ccLn44vU.s page 3
|
2024-05-12 14:08:58 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
22:Core/Src/can-halal.c **** static CAN_TxHeaderTypeDef header;
|
|
|
|
|
93 .loc 1 22 3 is_stmt 1 view .LVU15
|
|
|
|
|
23:Core/Src/can-halal.c **** header.StdId = id;
|
|
|
|
|
94 .loc 1 23 3 view .LVU16
|
|
|
|
|
95 .loc 1 23 16 is_stmt 0 view .LVU17
|
|
|
|
|
96 0006 0749 ldr r1, .L9
|
|
|
|
|
97 .LVL5:
|
|
|
|
|
98 .loc 1 23 16 view .LVU18
|
|
|
|
|
99 0008 0860 str r0, [r1]
|
|
|
|
|
24:Core/Src/can-halal.c **** header.IDE = CAN_ID_STD;
|
|
|
|
|
100 .loc 1 24 3 is_stmt 1 view .LVU19
|
|
|
|
|
101 .loc 1 24 14 is_stmt 0 view .LVU20
|
|
|
|
|
102 000a 0023 movs r3, #0
|
|
|
|
|
103 000c 8B60 str r3, [r1, #8]
|
|
|
|
|
25:Core/Src/can-halal.c **** header.RTR = CAN_RTR_DATA;
|
|
|
|
|
104 .loc 1 25 3 is_stmt 1 view .LVU21
|
|
|
|
|
105 .loc 1 25 14 is_stmt 0 view .LVU22
|
|
|
|
|
106 000e CB60 str r3, [r1, #12]
|
|
|
|
|
26:Core/Src/can-halal.c **** header.DLC = datalen;
|
|
|
|
|
107 .loc 1 26 3 is_stmt 1 view .LVU23
|
|
|
|
|
108 .loc 1 26 14 is_stmt 0 view .LVU24
|
|
|
|
|
109 0010 0A61 str r2, [r1, #16]
|
|
|
|
|
27:Core/Src/can-halal.c **** uint32_t mailbox;
|
|
|
|
|
110 .loc 1 27 3 is_stmt 1 view .LVU25
|
|
|
|
|
28:Core/Src/can-halal.c **** return HAL_CAN_AddTxMessage(hcan, &header, data, &mailbox);
|
|
|
|
|
111 .loc 1 28 3 view .LVU26
|
|
|
|
|
112 .loc 1 28 10 is_stmt 0 view .LVU27
|
|
|
|
|
113 0012 01AB add r3, sp, #4
|
|
|
|
|
114 0014 6246 mov r2, ip
|
|
|
|
|
115 .LVL6:
|
|
|
|
|
116 .loc 1 28 10 view .LVU28
|
|
|
|
|
117 0016 0448 ldr r0, .L9+4
|
|
|
|
|
118 .LVL7:
|
|
|
|
|
119 .loc 1 28 10 view .LVU29
|
|
|
|
|
120 0018 0068 ldr r0, [r0]
|
|
|
|
|
121 001a FFF7FEFF bl HAL_CAN_AddTxMessage
|
|
|
|
|
122 .LVL8:
|
|
|
|
|
29:Core/Src/can-halal.c **** }
|
|
|
|
|
123 .loc 1 29 1 view .LVU30
|
|
|
|
|
124 001e 03B0 add sp, sp, #12
|
|
|
|
|
125 .cfi_def_cfa_offset 4
|
|
|
|
|
126 @ sp needed
|
|
|
|
|
127 0020 5DF804FB ldr pc, [sp], #4
|
|
|
|
|
128 .L10:
|
|
|
|
|
129 .align 2
|
|
|
|
|
130 .L9:
|
|
|
|
|
131 0024 00000000 .word header.2
|
|
|
|
|
132 0028 00000000 .word hcan
|
|
|
|
|
133 .cfi_endproc
|
|
|
|
|
134 .LFE131:
|
|
|
|
|
136 .section .text.ftcan_add_filter,"ax",%progbits
|
|
|
|
|
137 .align 1
|
|
|
|
|
138 .global ftcan_add_filter
|
|
|
|
|
139 .syntax unified
|
|
|
|
|
140 .thumb
|
|
|
|
|
141 .thumb_func
|
|
|
|
|
143 ftcan_add_filter:
|
2024-05-15 21:16:02 +02:00
|
|
|
|
ARM GAS C:\Users\nived\AppData\Local\Temp\ccLn44vU.s page 4
|
2024-05-12 14:08:58 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
144 .LVL9:
|
|
|
|
|
145 .LFB132:
|
|
|
|
|
30:Core/Src/can-halal.c ****
|
|
|
|
|
31:Core/Src/can-halal.c **** HAL_StatusTypeDef ftcan_add_filter(uint16_t id, uint16_t mask) {
|
|
|
|
|
146 .loc 1 31 64 is_stmt 1 view -0
|
|
|
|
|
147 .cfi_startproc
|
|
|
|
|
148 @ args = 0, pretend = 0, frame = 0
|
|
|
|
|
149 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
|
|
150 .loc 1 31 64 is_stmt 0 view .LVU32
|
|
|
|
|
151 0000 08B5 push {r3, lr}
|
|
|
|
|
152 .cfi_def_cfa_offset 8
|
|
|
|
|
153 .cfi_offset 3, -8
|
|
|
|
|
154 .cfi_offset 14, -4
|
|
|
|
|
32:Core/Src/can-halal.c **** static uint32_t next_filter_no = 0;
|
|
|
|
|
155 .loc 1 32 3 is_stmt 1 view .LVU33
|
|
|
|
|
33:Core/Src/can-halal.c **** static CAN_FilterTypeDef filter;
|
|
|
|
|
156 .loc 1 33 3 view .LVU34
|
|
|
|
|
34:Core/Src/can-halal.c **** if (next_filter_no % 2 == 0) {
|
|
|
|
|
157 .loc 1 34 3 view .LVU35
|
|
|
|
|
158 .loc 1 34 22 is_stmt 0 view .LVU36
|
|
|
|
|
159 0002 174B ldr r3, .L18
|
|
|
|
|
160 0004 1B68 ldr r3, [r3]
|
|
|
|
|
161 .loc 1 34 6 view .LVU37
|
|
|
|
|
162 0006 13F0010F tst r3, #1
|
|
|
|
|
163 000a 0FD1 bne .L12
|
|
|
|
|
35:Core/Src/can-halal.c **** filter.FilterIdHigh = id << 5;
|
|
|
|
|
164 .loc 1 35 5 is_stmt 1 view .LVU38
|
|
|
|
|
165 .loc 1 35 30 is_stmt 0 view .LVU39
|
|
|
|
|
166 000c 4001 lsls r0, r0, #5
|
|
|
|
|
167 .LVL10:
|
|
|
|
|
168 .loc 1 35 25 view .LVU40
|
|
|
|
|
169 000e 154A ldr r2, .L18+4
|
|
|
|
|
170 0010 1060 str r0, [r2]
|
|
|
|
|
36:Core/Src/can-halal.c **** filter.FilterMaskIdHigh = mask << 5;
|
|
|
|
|
171 .loc 1 36 5 is_stmt 1 view .LVU41
|
|
|
|
|
172 .loc 1 36 36 is_stmt 0 view .LVU42
|
|
|
|
|
173 0012 4901 lsls r1, r1, #5
|
|
|
|
|
174 .LVL11:
|
|
|
|
|
175 .loc 1 36 29 view .LVU43
|
|
|
|
|
176 0014 9160 str r1, [r2, #8]
|
|
|
|
|
37:Core/Src/can-halal.c **** filter.FilterIdLow = id << 5;
|
|
|
|
|
177 .loc 1 37 5 is_stmt 1 view .LVU44
|
|
|
|
|
178 .loc 1 37 24 is_stmt 0 view .LVU45
|
|
|
|
|
179 0016 5060 str r0, [r2, #4]
|
|
|
|
|
38:Core/Src/can-halal.c **** filter.FilterMaskIdLow = mask << 5;
|
|
|
|
|
180 .loc 1 38 5 is_stmt 1 view .LVU46
|
|
|
|
|
181 .loc 1 38 28 is_stmt 0 view .LVU47
|
|
|
|
|
182 0018 D160 str r1, [r2, #12]
|
|
|
|
|
183 .L13:
|
|
|
|
|
39:Core/Src/can-halal.c **** } else {
|
|
|
|
|
40:Core/Src/can-halal.c **** // Leave high filter untouched from the last configuration
|
|
|
|
|
41:Core/Src/can-halal.c **** filter.FilterIdLow = id << 5;
|
|
|
|
|
42:Core/Src/can-halal.c **** filter.FilterMaskIdLow = mask << 5;
|
|
|
|
|
43:Core/Src/can-halal.c **** }
|
|
|
|
|
44:Core/Src/can-halal.c **** filter.FilterFIFOAssignment = CAN_FILTER_FIFO0;
|
|
|
|
|
184 .loc 1 44 3 is_stmt 1 view .LVU48
|
|
|
|
|
185 .loc 1 44 31 is_stmt 0 view .LVU49
|
2024-05-15 21:16:02 +02:00
|
|
|
|
ARM GAS C:\Users\nived\AppData\Local\Temp\ccLn44vU.s page 5
|
2024-05-12 14:08:58 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
186 001a 124A ldr r2, .L18+4
|
|
|
|
|
187 001c 0021 movs r1, #0
|
|
|
|
|
188 001e 1161 str r1, [r2, #16]
|
|
|
|
|
45:Core/Src/can-halal.c **** filter.FilterBank = next_filter_no / 2;
|
|
|
|
|
189 .loc 1 45 3 is_stmt 1 view .LVU50
|
|
|
|
|
190 .loc 1 45 38 is_stmt 0 view .LVU51
|
|
|
|
|
191 0020 5908 lsrs r1, r3, #1
|
|
|
|
|
192 .loc 1 45 21 view .LVU52
|
|
|
|
|
193 0022 5161 str r1, [r2, #20]
|
|
|
|
|
46:Core/Src/can-halal.c **** if (filter.FilterBank > FTCAN_NUM_FILTERS + 1) {
|
|
|
|
|
194 .loc 1 46 3 is_stmt 1 view .LVU53
|
|
|
|
|
195 .loc 1 46 6 is_stmt 0 view .LVU54
|
|
|
|
|
196 0024 1D2B cmp r3, #29
|
|
|
|
|
197 0026 07D9 bls .L17
|
|
|
|
|
47:Core/Src/can-halal.c **** return HAL_ERROR;
|
|
|
|
|
198 .loc 1 47 12 view .LVU55
|
|
|
|
|
199 0028 0120 movs r0, #1
|
|
|
|
|
200 .L14:
|
|
|
|
|
48:Core/Src/can-halal.c **** }
|
|
|
|
|
49:Core/Src/can-halal.c **** filter.FilterMode = CAN_FILTERMODE_IDMASK;
|
|
|
|
|
50:Core/Src/can-halal.c **** filter.FilterScale = CAN_FILTERSCALE_16BIT;
|
|
|
|
|
51:Core/Src/can-halal.c **** filter.FilterActivation = CAN_FILTER_ENABLE;
|
|
|
|
|
52:Core/Src/can-halal.c ****
|
|
|
|
|
53:Core/Src/can-halal.c **** // Disable slave filters
|
|
|
|
|
54:Core/Src/can-halal.c **** // TODO: Some STM32 have multiple CAN peripherals, and one uses the slave
|
|
|
|
|
55:Core/Src/can-halal.c **** // filter bank
|
|
|
|
|
56:Core/Src/can-halal.c **** filter.SlaveStartFilterBank = FTCAN_NUM_FILTERS;
|
|
|
|
|
57:Core/Src/can-halal.c ****
|
|
|
|
|
58:Core/Src/can-halal.c **** HAL_StatusTypeDef status = HAL_CAN_ConfigFilter(hcan, &filter);
|
|
|
|
|
59:Core/Src/can-halal.c **** if (status == HAL_OK) {
|
|
|
|
|
60:Core/Src/can-halal.c **** next_filter_no++;
|
|
|
|
|
61:Core/Src/can-halal.c **** }
|
|
|
|
|
62:Core/Src/can-halal.c **** return status;
|
|
|
|
|
63:Core/Src/can-halal.c **** }
|
|
|
|
|
201 .loc 1 63 1 view .LVU56
|
|
|
|
|
202 002a 08BD pop {r3, pc}
|
|
|
|
|
203 .LVL12:
|
|
|
|
|
204 .L12:
|
|
|
|
|
41:Core/Src/can-halal.c **** filter.FilterMaskIdLow = mask << 5;
|
|
|
|
|
205 .loc 1 41 5 is_stmt 1 view .LVU57
|
|
|
|
|
41:Core/Src/can-halal.c **** filter.FilterMaskIdLow = mask << 5;
|
|
|
|
|
206 .loc 1 41 29 is_stmt 0 view .LVU58
|
|
|
|
|
207 002c 4001 lsls r0, r0, #5
|
|
|
|
|
208 .LVL13:
|
|
|
|
|
41:Core/Src/can-halal.c **** filter.FilterMaskIdLow = mask << 5;
|
|
|
|
|
209 .loc 1 41 24 view .LVU59
|
|
|
|
|
210 002e 0D4A ldr r2, .L18+4
|
|
|
|
|
211 0030 5060 str r0, [r2, #4]
|
|
|
|
|
42:Core/Src/can-halal.c **** }
|
|
|
|
|
212 .loc 1 42 5 is_stmt 1 view .LVU60
|
|
|
|
|
42:Core/Src/can-halal.c **** }
|
|
|
|
|
213 .loc 1 42 35 is_stmt 0 view .LVU61
|
|
|
|
|
214 0032 4901 lsls r1, r1, #5
|
|
|
|
|
215 .LVL14:
|
|
|
|
|
42:Core/Src/can-halal.c **** }
|
|
|
|
|
216 .loc 1 42 28 view .LVU62
|
|
|
|
|
217 0034 D160 str r1, [r2, #12]
|
2024-05-15 21:16:02 +02:00
|
|
|
|
ARM GAS C:\Users\nived\AppData\Local\Temp\ccLn44vU.s page 6
|
2024-05-12 14:08:58 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
218 0036 F0E7 b .L13
|
|
|
|
|
219 .L17:
|
|
|
|
|
49:Core/Src/can-halal.c **** filter.FilterScale = CAN_FILTERSCALE_16BIT;
|
|
|
|
|
220 .loc 1 49 3 is_stmt 1 view .LVU63
|
|
|
|
|
49:Core/Src/can-halal.c **** filter.FilterScale = CAN_FILTERSCALE_16BIT;
|
|
|
|
|
221 .loc 1 49 21 is_stmt 0 view .LVU64
|
|
|
|
|
222 0038 1146 mov r1, r2
|
|
|
|
|
223 003a 0023 movs r3, #0
|
|
|
|
|
224 003c 9361 str r3, [r2, #24]
|
|
|
|
|
50:Core/Src/can-halal.c **** filter.FilterActivation = CAN_FILTER_ENABLE;
|
|
|
|
|
225 .loc 1 50 3 is_stmt 1 view .LVU65
|
|
|
|
|
50:Core/Src/can-halal.c **** filter.FilterActivation = CAN_FILTER_ENABLE;
|
|
|
|
|
226 .loc 1 50 22 is_stmt 0 view .LVU66
|
|
|
|
|
227 003e D361 str r3, [r2, #28]
|
|
|
|
|
51:Core/Src/can-halal.c ****
|
|
|
|
|
228 .loc 1 51 3 is_stmt 1 view .LVU67
|
|
|
|
|
51:Core/Src/can-halal.c ****
|
|
|
|
|
229 .loc 1 51 27 is_stmt 0 view .LVU68
|
|
|
|
|
230 0040 0123 movs r3, #1
|
|
|
|
|
231 0042 1362 str r3, [r2, #32]
|
|
|
|
|
56:Core/Src/can-halal.c ****
|
|
|
|
|
232 .loc 1 56 3 is_stmt 1 view .LVU69
|
|
|
|
|
56:Core/Src/can-halal.c ****
|
|
|
|
|
233 .loc 1 56 31 is_stmt 0 view .LVU70
|
|
|
|
|
234 0044 0D23 movs r3, #13
|
|
|
|
|
235 0046 5362 str r3, [r2, #36]
|
|
|
|
|
58:Core/Src/can-halal.c **** if (status == HAL_OK) {
|
|
|
|
|
236 .loc 1 58 3 is_stmt 1 view .LVU71
|
|
|
|
|
58:Core/Src/can-halal.c **** if (status == HAL_OK) {
|
|
|
|
|
237 .loc 1 58 30 is_stmt 0 view .LVU72
|
|
|
|
|
238 0048 074B ldr r3, .L18+8
|
|
|
|
|
239 004a 1868 ldr r0, [r3]
|
|
|
|
|
240 004c FFF7FEFF bl HAL_CAN_ConfigFilter
|
|
|
|
|
241 .LVL15:
|
|
|
|
|
59:Core/Src/can-halal.c **** next_filter_no++;
|
|
|
|
|
242 .loc 1 59 3 is_stmt 1 view .LVU73
|
|
|
|
|
59:Core/Src/can-halal.c **** next_filter_no++;
|
|
|
|
|
243 .loc 1 59 6 is_stmt 0 view .LVU74
|
|
|
|
|
244 0050 0028 cmp r0, #0
|
|
|
|
|
245 0052 EAD1 bne .L14
|
|
|
|
|
60:Core/Src/can-halal.c **** }
|
|
|
|
|
246 .loc 1 60 5 is_stmt 1 view .LVU75
|
|
|
|
|
60:Core/Src/can-halal.c **** }
|
|
|
|
|
247 .loc 1 60 19 is_stmt 0 view .LVU76
|
|
|
|
|
248 0054 024A ldr r2, .L18
|
|
|
|
|
249 0056 1368 ldr r3, [r2]
|
|
|
|
|
250 0058 0133 adds r3, r3, #1
|
|
|
|
|
251 005a 1360 str r3, [r2]
|
|
|
|
|
252 005c E5E7 b .L14
|
|
|
|
|
253 .L19:
|
|
|
|
|
254 005e 00BF .align 2
|
|
|
|
|
255 .L18:
|
|
|
|
|
256 0060 00000000 .word next_filter_no.1
|
|
|
|
|
257 0064 00000000 .word filter.0
|
|
|
|
|
258 0068 00000000 .word hcan
|
|
|
|
|
259 .cfi_endproc
|
|
|
|
|
260 .LFE132:
|
2024-05-15 21:16:02 +02:00
|
|
|
|
ARM GAS C:\Users\nived\AppData\Local\Temp\ccLn44vU.s page 7
|
2024-05-12 14:08:58 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
262 .section .text.ftcan_msg_received_cb,"ax",%progbits
|
|
|
|
|
263 .align 1
|
|
|
|
|
264 .weak ftcan_msg_received_cb
|
|
|
|
|
265 .syntax unified
|
|
|
|
|
266 .thumb
|
|
|
|
|
267 .thumb_func
|
|
|
|
|
269 ftcan_msg_received_cb:
|
|
|
|
|
270 .LVL16:
|
|
|
|
|
271 .LFB134:
|
|
|
|
|
64:Core/Src/can-halal.c ****
|
|
|
|
|
65:Core/Src/can-halal.c **** void HAL_CAN_RxFifo0MsgPendingCallback(CAN_HandleTypeDef *handle) {
|
|
|
|
|
66:Core/Src/can-halal.c **** if (handle != hcan) {
|
|
|
|
|
67:Core/Src/can-halal.c **** return;
|
|
|
|
|
68:Core/Src/can-halal.c **** }
|
|
|
|
|
69:Core/Src/can-halal.c **** CAN_RxHeaderTypeDef header;
|
|
|
|
|
70:Core/Src/can-halal.c **** uint8_t data[8];
|
|
|
|
|
71:Core/Src/can-halal.c **** if (HAL_CAN_GetRxMessage(hcan, CAN_RX_FIFO0, &header, data) != HAL_OK) {
|
|
|
|
|
72:Core/Src/can-halal.c **** return;
|
|
|
|
|
73:Core/Src/can-halal.c **** }
|
|
|
|
|
74:Core/Src/can-halal.c ****
|
|
|
|
|
75:Core/Src/can-halal.c **** if (header.IDE != CAN_ID_STD) {
|
|
|
|
|
76:Core/Src/can-halal.c **** return;
|
|
|
|
|
77:Core/Src/can-halal.c **** }
|
|
|
|
|
78:Core/Src/can-halal.c ****
|
|
|
|
|
79:Core/Src/can-halal.c **** ftcan_msg_received_cb(header.StdId, header.DLC, data);
|
|
|
|
|
80:Core/Src/can-halal.c **** }
|
|
|
|
|
81:Core/Src/can-halal.c **** #elif defined(FTCAN_IS_FDCAN)
|
|
|
|
|
82:Core/Src/can-halal.c **** static FDCAN_HandleTypeDef *hcan;
|
|
|
|
|
83:Core/Src/can-halal.c ****
|
|
|
|
|
84:Core/Src/can-halal.c **** HAL_StatusTypeDef ftcan_init(FDCAN_HandleTypeDef *handle) {
|
|
|
|
|
85:Core/Src/can-halal.c **** hcan = handle;
|
|
|
|
|
86:Core/Src/can-halal.c ****
|
|
|
|
|
87:Core/Src/can-halal.c **** HAL_StatusTypeDef status =
|
|
|
|
|
88:Core/Src/can-halal.c **** HAL_FDCAN_ActivateNotification(hcan, FDCAN_IT_RX_FIFO0_NEW_MESSAGE, 0);
|
|
|
|
|
89:Core/Src/can-halal.c **** if (status != HAL_OK) {
|
|
|
|
|
90:Core/Src/can-halal.c **** return status;
|
|
|
|
|
91:Core/Src/can-halal.c **** }
|
|
|
|
|
92:Core/Src/can-halal.c **** // Reject non-matching messages
|
|
|
|
|
93:Core/Src/can-halal.c **** status =
|
|
|
|
|
94:Core/Src/can-halal.c **** HAL_FDCAN_ConfigGlobalFilter(hcan, FDCAN_REJECT, FDCAN_REJECT,
|
|
|
|
|
95:Core/Src/can-halal.c **** FDCAN_REJECT_REMOTE, FDCAN_REJECT_REMOTE);
|
|
|
|
|
96:Core/Src/can-halal.c **** if (status != HAL_OK) {
|
|
|
|
|
97:Core/Src/can-halal.c **** return status;
|
|
|
|
|
98:Core/Src/can-halal.c **** }
|
|
|
|
|
99:Core/Src/can-halal.c ****
|
|
|
|
|
100:Core/Src/can-halal.c **** return HAL_FDCAN_Start(hcan);
|
|
|
|
|
101:Core/Src/can-halal.c **** }
|
|
|
|
|
102:Core/Src/can-halal.c ****
|
|
|
|
|
103:Core/Src/can-halal.c **** HAL_StatusTypeDef ftcan_transmit(uint16_t id, const uint8_t *data,
|
|
|
|
|
104:Core/Src/can-halal.c **** size_t datalen) {
|
|
|
|
|
105:Core/Src/can-halal.c **** static FDCAN_TxHeaderTypeDef header;
|
|
|
|
|
106:Core/Src/can-halal.c **** header.Identifier = id;
|
|
|
|
|
107:Core/Src/can-halal.c **** header.IdType = FDCAN_STANDARD_ID;
|
|
|
|
|
108:Core/Src/can-halal.c **** header.TxFrameType = FDCAN_DATA_FRAME;
|
|
|
|
|
109:Core/Src/can-halal.c **** switch (datalen) {
|
|
|
|
|
110:Core/Src/can-halal.c **** case 0:
|
|
|
|
|
111:Core/Src/can-halal.c **** header.DataLength = FDCAN_DLC_BYTES_0;
|
2024-05-15 21:16:02 +02:00
|
|
|
|
ARM GAS C:\Users\nived\AppData\Local\Temp\ccLn44vU.s page 8
|
2024-05-12 14:08:58 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
112:Core/Src/can-halal.c **** break;
|
|
|
|
|
113:Core/Src/can-halal.c **** case 1:
|
|
|
|
|
114:Core/Src/can-halal.c **** header.DataLength = FDCAN_DLC_BYTES_1;
|
|
|
|
|
115:Core/Src/can-halal.c **** break;
|
|
|
|
|
116:Core/Src/can-halal.c **** case 2:
|
|
|
|
|
117:Core/Src/can-halal.c **** header.DataLength = FDCAN_DLC_BYTES_2;
|
|
|
|
|
118:Core/Src/can-halal.c **** break;
|
|
|
|
|
119:Core/Src/can-halal.c **** case 3:
|
|
|
|
|
120:Core/Src/can-halal.c **** header.DataLength = FDCAN_DLC_BYTES_3;
|
|
|
|
|
121:Core/Src/can-halal.c **** break;
|
|
|
|
|
122:Core/Src/can-halal.c **** case 4:
|
|
|
|
|
123:Core/Src/can-halal.c **** header.DataLength = FDCAN_DLC_BYTES_4;
|
|
|
|
|
124:Core/Src/can-halal.c **** break;
|
|
|
|
|
125:Core/Src/can-halal.c **** case 5:
|
|
|
|
|
126:Core/Src/can-halal.c **** header.DataLength = FDCAN_DLC_BYTES_5;
|
|
|
|
|
127:Core/Src/can-halal.c **** break;
|
|
|
|
|
128:Core/Src/can-halal.c **** case 6:
|
|
|
|
|
129:Core/Src/can-halal.c **** header.DataLength = FDCAN_DLC_BYTES_6;
|
|
|
|
|
130:Core/Src/can-halal.c **** break;
|
|
|
|
|
131:Core/Src/can-halal.c **** case 7:
|
|
|
|
|
132:Core/Src/can-halal.c **** header.DataLength = FDCAN_DLC_BYTES_7;
|
|
|
|
|
133:Core/Src/can-halal.c **** break;
|
|
|
|
|
134:Core/Src/can-halal.c **** case 8:
|
|
|
|
|
135:Core/Src/can-halal.c **** default:
|
|
|
|
|
136:Core/Src/can-halal.c **** header.DataLength = FDCAN_DLC_BYTES_8;
|
|
|
|
|
137:Core/Src/can-halal.c **** break;
|
|
|
|
|
138:Core/Src/can-halal.c **** }
|
|
|
|
|
139:Core/Src/can-halal.c **** header.ErrorStateIndicator = FDCAN_ESI_PASSIVE;
|
|
|
|
|
140:Core/Src/can-halal.c **** header.BitRateSwitch = FDCAN_BRS_OFF;
|
|
|
|
|
141:Core/Src/can-halal.c **** header.FDFormat = FDCAN_CLASSIC_CAN;
|
|
|
|
|
142:Core/Src/can-halal.c **** header.TxEventFifoControl = FDCAN_NO_TX_EVENTS;
|
|
|
|
|
143:Core/Src/can-halal.c ****
|
|
|
|
|
144:Core/Src/can-halal.c **** // HAL_FDCAN_AddMessageToTxFifoQ doesn't modify the data, but it's not marked
|
|
|
|
|
145:Core/Src/can-halal.c **** // as const for some reason.
|
|
|
|
|
146:Core/Src/can-halal.c **** uint8_t *data_nonconst = (uint8_t *)data;
|
|
|
|
|
147:Core/Src/can-halal.c **** return HAL_FDCAN_AddMessageToTxFifoQ(hcan, &header, data_nonconst);
|
|
|
|
|
148:Core/Src/can-halal.c **** }
|
|
|
|
|
149:Core/Src/can-halal.c ****
|
|
|
|
|
150:Core/Src/can-halal.c **** HAL_StatusTypeDef ftcan_add_filter(uint16_t id, uint16_t mask) {
|
|
|
|
|
151:Core/Src/can-halal.c **** static uint32_t next_filter_no = 0;
|
|
|
|
|
152:Core/Src/can-halal.c **** static FDCAN_FilterTypeDef filter;
|
|
|
|
|
153:Core/Src/can-halal.c **** filter.IdType = FDCAN_STANDARD_ID;
|
|
|
|
|
154:Core/Src/can-halal.c **** filter.FilterIndex = next_filter_no;
|
|
|
|
|
155:Core/Src/can-halal.c **** if (filter.FilterIndex > FTCAN_NUM_FILTERS + 1) {
|
|
|
|
|
156:Core/Src/can-halal.c **** return HAL_ERROR;
|
|
|
|
|
157:Core/Src/can-halal.c **** }
|
|
|
|
|
158:Core/Src/can-halal.c **** filter.FilterType = FDCAN_FILTER_MASK;
|
|
|
|
|
159:Core/Src/can-halal.c **** filter.FilterConfig = FDCAN_FILTER_TO_RXFIFO0;
|
|
|
|
|
160:Core/Src/can-halal.c **** filter.FilterID1 = id;
|
|
|
|
|
161:Core/Src/can-halal.c **** filter.FilterID2 = mask;
|
|
|
|
|
162:Core/Src/can-halal.c ****
|
|
|
|
|
163:Core/Src/can-halal.c **** HAL_StatusTypeDef status = HAL_FDCAN_ConfigFilter(hcan, &filter);
|
|
|
|
|
164:Core/Src/can-halal.c **** if (status == HAL_OK) {
|
|
|
|
|
165:Core/Src/can-halal.c **** next_filter_no++;
|
|
|
|
|
166:Core/Src/can-halal.c **** }
|
|
|
|
|
167:Core/Src/can-halal.c **** return status;
|
|
|
|
|
168:Core/Src/can-halal.c **** }
|
2024-05-15 21:16:02 +02:00
|
|
|
|
ARM GAS C:\Users\nived\AppData\Local\Temp\ccLn44vU.s page 9
|
2024-05-12 14:08:58 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
169:Core/Src/can-halal.c ****
|
|
|
|
|
170:Core/Src/can-halal.c **** void HAL_FDCAN_RxFifo0Callback(FDCAN_HandleTypeDef *handle,
|
|
|
|
|
171:Core/Src/can-halal.c **** uint32_t RxFifo0ITs) {
|
|
|
|
|
172:Core/Src/can-halal.c **** if (handle != hcan || (RxFifo0ITs & FDCAN_IT_RX_FIFO0_NEW_MESSAGE) == RESET) {
|
|
|
|
|
173:Core/Src/can-halal.c **** return;
|
|
|
|
|
174:Core/Src/can-halal.c **** }
|
|
|
|
|
175:Core/Src/can-halal.c ****
|
|
|
|
|
176:Core/Src/can-halal.c **** static FDCAN_RxHeaderTypeDef header;
|
|
|
|
|
177:Core/Src/can-halal.c **** static uint8_t data[8];
|
|
|
|
|
178:Core/Src/can-halal.c **** if (HAL_FDCAN_GetRxMessage(hcan, FDCAN_RX_FIFO0, &header, data) != HAL_OK) {
|
|
|
|
|
179:Core/Src/can-halal.c **** return;
|
|
|
|
|
180:Core/Src/can-halal.c **** }
|
|
|
|
|
181:Core/Src/can-halal.c ****
|
|
|
|
|
182:Core/Src/can-halal.c **** if (header.FDFormat != FDCAN_CLASSIC_CAN ||
|
|
|
|
|
183:Core/Src/can-halal.c **** header.RxFrameType != FDCAN_DATA_FRAME ||
|
|
|
|
|
184:Core/Src/can-halal.c **** header.IdType != FDCAN_STANDARD_ID) {
|
|
|
|
|
185:Core/Src/can-halal.c **** return;
|
|
|
|
|
186:Core/Src/can-halal.c **** }
|
|
|
|
|
187:Core/Src/can-halal.c ****
|
|
|
|
|
188:Core/Src/can-halal.c **** size_t datalen;
|
|
|
|
|
189:Core/Src/can-halal.c **** switch (header.DataLength) {
|
|
|
|
|
190:Core/Src/can-halal.c **** case FDCAN_DLC_BYTES_0:
|
|
|
|
|
191:Core/Src/can-halal.c **** datalen = 0;
|
|
|
|
|
192:Core/Src/can-halal.c **** break;
|
|
|
|
|
193:Core/Src/can-halal.c **** case FDCAN_DLC_BYTES_1:
|
|
|
|
|
194:Core/Src/can-halal.c **** datalen = 1;
|
|
|
|
|
195:Core/Src/can-halal.c **** break;
|
|
|
|
|
196:Core/Src/can-halal.c **** case FDCAN_DLC_BYTES_2:
|
|
|
|
|
197:Core/Src/can-halal.c **** datalen = 2;
|
|
|
|
|
198:Core/Src/can-halal.c **** break;
|
|
|
|
|
199:Core/Src/can-halal.c **** case FDCAN_DLC_BYTES_3:
|
|
|
|
|
200:Core/Src/can-halal.c **** datalen = 3;
|
|
|
|
|
201:Core/Src/can-halal.c **** break;
|
|
|
|
|
202:Core/Src/can-halal.c **** case FDCAN_DLC_BYTES_4:
|
|
|
|
|
203:Core/Src/can-halal.c **** datalen = 4;
|
|
|
|
|
204:Core/Src/can-halal.c **** break;
|
|
|
|
|
205:Core/Src/can-halal.c **** case FDCAN_DLC_BYTES_5:
|
|
|
|
|
206:Core/Src/can-halal.c **** datalen = 5;
|
|
|
|
|
207:Core/Src/can-halal.c **** break;
|
|
|
|
|
208:Core/Src/can-halal.c **** case FDCAN_DLC_BYTES_6:
|
|
|
|
|
209:Core/Src/can-halal.c **** datalen = 6;
|
|
|
|
|
210:Core/Src/can-halal.c **** break;
|
|
|
|
|
211:Core/Src/can-halal.c **** case FDCAN_DLC_BYTES_7:
|
|
|
|
|
212:Core/Src/can-halal.c **** datalen = 7;
|
|
|
|
|
213:Core/Src/can-halal.c **** break;
|
|
|
|
|
214:Core/Src/can-halal.c **** case FDCAN_DLC_BYTES_8:
|
|
|
|
|
215:Core/Src/can-halal.c **** datalen = 8;
|
|
|
|
|
216:Core/Src/can-halal.c **** break;
|
|
|
|
|
217:Core/Src/can-halal.c **** default:
|
|
|
|
|
218:Core/Src/can-halal.c **** return;
|
|
|
|
|
219:Core/Src/can-halal.c **** }
|
|
|
|
|
220:Core/Src/can-halal.c ****
|
|
|
|
|
221:Core/Src/can-halal.c **** ftcan_msg_received_cb(header.Identifier, datalen, data);
|
|
|
|
|
222:Core/Src/can-halal.c **** }
|
|
|
|
|
223:Core/Src/can-halal.c **** #endif
|
|
|
|
|
224:Core/Src/can-halal.c ****
|
|
|
|
|
225:Core/Src/can-halal.c **** __weak void ftcan_msg_received_cb(uint16_t id, size_t datalen,
|
2024-05-15 21:16:02 +02:00
|
|
|
|
ARM GAS C:\Users\nived\AppData\Local\Temp\ccLn44vU.s page 10
|
2024-05-12 14:08:58 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
226:Core/Src/can-halal.c **** const uint8_t *data) {}
|
|
|
|
|
272 .loc 1 226 56 is_stmt 1 view -0
|
|
|
|
|
273 .cfi_startproc
|
|
|
|
|
274 @ args = 0, pretend = 0, frame = 0
|
|
|
|
|
275 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
|
|
276 @ link register save eliminated.
|
|
|
|
|
277 .loc 1 226 57 view .LVU78
|
|
|
|
|
278 0000 7047 bx lr
|
|
|
|
|
279 .cfi_endproc
|
|
|
|
|
280 .LFE134:
|
|
|
|
|
282 .section .text.HAL_CAN_RxFifo0MsgPendingCallback,"ax",%progbits
|
|
|
|
|
283 .align 1
|
|
|
|
|
284 .global HAL_CAN_RxFifo0MsgPendingCallback
|
|
|
|
|
285 .syntax unified
|
|
|
|
|
286 .thumb
|
|
|
|
|
287 .thumb_func
|
|
|
|
|
289 HAL_CAN_RxFifo0MsgPendingCallback:
|
|
|
|
|
290 .LVL17:
|
|
|
|
|
291 .LFB133:
|
|
|
|
|
65:Core/Src/can-halal.c **** if (handle != hcan) {
|
|
|
|
|
292 .loc 1 65 67 view -0
|
|
|
|
|
293 .cfi_startproc
|
|
|
|
|
294 @ args = 0, pretend = 0, frame = 40
|
|
|
|
|
295 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
|
|
65:Core/Src/can-halal.c **** if (handle != hcan) {
|
|
|
|
|
296 .loc 1 65 67 is_stmt 0 view .LVU80
|
|
|
|
|
297 0000 10B5 push {r4, lr}
|
|
|
|
|
298 .cfi_def_cfa_offset 8
|
|
|
|
|
299 .cfi_offset 4, -8
|
|
|
|
|
300 .cfi_offset 14, -4
|
|
|
|
|
301 0002 8AB0 sub sp, sp, #40
|
|
|
|
|
302 .cfi_def_cfa_offset 48
|
|
|
|
|
66:Core/Src/can-halal.c **** return;
|
|
|
|
|
303 .loc 1 66 3 is_stmt 1 view .LVU81
|
|
|
|
|
66:Core/Src/can-halal.c **** return;
|
|
|
|
|
304 .loc 1 66 14 is_stmt 0 view .LVU82
|
|
|
|
|
305 0004 0B4B ldr r3, .L26
|
|
|
|
|
306 0006 1C68 ldr r4, [r3]
|
|
|
|
|
66:Core/Src/can-halal.c **** return;
|
|
|
|
|
307 .loc 1 66 6 view .LVU83
|
|
|
|
|
308 0008 8442 cmp r4, r0
|
|
|
|
|
309 000a 01D0 beq .L25
|
|
|
|
|
310 .LVL18:
|
|
|
|
|
311 .L21:
|
|
|
|
|
80:Core/Src/can-halal.c **** #elif defined(FTCAN_IS_FDCAN)
|
|
|
|
|
312 .loc 1 80 1 view .LVU84
|
|
|
|
|
313 000c 0AB0 add sp, sp, #40
|
|
|
|
|
314 .cfi_remember_state
|
|
|
|
|
315 .cfi_def_cfa_offset 8
|
|
|
|
|
316 @ sp needed
|
|
|
|
|
317 000e 10BD pop {r4, pc}
|
|
|
|
|
318 .LVL19:
|
|
|
|
|
319 .L25:
|
|
|
|
|
320 .cfi_restore_state
|
|
|
|
|
69:Core/Src/can-halal.c **** uint8_t data[8];
|
|
|
|
|
321 .loc 1 69 3 is_stmt 1 view .LVU85
|
|
|
|
|
70:Core/Src/can-halal.c **** if (HAL_CAN_GetRxMessage(hcan, CAN_RX_FIFO0, &header, data) != HAL_OK) {
|
2024-05-15 21:16:02 +02:00
|
|
|
|
ARM GAS C:\Users\nived\AppData\Local\Temp\ccLn44vU.s page 11
|
2024-05-12 14:08:58 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
322 .loc 1 70 3 view .LVU86
|
|
|
|
|
71:Core/Src/can-halal.c **** return;
|
|
|
|
|
323 .loc 1 71 3 view .LVU87
|
|
|
|
|
71:Core/Src/can-halal.c **** return;
|
|
|
|
|
324 .loc 1 71 7 is_stmt 0 view .LVU88
|
|
|
|
|
325 0010 01AB add r3, sp, #4
|
|
|
|
|
326 0012 03AA add r2, sp, #12
|
|
|
|
|
327 0014 0021 movs r1, #0
|
|
|
|
|
328 0016 2046 mov r0, r4
|
|
|
|
|
329 .LVL20:
|
|
|
|
|
71:Core/Src/can-halal.c **** return;
|
|
|
|
|
330 .loc 1 71 7 view .LVU89
|
|
|
|
|
331 0018 FFF7FEFF bl HAL_CAN_GetRxMessage
|
|
|
|
|
332 .LVL21:
|
|
|
|
|
71:Core/Src/can-halal.c **** return;
|
|
|
|
|
333 .loc 1 71 6 view .LVU90
|
|
|
|
|
334 001c 0028 cmp r0, #0
|
|
|
|
|
335 001e F5D1 bne .L21
|
|
|
|
|
75:Core/Src/can-halal.c **** return;
|
|
|
|
|
336 .loc 1 75 3 is_stmt 1 view .LVU91
|
|
|
|
|
75:Core/Src/can-halal.c **** return;
|
|
|
|
|
337 .loc 1 75 13 is_stmt 0 view .LVU92
|
|
|
|
|
338 0020 059B ldr r3, [sp, #20]
|
|
|
|
|
75:Core/Src/can-halal.c **** return;
|
|
|
|
|
339 .loc 1 75 6 view .LVU93
|
|
|
|
|
340 0022 002B cmp r3, #0
|
|
|
|
|
341 0024 F2D1 bne .L21
|
|
|
|
|
79:Core/Src/can-halal.c **** }
|
|
|
|
|
342 .loc 1 79 3 is_stmt 1 view .LVU94
|
|
|
|
|
343 0026 01AA add r2, sp, #4
|
|
|
|
|
344 0028 0799 ldr r1, [sp, #28]
|
|
|
|
|
345 002a BDF80C00 ldrh r0, [sp, #12]
|
|
|
|
|
346 002e FFF7FEFF bl ftcan_msg_received_cb
|
|
|
|
|
347 .LVL22:
|
|
|
|
|
348 0032 EBE7 b .L21
|
|
|
|
|
349 .L27:
|
|
|
|
|
350 .align 2
|
|
|
|
|
351 .L26:
|
|
|
|
|
352 0034 00000000 .word hcan
|
|
|
|
|
353 .cfi_endproc
|
|
|
|
|
354 .LFE133:
|
|
|
|
|
356 .section .text.ftcan_unmarshal_unsigned,"ax",%progbits
|
|
|
|
|
357 .align 1
|
|
|
|
|
358 .global ftcan_unmarshal_unsigned
|
|
|
|
|
359 .syntax unified
|
|
|
|
|
360 .thumb
|
|
|
|
|
361 .thumb_func
|
|
|
|
|
363 ftcan_unmarshal_unsigned:
|
|
|
|
|
364 .LVL23:
|
|
|
|
|
365 .LFB135:
|
|
|
|
|
227:Core/Src/can-halal.c ****
|
|
|
|
|
228:Core/Src/can-halal.c **** uint64_t ftcan_unmarshal_unsigned(const uint8_t **data_ptr, size_t num_bytes) {
|
|
|
|
|
366 .loc 1 228 79 view -0
|
|
|
|
|
367 .cfi_startproc
|
|
|
|
|
368 @ args = 0, pretend = 0, frame = 0
|
|
|
|
|
369 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
|
|
370 .loc 1 228 79 is_stmt 0 view .LVU96
|
2024-05-15 21:16:02 +02:00
|
|
|
|
ARM GAS C:\Users\nived\AppData\Local\Temp\ccLn44vU.s page 12
|
2024-05-12 14:08:58 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
371 0000 10B5 push {r4, lr}
|
|
|
|
|
372 .cfi_def_cfa_offset 8
|
|
|
|
|
373 .cfi_offset 4, -8
|
|
|
|
|
374 .cfi_offset 14, -4
|
|
|
|
|
375 0002 8646 mov lr, r0
|
|
|
|
|
376 0004 8C46 mov ip, r1
|
|
|
|
|
229:Core/Src/can-halal.c **** if (num_bytes > 8) {
|
|
|
|
|
377 .loc 1 229 3 is_stmt 1 view .LVU97
|
|
|
|
|
378 .loc 1 229 6 is_stmt 0 view .LVU98
|
|
|
|
|
379 0006 0829 cmp r1, #8
|
|
|
|
|
380 0008 01D9 bls .L29
|
|
|
|
|
230:Core/Src/can-halal.c **** num_bytes = 8;
|
|
|
|
|
381 .loc 1 230 15 view .LVU99
|
|
|
|
|
382 000a 4FF0080C mov ip, #8
|
|
|
|
|
383 .L29:
|
|
|
|
|
384 .LVL24:
|
|
|
|
|
231:Core/Src/can-halal.c **** }
|
|
|
|
|
232:Core/Src/can-halal.c ****
|
|
|
|
|
233:Core/Src/can-halal.c **** const uint8_t *data = *data_ptr;
|
|
|
|
|
385 .loc 1 233 3 is_stmt 1 view .LVU100
|
|
|
|
|
386 .loc 1 233 18 is_stmt 0 view .LVU101
|
|
|
|
|
387 000e DEF80040 ldr r4, [lr]
|
|
|
|
|
388 .LVL25:
|
|
|
|
|
234:Core/Src/can-halal.c **** uint64_t result = 0;
|
|
|
|
|
389 .loc 1 234 3 is_stmt 1 view .LVU102
|
|
|
|
|
235:Core/Src/can-halal.c **** for (size_t i = 0; i < num_bytes; i++) {
|
|
|
|
|
390 .loc 1 235 3 view .LVU103
|
|
|
|
|
391 .LBB2:
|
|
|
|
|
392 .loc 1 235 8 view .LVU104
|
|
|
|
|
393 .loc 1 235 15 is_stmt 0 view .LVU105
|
|
|
|
|
394 0012 0023 movs r3, #0
|
|
|
|
|
395 .LBE2:
|
|
|
|
|
234:Core/Src/can-halal.c **** uint64_t result = 0;
|
|
|
|
|
396 .loc 1 234 12 view .LVU106
|
|
|
|
|
397 0014 1846 mov r0, r3
|
|
|
|
|
398 .LVL26:
|
|
|
|
|
234:Core/Src/can-halal.c **** uint64_t result = 0;
|
|
|
|
|
399 .loc 1 234 12 view .LVU107
|
|
|
|
|
400 0016 1946 mov r1, r3
|
|
|
|
|
401 .LBB3:
|
|
|
|
|
402 .loc 1 235 3 view .LVU108
|
|
|
|
|
403 0018 06E0 b .L30
|
|
|
|
|
404 .LVL27:
|
|
|
|
|
405 .L31:
|
|
|
|
|
236:Core/Src/can-halal.c **** result <<= 8;
|
|
|
|
|
406 .loc 1 236 5 is_stmt 1 discriminator 3 view .LVU109
|
|
|
|
|
407 .loc 1 236 12 is_stmt 0 discriminator 3 view .LVU110
|
|
|
|
|
408 001a 0902 lsls r1, r1, #8
|
|
|
|
|
409 .LVL28:
|
|
|
|
|
410 .loc 1 236 12 discriminator 3 view .LVU111
|
|
|
|
|
411 001c 41EA1061 orr r1, r1, r0, lsr #24
|
|
|
|
|
412 .LVL29:
|
|
|
|
|
237:Core/Src/can-halal.c **** result |= data[i];
|
|
|
|
|
413 .loc 1 237 5 is_stmt 1 discriminator 3 view .LVU112
|
|
|
|
|
414 .loc 1 237 19 is_stmt 0 discriminator 3 view .LVU113
|
|
|
|
|
415 0020 E25C ldrb r2, [r4, r3] @ zero_extendqisi2
|
|
|
|
|
416 .loc 1 237 12 discriminator 3 view .LVU114
|
2024-05-15 21:16:02 +02:00
|
|
|
|
ARM GAS C:\Users\nived\AppData\Local\Temp\ccLn44vU.s page 13
|
2024-05-12 14:08:58 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
417 0022 42EA0020 orr r0, r2, r0, lsl #8
|
|
|
|
|
418 .LVL30:
|
|
|
|
|
235:Core/Src/can-halal.c **** for (size_t i = 0; i < num_bytes; i++) {
|
|
|
|
|
419 .loc 1 235 38 is_stmt 1 discriminator 3 view .LVU115
|
|
|
|
|
420 0026 0133 adds r3, r3, #1
|
|
|
|
|
421 .LVL31:
|
|
|
|
|
422 .L30:
|
|
|
|
|
235:Core/Src/can-halal.c **** for (size_t i = 0; i < num_bytes; i++) {
|
|
|
|
|
423 .loc 1 235 24 discriminator 1 view .LVU116
|
|
|
|
|
424 0028 9C45 cmp ip, r3
|
|
|
|
|
425 002a F6D8 bhi .L31
|
|
|
|
|
426 .LBE3:
|
|
|
|
|
238:Core/Src/can-halal.c **** }
|
|
|
|
|
239:Core/Src/can-halal.c **** *data_ptr += num_bytes;
|
|
|
|
|
427 .loc 1 239 3 view .LVU117
|
|
|
|
|
428 .loc 1 239 13 is_stmt 0 view .LVU118
|
|
|
|
|
429 002c 6444 add r4, r4, ip
|
|
|
|
|
430 .LVL32:
|
|
|
|
|
431 .loc 1 239 13 view .LVU119
|
|
|
|
|
432 002e CEF80040 str r4, [lr]
|
|
|
|
|
433 .LVL33:
|
|
|
|
|
240:Core/Src/can-halal.c **** return result;
|
|
|
|
|
434 .loc 1 240 3 is_stmt 1 view .LVU120
|
|
|
|
|
241:Core/Src/can-halal.c **** }
|
|
|
|
|
435 .loc 1 241 1 is_stmt 0 view .LVU121
|
|
|
|
|
436 0032 10BD pop {r4, pc}
|
|
|
|
|
437 .cfi_endproc
|
|
|
|
|
438 .LFE135:
|
|
|
|
|
440 .section .text.ftcan_unmarshal_signed,"ax",%progbits
|
|
|
|
|
441 .align 1
|
|
|
|
|
442 .global ftcan_unmarshal_signed
|
|
|
|
|
443 .syntax unified
|
|
|
|
|
444 .thumb
|
|
|
|
|
445 .thumb_func
|
|
|
|
|
447 ftcan_unmarshal_signed:
|
|
|
|
|
448 .LVL34:
|
|
|
|
|
449 .LFB136:
|
|
|
|
|
242:Core/Src/can-halal.c ****
|
|
|
|
|
243:Core/Src/can-halal.c **** int64_t ftcan_unmarshal_signed(const uint8_t **data_ptr, size_t num_bytes) {
|
|
|
|
|
450 .loc 1 243 76 is_stmt 1 view -0
|
|
|
|
|
451 .cfi_startproc
|
|
|
|
|
452 @ args = 0, pretend = 0, frame = 0
|
|
|
|
|
453 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
|
|
454 .loc 1 243 76 is_stmt 0 view .LVU123
|
|
|
|
|
455 0000 10B5 push {r4, lr}
|
|
|
|
|
456 .cfi_def_cfa_offset 8
|
|
|
|
|
457 .cfi_offset 4, -8
|
|
|
|
|
458 .cfi_offset 14, -4
|
|
|
|
|
459 0002 0C46 mov r4, r1
|
|
|
|
|
244:Core/Src/can-halal.c **** if (num_bytes > 8) {
|
|
|
|
|
460 .loc 1 244 3 is_stmt 1 view .LVU124
|
|
|
|
|
461 .loc 1 244 6 is_stmt 0 view .LVU125
|
|
|
|
|
462 0004 0829 cmp r1, #8
|
|
|
|
|
463 0006 00D9 bls .L35
|
|
|
|
|
245:Core/Src/can-halal.c **** num_bytes = 8;
|
|
|
|
|
464 .loc 1 245 15 view .LVU126
|
|
|
|
|
465 0008 0824 movs r4, #8
|
2024-05-15 21:16:02 +02:00
|
|
|
|
ARM GAS C:\Users\nived\AppData\Local\Temp\ccLn44vU.s page 14
|
2024-05-12 14:08:58 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
466 .L35:
|
|
|
|
|
467 .LVL35:
|
|
|
|
|
246:Core/Src/can-halal.c **** }
|
|
|
|
|
247:Core/Src/can-halal.c ****
|
|
|
|
|
248:Core/Src/can-halal.c **** uint64_t result_unsigned = ftcan_unmarshal_unsigned(data_ptr, num_bytes);
|
|
|
|
|
468 .loc 1 248 3 is_stmt 1 view .LVU127
|
|
|
|
|
469 .loc 1 248 30 is_stmt 0 view .LVU128
|
|
|
|
|
470 000a 2146 mov r1, r4
|
|
|
|
|
471 000c FFF7FEFF bl ftcan_unmarshal_unsigned
|
|
|
|
|
472 .LVL36:
|
|
|
|
|
249:Core/Src/can-halal.c **** // Sign extend by shifting left, then copying to a signed int and shifting
|
|
|
|
|
250:Core/Src/can-halal.c **** // back to the right
|
|
|
|
|
251:Core/Src/can-halal.c **** size_t diff_to_64 = 64 - num_bytes * 8;
|
|
|
|
|
473 .loc 1 251 3 is_stmt 1 view .LVU129
|
|
|
|
|
474 .loc 1 251 26 is_stmt 0 view .LVU130
|
|
|
|
|
475 0010 C4F10803 rsb r3, r4, #8
|
|
|
|
|
476 .loc 1 251 10 view .LVU131
|
|
|
|
|
477 0014 DB00 lsls r3, r3, #3
|
|
|
|
|
478 .LVL37:
|
|
|
|
|
252:Core/Src/can-halal.c **** result_unsigned <<= diff_to_64;
|
|
|
|
|
479 .loc 1 252 3 is_stmt 1 view .LVU132
|
|
|
|
|
480 .loc 1 252 19 is_stmt 0 view .LVU133
|
|
|
|
|
481 0016 A3F1200C sub ip, r3, #32
|
|
|
|
|
482 001a C3F12004 rsb r4, r3, #32
|
|
|
|
|
483 .LVL38:
|
|
|
|
|
484 .loc 1 252 19 view .LVU134
|
|
|
|
|
485 001e 01FA03F2 lsl r2, r1, r3
|
|
|
|
|
486 0022 00FA0CFC lsl ip, r0, ip
|
|
|
|
|
487 0026 42EA0C02 orr r2, r2, ip
|
|
|
|
|
488 002a 20FA04F4 lsr r4, r0, r4
|
|
|
|
|
489 002e 2243 orrs r2, r2, r4
|
|
|
|
|
490 0030 9840 lsls r0, r0, r3
|
|
|
|
|
491 .LVL39:
|
|
|
|
|
253:Core/Src/can-halal.c **** int64_t result;
|
|
|
|
|
492 .loc 1 253 3 is_stmt 1 view .LVU135
|
|
|
|
|
254:Core/Src/can-halal.c **** memcpy(&result, &result_unsigned, 8);
|
|
|
|
|
493 .loc 1 254 3 view .LVU136
|
|
|
|
|
494 0032 1146 mov r1, r2
|
|
|
|
|
495 .LVL40:
|
|
|
|
|
255:Core/Src/can-halal.c **** return result >> diff_to_64;
|
|
|
|
|
496 .loc 1 255 3 view .LVU137
|
|
|
|
|
497 .loc 1 255 17 is_stmt 0 view .LVU138
|
|
|
|
|
498 0034 C3F12004 rsb r4, r3, #32
|
|
|
|
|
499 0038 B3F1200C subs ip, r3, #32
|
|
|
|
|
500 003c 20FA03F0 lsr r0, r0, r3
|
|
|
|
|
501 .LVL41:
|
|
|
|
|
502 .loc 1 255 17 view .LVU139
|
|
|
|
|
503 0040 02FA04F4 lsl r4, r2, r4
|
|
|
|
|
504 0044 40EA0400 orr r0, r0, r4
|
|
|
|
|
505 0048 03D4 bmi .L36
|
|
|
|
|
506 004a 42FA0CFC asr ip, r2, ip
|
|
|
|
|
507 004e 40EA0C00 orr r0, r0, ip
|
|
|
|
|
508 .L36:
|
|
|
|
|
256:Core/Src/can-halal.c **** }
|
|
|
|
|
509 .loc 1 256 1 view .LVU140
|
|
|
|
|
510 0052 1941 asrs r1, r1, r3
|
|
|
|
|
511 0054 10BD pop {r4, pc}
|
2024-05-15 21:16:02 +02:00
|
|
|
|
ARM GAS C:\Users\nived\AppData\Local\Temp\ccLn44vU.s page 15
|
2024-05-12 14:08:58 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
512 .cfi_endproc
|
|
|
|
|
513 .LFE136:
|
|
|
|
|
515 .section .text.ftcan_marshal_unsigned,"ax",%progbits
|
|
|
|
|
516 .align 1
|
|
|
|
|
517 .global ftcan_marshal_unsigned
|
|
|
|
|
518 .syntax unified
|
|
|
|
|
519 .thumb
|
|
|
|
|
520 .thumb_func
|
|
|
|
|
522 ftcan_marshal_unsigned:
|
|
|
|
|
523 .LVL42:
|
|
|
|
|
524 .LFB137:
|
|
|
|
|
257:Core/Src/can-halal.c ****
|
|
|
|
|
258:Core/Src/can-halal.c **** uint8_t *ftcan_marshal_unsigned(uint8_t *data, uint64_t val, size_t num_bytes) {
|
|
|
|
|
525 .loc 1 258 80 is_stmt 1 view -0
|
|
|
|
|
526 .cfi_startproc
|
|
|
|
|
527 @ args = 4, pretend = 0, frame = 0
|
|
|
|
|
528 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
|
|
529 @ link register save eliminated.
|
|
|
|
|
530 .loc 1 258 80 is_stmt 0 view .LVU142
|
|
|
|
|
531 0000 10B4 push {r4}
|
|
|
|
|
532 .cfi_def_cfa_offset 4
|
|
|
|
|
533 .cfi_offset 4, -4
|
|
|
|
|
534 0002 019C ldr r4, [sp, #4]
|
|
|
|
|
259:Core/Src/can-halal.c **** if (num_bytes > 8) {
|
|
|
|
|
535 .loc 1 259 3 is_stmt 1 view .LVU143
|
|
|
|
|
536 .loc 1 259 6 is_stmt 0 view .LVU144
|
|
|
|
|
537 0004 082C cmp r4, #8
|
|
|
|
|
538 0006 00D9 bls .L40
|
|
|
|
|
260:Core/Src/can-halal.c **** num_bytes = 8;
|
|
|
|
|
539 .loc 1 260 15 view .LVU145
|
|
|
|
|
540 0008 0824 movs r4, #8
|
|
|
|
|
541 .L40:
|
|
|
|
|
542 .LVL43:
|
|
|
|
|
261:Core/Src/can-halal.c **** }
|
|
|
|
|
262:Core/Src/can-halal.c ****
|
|
|
|
|
263:Core/Src/can-halal.c **** for (int i = num_bytes - 1; i >= 0; i--) {
|
|
|
|
|
543 .loc 1 263 3 is_stmt 1 view .LVU146
|
|
|
|
|
544 .LBB4:
|
|
|
|
|
545 .loc 1 263 8 view .LVU147
|
|
|
|
|
546 .loc 1 263 26 is_stmt 0 view .LVU148
|
|
|
|
|
547 000a 611E subs r1, r4, #1
|
|
|
|
|
548 .LVL44:
|
|
|
|
|
549 .loc 1 263 3 view .LVU149
|
|
|
|
|
550 000c 05E0 b .L41
|
|
|
|
|
551 .LVL45:
|
|
|
|
|
552 .L42:
|
|
|
|
|
264:Core/Src/can-halal.c **** data[i] = val & 0xFF;
|
|
|
|
|
553 .loc 1 264 5 is_stmt 1 discriminator 3 view .LVU150
|
|
|
|
|
554 .loc 1 264 13 is_stmt 0 discriminator 3 view .LVU151
|
|
|
|
|
555 000e 4254 strb r2, [r0, r1]
|
|
|
|
|
265:Core/Src/can-halal.c **** val >>= 8;
|
|
|
|
|
556 .loc 1 265 5 is_stmt 1 discriminator 3 view .LVU152
|
|
|
|
|
557 .loc 1 265 9 is_stmt 0 discriminator 3 view .LVU153
|
|
|
|
|
558 0010 120A lsrs r2, r2, #8
|
|
|
|
|
559 .LVL46:
|
|
|
|
|
560 .loc 1 265 9 discriminator 3 view .LVU154
|
|
|
|
|
561 0012 42EA0362 orr r2, r2, r3, lsl #24
|
2024-05-15 21:16:02 +02:00
|
|
|
|
ARM GAS C:\Users\nived\AppData\Local\Temp\ccLn44vU.s page 16
|
2024-05-12 14:08:58 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
562 0016 1B0A lsrs r3, r3, #8
|
|
|
|
|
563 .LVL47:
|
|
|
|
|
263:Core/Src/can-halal.c **** data[i] = val & 0xFF;
|
|
|
|
|
564 .loc 1 263 40 is_stmt 1 discriminator 3 view .LVU155
|
|
|
|
|
565 0018 0139 subs r1, r1, #1
|
|
|
|
|
566 .LVL48:
|
|
|
|
|
567 .L41:
|
|
|
|
|
263:Core/Src/can-halal.c **** data[i] = val & 0xFF;
|
|
|
|
|
568 .loc 1 263 33 discriminator 1 view .LVU156
|
|
|
|
|
569 001a 0029 cmp r1, #0
|
|
|
|
|
570 001c F7DA bge .L42
|
|
|
|
|
263:Core/Src/can-halal.c **** data[i] = val & 0xFF;
|
|
|
|
|
571 .loc 1 263 33 is_stmt 0 discriminator 1 view .LVU157
|
|
|
|
|
572 .LBE4:
|
|
|
|
|
266:Core/Src/can-halal.c **** }
|
|
|
|
|
267:Core/Src/can-halal.c ****
|
|
|
|
|
268:Core/Src/can-halal.c **** return data + num_bytes;
|
|
|
|
|
573 .loc 1 268 3 is_stmt 1 view .LVU158
|
|
|
|
|
269:Core/Src/can-halal.c **** }
|
|
|
|
|
574 .loc 1 269 1 is_stmt 0 view .LVU159
|
|
|
|
|
575 001e 2044 add r0, r0, r4
|
|
|
|
|
576 .LVL49:
|
|
|
|
|
577 .loc 1 269 1 view .LVU160
|
|
|
|
|
578 0020 5DF8044B ldr r4, [sp], #4
|
|
|
|
|
579 .cfi_restore 4
|
|
|
|
|
580 .cfi_def_cfa_offset 0
|
|
|
|
|
581 .LVL50:
|
|
|
|
|
582 .loc 1 269 1 view .LVU161
|
|
|
|
|
583 0024 7047 bx lr
|
|
|
|
|
584 .cfi_endproc
|
|
|
|
|
585 .LFE137:
|
|
|
|
|
587 .section .text.ftcan_marshal_signed,"ax",%progbits
|
|
|
|
|
588 .align 1
|
|
|
|
|
589 .global ftcan_marshal_signed
|
|
|
|
|
590 .syntax unified
|
|
|
|
|
591 .thumb
|
|
|
|
|
592 .thumb_func
|
|
|
|
|
594 ftcan_marshal_signed:
|
|
|
|
|
595 .LVL51:
|
|
|
|
|
596 .LFB138:
|
|
|
|
|
270:Core/Src/can-halal.c ****
|
|
|
|
|
271:Core/Src/can-halal.c **** uint8_t *ftcan_marshal_signed(uint8_t *data, int64_t val, size_t num_bytes) {
|
|
|
|
|
597 .loc 1 271 77 is_stmt 1 view -0
|
|
|
|
|
598 .cfi_startproc
|
|
|
|
|
599 @ args = 4, pretend = 0, frame = 0
|
|
|
|
|
600 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
|
|
601 .loc 1 271 77 is_stmt 0 view .LVU163
|
|
|
|
|
602 0000 00B5 push {lr}
|
|
|
|
|
603 .cfi_def_cfa_offset 4
|
|
|
|
|
604 .cfi_offset 14, -4
|
|
|
|
|
605 0002 83B0 sub sp, sp, #12
|
|
|
|
|
606 .cfi_def_cfa_offset 16
|
|
|
|
|
272:Core/Src/can-halal.c **** return ftcan_marshal_unsigned(data, val, num_bytes);
|
|
|
|
|
607 .loc 1 272 3 is_stmt 1 view .LVU164
|
|
|
|
|
608 .loc 1 272 10 is_stmt 0 view .LVU165
|
|
|
|
|
609 0004 0499 ldr r1, [sp, #16]
|
|
|
|
|
610 0006 0091 str r1, [sp]
|
2024-05-15 21:16:02 +02:00
|
|
|
|
ARM GAS C:\Users\nived\AppData\Local\Temp\ccLn44vU.s page 17
|
2024-05-12 14:08:58 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
611 0008 FFF7FEFF bl ftcan_marshal_unsigned
|
|
|
|
|
612 .LVL52:
|
|
|
|
|
273:Core/Src/can-halal.c **** }
|
|
|
|
|
613 .loc 1 273 1 view .LVU166
|
|
|
|
|
614 000c 03B0 add sp, sp, #12
|
|
|
|
|
615 .cfi_def_cfa_offset 4
|
|
|
|
|
616 @ sp needed
|
|
|
|
|
617 000e 5DF804FB ldr pc, [sp], #4
|
|
|
|
|
618 .loc 1 273 1 view .LVU167
|
|
|
|
|
619 .cfi_endproc
|
|
|
|
|
620 .LFE138:
|
|
|
|
|
622 .section .bss.filter.0,"aw",%nobits
|
|
|
|
|
623 .align 2
|
|
|
|
|
626 filter.0:
|
|
|
|
|
627 0000 00000000 .space 40
|
|
|
|
|
627 00000000
|
|
|
|
|
627 00000000
|
|
|
|
|
627 00000000
|
|
|
|
|
627 00000000
|
|
|
|
|
628 .section .bss.next_filter_no.1,"aw",%nobits
|
|
|
|
|
629 .align 2
|
|
|
|
|
632 next_filter_no.1:
|
|
|
|
|
633 0000 00000000 .space 4
|
|
|
|
|
634 .section .bss.header.2,"aw",%nobits
|
|
|
|
|
635 .align 2
|
|
|
|
|
638 header.2:
|
|
|
|
|
639 0000 00000000 .space 24
|
|
|
|
|
639 00000000
|
|
|
|
|
639 00000000
|
|
|
|
|
639 00000000
|
|
|
|
|
639 00000000
|
|
|
|
|
640 .section .bss.hcan,"aw",%nobits
|
|
|
|
|
641 .align 2
|
|
|
|
|
644 hcan:
|
|
|
|
|
645 0000 00000000 .space 4
|
|
|
|
|
646 .text
|
|
|
|
|
647 .Letext0:
|
|
|
|
|
648 .file 2 "c:\\users\\nived\\appdata\\roaming\\code\\user\\globalstorage\\bmd.stm32-for-vscode\\@xpa
|
|
|
|
|
649 .file 3 "c:\\users\\nived\\appdata\\roaming\\code\\user\\globalstorage\\bmd.stm32-for-vscode\\@xpa
|
|
|
|
|
650 .file 4 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/stm32f302xc.h"
|
|
|
|
|
651 .file 5 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/stm32f3xx.h"
|
|
|
|
|
652 .file 6 "c:\\users\\nived\\appdata\\roaming\\code\\user\\globalstorage\\bmd.stm32-for-vscode\\@xpa
|
|
|
|
|
653 .file 7 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_def.h"
|
|
|
|
|
654 .file 8 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_can.h"
|
2024-05-15 21:16:02 +02:00
|
|
|
|
ARM GAS C:\Users\nived\AppData\Local\Temp\ccLn44vU.s page 18
|
2024-05-12 14:08:58 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
DEFINED SYMBOLS
|
|
|
|
|
*ABS*:00000000 can-halal.c
|
2024-05-15 21:16:02 +02:00
|
|
|
|
C:\Users\nived\AppData\Local\Temp\ccLn44vU.s:21 .text.ftcan_init:00000000 $t
|
|
|
|
|
C:\Users\nived\AppData\Local\Temp\ccLn44vU.s:27 .text.ftcan_init:00000000 ftcan_init
|
|
|
|
|
C:\Users\nived\AppData\Local\Temp\ccLn44vU.s:68 .text.ftcan_init:0000001c $d
|
|
|
|
|
C:\Users\nived\AppData\Local\Temp\ccLn44vU.s:644 .bss.hcan:00000000 hcan
|
|
|
|
|
C:\Users\nived\AppData\Local\Temp\ccLn44vU.s:73 .text.ftcan_transmit:00000000 $t
|
|
|
|
|
C:\Users\nived\AppData\Local\Temp\ccLn44vU.s:79 .text.ftcan_transmit:00000000 ftcan_transmit
|
|
|
|
|
C:\Users\nived\AppData\Local\Temp\ccLn44vU.s:131 .text.ftcan_transmit:00000024 $d
|
|
|
|
|
C:\Users\nived\AppData\Local\Temp\ccLn44vU.s:638 .bss.header.2:00000000 header.2
|
|
|
|
|
C:\Users\nived\AppData\Local\Temp\ccLn44vU.s:137 .text.ftcan_add_filter:00000000 $t
|
|
|
|
|
C:\Users\nived\AppData\Local\Temp\ccLn44vU.s:143 .text.ftcan_add_filter:00000000 ftcan_add_filter
|
|
|
|
|
C:\Users\nived\AppData\Local\Temp\ccLn44vU.s:256 .text.ftcan_add_filter:00000060 $d
|
|
|
|
|
C:\Users\nived\AppData\Local\Temp\ccLn44vU.s:632 .bss.next_filter_no.1:00000000 next_filter_no.1
|
|
|
|
|
C:\Users\nived\AppData\Local\Temp\ccLn44vU.s:626 .bss.filter.0:00000000 filter.0
|
|
|
|
|
C:\Users\nived\AppData\Local\Temp\ccLn44vU.s:263 .text.ftcan_msg_received_cb:00000000 $t
|
|
|
|
|
C:\Users\nived\AppData\Local\Temp\ccLn44vU.s:269 .text.ftcan_msg_received_cb:00000000 ftcan_msg_received_cb
|
|
|
|
|
C:\Users\nived\AppData\Local\Temp\ccLn44vU.s:283 .text.HAL_CAN_RxFifo0MsgPendingCallback:00000000 $t
|
|
|
|
|
C:\Users\nived\AppData\Local\Temp\ccLn44vU.s:289 .text.HAL_CAN_RxFifo0MsgPendingCallback:00000000 HAL_CAN_RxFifo0MsgPendingCallback
|
|
|
|
|
C:\Users\nived\AppData\Local\Temp\ccLn44vU.s:352 .text.HAL_CAN_RxFifo0MsgPendingCallback:00000034 $d
|
|
|
|
|
C:\Users\nived\AppData\Local\Temp\ccLn44vU.s:357 .text.ftcan_unmarshal_unsigned:00000000 $t
|
|
|
|
|
C:\Users\nived\AppData\Local\Temp\ccLn44vU.s:363 .text.ftcan_unmarshal_unsigned:00000000 ftcan_unmarshal_unsigned
|
|
|
|
|
C:\Users\nived\AppData\Local\Temp\ccLn44vU.s:441 .text.ftcan_unmarshal_signed:00000000 $t
|
|
|
|
|
C:\Users\nived\AppData\Local\Temp\ccLn44vU.s:447 .text.ftcan_unmarshal_signed:00000000 ftcan_unmarshal_signed
|
|
|
|
|
C:\Users\nived\AppData\Local\Temp\ccLn44vU.s:516 .text.ftcan_marshal_unsigned:00000000 $t
|
|
|
|
|
C:\Users\nived\AppData\Local\Temp\ccLn44vU.s:522 .text.ftcan_marshal_unsigned:00000000 ftcan_marshal_unsigned
|
|
|
|
|
C:\Users\nived\AppData\Local\Temp\ccLn44vU.s:588 .text.ftcan_marshal_signed:00000000 $t
|
|
|
|
|
C:\Users\nived\AppData\Local\Temp\ccLn44vU.s:594 .text.ftcan_marshal_signed:00000000 ftcan_marshal_signed
|
|
|
|
|
C:\Users\nived\AppData\Local\Temp\ccLn44vU.s:623 .bss.filter.0:00000000 $d
|
|
|
|
|
C:\Users\nived\AppData\Local\Temp\ccLn44vU.s:629 .bss.next_filter_no.1:00000000 $d
|
|
|
|
|
C:\Users\nived\AppData\Local\Temp\ccLn44vU.s:635 .bss.header.2:00000000 $d
|
|
|
|
|
C:\Users\nived\AppData\Local\Temp\ccLn44vU.s:641 .bss.hcan:00000000 $d
|
2024-05-12 14:08:58 +02:00
|
|
|
|
|
|
|
|
|
UNDEFINED SYMBOLS
|
|
|
|
|
HAL_CAN_ActivateNotification
|
|
|
|
|
HAL_CAN_Start
|
|
|
|
|
HAL_CAN_AddTxMessage
|
|
|
|
|
HAL_CAN_ConfigFilter
|
|
|
|
|
HAL_CAN_GetRxMessage
|