openblt/Target/Demo/ARMCM3_STM32_Nucleo_STM32F1.../Boot/obj/com.lst

596 lines
31 KiB
Plaintext

1 .syntax unified
2 .cpu cortex-m3
3 .fpu softvfp
4 .eabi_attribute 20, 1
5 .eabi_attribute 21, 1
6 .eabi_attribute 23, 3
7 .eabi_attribute 24, 1
8 .eabi_attribute 25, 1
9 .eabi_attribute 26, 1
10 .eabi_attribute 30, 1
11 .eabi_attribute 34, 1
12 .eabi_attribute 18, 4
13 .thumb
14 .file "com.c"
15 .text
16 .Ltext0:
17 .cfi_sections .debug_frame
18 .section .text.ComInit,"ax",%progbits
19 .align 2
20 .global ComInit
21 .thumb
22 .thumb_func
24 ComInit:
25 .LFB0:
26 .file 1 "../../../Source/com.c"
1:../../../Source/com.c **** /************************************************************************************//**
2:../../../Source/com.c **** * \file Source\com.c
3:../../../Source/com.c **** * \brief Bootloader communication interface source file.
4:../../../Source/com.c **** * \ingroup Core
5:../../../Source/com.c **** * \internal
6:../../../Source/com.c **** *----------------------------------------------------------------------------------------
7:../../../Source/com.c **** * C O P Y R I G H T
8:../../../Source/com.c **** *----------------------------------------------------------------------------------------
9:../../../Source/com.c **** * Copyright (c) 2011 by Feaser http://www.feaser.com All rights reserved
10:../../../Source/com.c **** *
11:../../../Source/com.c **** *----------------------------------------------------------------------------------------
12:../../../Source/com.c **** * L I C E N S E
13:../../../Source/com.c **** *----------------------------------------------------------------------------------------
14:../../../Source/com.c **** * This file is part of OpenBLT. OpenBLT is free software: you can redistribute it and/or
15:../../../Source/com.c **** * modify it under the terms of the GNU General Public License as published by the Free
16:../../../Source/com.c **** * Software Foundation, either version 3 of the License, or (at your option) any later
17:../../../Source/com.c **** * version.
18:../../../Source/com.c **** *
19:../../../Source/com.c **** * OpenBLT is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
20:../../../Source/com.c **** * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
21:../../../Source/com.c **** * PURPOSE. See the GNU General Public License for more details.
22:../../../Source/com.c **** *
23:../../../Source/com.c **** * You should have received a copy of the GNU General Public License along with OpenBLT.
24:../../../Source/com.c **** * If not, see <http://www.gnu.org/licenses/>.
25:../../../Source/com.c **** *
26:../../../Source/com.c **** * A special exception to the GPL is included to allow you to distribute a combined work
27:../../../Source/com.c **** * that includes OpenBLT without being obliged to provide the source code for any
28:../../../Source/com.c **** * proprietary components. The exception text is included at the bottom of the license
29:../../../Source/com.c **** * file <license.html>.
30:../../../Source/com.c **** *
31:../../../Source/com.c **** * \endinternal
32:../../../Source/com.c **** ****************************************************************************************/
33:../../../Source/com.c ****
34:../../../Source/com.c **** /****************************************************************************************
35:../../../Source/com.c **** * Include files
36:../../../Source/com.c **** ****************************************************************************************/
37:../../../Source/com.c **** #include "boot.h" /* bootloader generic header */
38:../../../Source/com.c **** #if (BOOT_COM_CAN_ENABLE > 0)
39:../../../Source/com.c **** #include "can.h" /* can driver module */
40:../../../Source/com.c **** #endif
41:../../../Source/com.c **** #if (BOOT_COM_UART_ENABLE > 0)
42:../../../Source/com.c **** #include "uart.h" /* uart driver module */
43:../../../Source/com.c **** #endif
44:../../../Source/com.c **** #if (BOOT_COM_USB_ENABLE > 0)
45:../../../Source/com.c **** #include "usb.h" /* usb driver module */
46:../../../Source/com.c **** #endif
47:../../../Source/com.c **** #if (BOOT_COM_NET_ENABLE > 0)
48:../../../Source/com.c **** #include "net.h" /* tcp/ip driver module */
49:../../../Source/com.c **** #endif
50:../../../Source/com.c ****
51:../../../Source/com.c ****
52:../../../Source/com.c **** #if (BOOT_COM_ENABLE > 0)
53:../../../Source/com.c **** /****************************************************************************************
54:../../../Source/com.c **** * Local data declarations
55:../../../Source/com.c **** ****************************************************************************************/
56:../../../Source/com.c **** /** \brief Holds the communication interface of the currently active interface. */
57:../../../Source/com.c **** static tComInterfaceId comActiveInterface = COM_IF_OTHER;
58:../../../Source/com.c ****
59:../../../Source/com.c ****
60:../../../Source/com.c **** /************************************************************************************//**
61:../../../Source/com.c **** ** \brief Initializes the communication module including the hardware needed for
62:../../../Source/com.c **** ** the communication.
63:../../../Source/com.c **** ** \return none
64:../../../Source/com.c **** **
65:../../../Source/com.c **** ****************************************************************************************/
66:../../../Source/com.c **** void ComInit(void)
67:../../../Source/com.c **** {
27 .loc 1 67 0
28 .cfi_startproc
29 @ args = 0, pretend = 0, frame = 0
30 @ frame_needed = 0, uses_anonymous_args = 0
31 0000 08B5 push {r3, lr}
32 .cfi_def_cfa_offset 8
33 .cfi_offset 3, -8
34 .cfi_offset 14, -4
68:../../../Source/com.c **** /* initialize the XCP communication protocol */
69:../../../Source/com.c **** XcpInit();
35 .loc 1 69 0
36 0002 FFF7FEFF bl XcpInit
37 .LVL0:
70:../../../Source/com.c **** #if (BOOT_COM_CAN_ENABLE > 0)
71:../../../Source/com.c **** /* initialize the CAN controller */
72:../../../Source/com.c **** CanInit();
73:../../../Source/com.c **** /* set it as active */
74:../../../Source/com.c **** comActiveInterface = COM_IF_CAN;
75:../../../Source/com.c **** #endif
76:../../../Source/com.c **** #if (BOOT_COM_UART_ENABLE > 0)
77:../../../Source/com.c **** /* initialize the UART interface */
78:../../../Source/com.c **** UartInit();
38 .loc 1 78 0
39 0006 FFF7FEFF bl UartInit
40 .LVL1:
79:../../../Source/com.c **** /* set it as active */
80:../../../Source/com.c **** comActiveInterface = COM_IF_UART;
41 .loc 1 80 0
42 000a 0022 movs r2, #0
43 000c 014B ldr r3, .L3
44 000e 1A70 strb r2, [r3]
45 0010 08BD pop {r3, pc}
46 .L4:
47 0012 00BF .align 2
48 .L3:
49 0014 00000000 .word .LANCHOR0
50 .cfi_endproc
51 .LFE0:
53 .section .text.ComTask,"ax",%progbits
54 .align 2
55 .global ComTask
56 .thumb
57 .thumb_func
59 ComTask:
60 .LFB1:
81:../../../Source/com.c **** #endif
82:../../../Source/com.c **** #if (BOOT_COM_USB_ENABLE > 0)
83:../../../Source/com.c **** /* initialize the USB interface */
84:../../../Source/com.c **** UsbInit();
85:../../../Source/com.c **** /* set it as active */
86:../../../Source/com.c **** comActiveInterface = COM_IF_USB;
87:../../../Source/com.c **** #endif
88:../../../Source/com.c **** #if (BOOT_COM_NET_ENABLE > 0)
89:../../../Source/com.c **** /* initialize the TCP/IP interface */
90:../../../Source/com.c **** NetInit();
91:../../../Source/com.c **** /* set it as active */
92:../../../Source/com.c **** comActiveInterface = COM_IF_NET;
93:../../../Source/com.c **** #endif
94:../../../Source/com.c **** } /*** end of ComInit ***/
95:../../../Source/com.c ****
96:../../../Source/com.c ****
97:../../../Source/com.c **** /************************************************************************************//**
98:../../../Source/com.c **** ** \brief Updates the communication module by checking if new data was received
99:../../../Source/com.c **** ** and submitting the request to process newly received data.
100:../../../Source/com.c **** ** \return none
101:../../../Source/com.c **** **
102:../../../Source/com.c **** ****************************************************************************************/
103:../../../Source/com.c **** void ComTask(void)
104:../../../Source/com.c **** {
61 .loc 1 104 0
62 .cfi_startproc
63 @ args = 0, pretend = 0, frame = 0
64 @ frame_needed = 0, uses_anonymous_args = 0
65 0000 08B5 push {r3, lr}
66 .cfi_def_cfa_offset 8
67 .cfi_offset 3, -8
68 .cfi_offset 14, -4
105:../../../Source/com.c **** /* make xcpCtoReqPacket static for runtime efficiency */
106:../../../Source/com.c **** static blt_int8u xcpCtoReqPacket[BOOT_COM_RX_MAX_DATA];
107:../../../Source/com.c ****
108:../../../Source/com.c **** #if (BOOT_COM_CAN_ENABLE > 0)
109:../../../Source/com.c **** if (CanReceivePacket(&xcpCtoReqPacket[0]) == BLT_TRUE)
110:../../../Source/com.c **** {
111:../../../Source/com.c **** /* make this the active interface */
112:../../../Source/com.c **** comActiveInterface = COM_IF_CAN;
113:../../../Source/com.c **** /* process packet */
114:../../../Source/com.c **** XcpPacketReceived(&xcpCtoReqPacket[0]);
115:../../../Source/com.c **** }
116:../../../Source/com.c **** #endif
117:../../../Source/com.c **** #if (BOOT_COM_UART_ENABLE > 0)
118:../../../Source/com.c **** if (UartReceivePacket(&xcpCtoReqPacket[0]) == BLT_TRUE)
69 .loc 1 118 0
70 0002 0648 ldr r0, .L8
71 0004 FFF7FEFF bl UartReceivePacket
72 .LVL2:
73 0008 0128 cmp r0, #1
74 000a 05D1 bne .L5
119:../../../Source/com.c **** {
120:../../../Source/com.c **** /* make this the active interface */
121:../../../Source/com.c **** comActiveInterface = COM_IF_UART;
75 .loc 1 121 0
76 000c 0022 movs r2, #0
77 000e 044B ldr r3, .L8+4
78 0010 1A70 strb r2, [r3]
122:../../../Source/com.c **** /* process packet */
123:../../../Source/com.c **** XcpPacketReceived(&xcpCtoReqPacket[0]);
79 .loc 1 123 0
80 0012 0248 ldr r0, .L8
81 0014 FFF7FEFF bl XcpPacketReceived
82 .LVL3:
83 .L5:
84 0018 08BD pop {r3, pc}
85 .L9:
86 001a 00BF .align 2
87 .L8:
88 001c 00000000 .word .LANCHOR1
89 0020 00000000 .word .LANCHOR0
90 .cfi_endproc
91 .LFE1:
93 .section .text.ComFree,"ax",%progbits
94 .align 2
95 .global ComFree
96 .thumb
97 .thumb_func
99 ComFree:
100 .LFB2:
124:../../../Source/com.c **** }
125:../../../Source/com.c **** #endif
126:../../../Source/com.c **** #if (BOOT_COM_USB_ENABLE > 0)
127:../../../Source/com.c **** if (UsbReceivePacket(&xcpCtoReqPacket[0]) == BLT_TRUE)
128:../../../Source/com.c **** {
129:../../../Source/com.c **** /* make this the active interface */
130:../../../Source/com.c **** comActiveInterface = COM_IF_USB;
131:../../../Source/com.c **** /* process packet */
132:../../../Source/com.c **** XcpPacketReceived(&xcpCtoReqPacket[0]);
133:../../../Source/com.c **** }
134:../../../Source/com.c **** #endif
135:../../../Source/com.c **** #if (BOOT_COM_NET_ENABLE > 0)
136:../../../Source/com.c **** if (NetReceivePacket(&xcpCtoReqPacket[0]) == BLT_TRUE)
137:../../../Source/com.c **** {
138:../../../Source/com.c **** /* make this the active interface */
139:../../../Source/com.c **** comActiveInterface = COM_IF_NET;
140:../../../Source/com.c **** /* process packet */
141:../../../Source/com.c **** XcpPacketReceived(&xcpCtoReqPacket[0]);
142:../../../Source/com.c **** }
143:../../../Source/com.c **** #endif
144:../../../Source/com.c **** } /*** end of ComTask ***/
145:../../../Source/com.c ****
146:../../../Source/com.c ****
147:../../../Source/com.c **** /************************************************************************************//**
148:../../../Source/com.c **** ** \brief Releases the communication module.
149:../../../Source/com.c **** ** \return none
150:../../../Source/com.c **** **
151:../../../Source/com.c **** ****************************************************************************************/
152:../../../Source/com.c **** void ComFree(void)
153:../../../Source/com.c **** {
101 .loc 1 153 0
102 .cfi_startproc
103 @ args = 0, pretend = 0, frame = 0
104 @ frame_needed = 0, uses_anonymous_args = 0
105 @ link register save eliminated.
106 0000 7047 bx lr
107 .cfi_endproc
108 .LFE2:
110 0002 00BF .section .text.ComTransmitPacket,"ax",%progbits
111 .align 2
112 .global ComTransmitPacket
113 .thumb
114 .thumb_func
116 ComTransmitPacket:
117 .LFB3:
154:../../../Source/com.c **** #if (BOOT_COM_USB_ENABLE > 0)
155:../../../Source/com.c **** /* disconnect the usb device from the usb host */
156:../../../Source/com.c **** UsbFree();
157:../../../Source/com.c **** #endif
158:../../../Source/com.c **** } /*** end of ComFree ***/
159:../../../Source/com.c ****
160:../../../Source/com.c ****
161:../../../Source/com.c **** /************************************************************************************//**
162:../../../Source/com.c **** ** \brief Transmits the packet using the xcp transport layer.
163:../../../Source/com.c **** ** \param data Pointer to the byte buffer with packet data.
164:../../../Source/com.c **** ** \param len Number of data bytes that need to be transmitted.
165:../../../Source/com.c **** ** \return none
166:../../../Source/com.c **** **
167:../../../Source/com.c **** ****************************************************************************************/
168:../../../Source/com.c **** void ComTransmitPacket(blt_int8u *data, blt_int16u len)
169:../../../Source/com.c **** {
118 .loc 1 169 0
119 .cfi_startproc
120 @ args = 0, pretend = 0, frame = 0
121 @ frame_needed = 0, uses_anonymous_args = 0
122 .LVL4:
123 .loc 1 169 0
124 0000 08B5 push {r3, lr}
125 .cfi_def_cfa_offset 8
126 .cfi_offset 3, -8
127 .cfi_offset 14, -4
170:../../../Source/com.c **** #if (BOOT_COM_CAN_ENABLE > 0)
171:../../../Source/com.c **** /* transmit the packet. note that len is limited to 8 in the plausibility check,
172:../../../Source/com.c **** * so cast is okay.
173:../../../Source/com.c **** */
174:../../../Source/com.c **** if (comActiveInterface == COM_IF_CAN)
175:../../../Source/com.c **** {
176:../../../Source/com.c **** CanTransmitPacket(data, (blt_int8u)len);
177:../../../Source/com.c **** }
178:../../../Source/com.c **** #endif
179:../../../Source/com.c **** #if (BOOT_COM_UART_ENABLE > 0)
180:../../../Source/com.c **** /* transmit the packet. note that len is limited to 255 in the plausibility check,
181:../../../Source/com.c **** * so cast is okay.
182:../../../Source/com.c **** */
183:../../../Source/com.c **** if (comActiveInterface == COM_IF_UART)
128 .loc 1 183 0
129 0002 044B ldr r3, .L14
130 0004 1B78 ldrb r3, [r3] @ zero_extendqisi2
131 0006 13B9 cbnz r3, .L12
184:../../../Source/com.c **** {
185:../../../Source/com.c **** UartTransmitPacket(data, (blt_int8u)len);
132 .loc 1 185 0
133 0008 C9B2 uxtb r1, r1
134 .LVL5:
135 000a FFF7FEFF bl UartTransmitPacket
136 .LVL6:
137 .L12:
186:../../../Source/com.c **** }
187:../../../Source/com.c **** #endif
188:../../../Source/com.c **** #if (BOOT_COM_USB_ENABLE > 0)
189:../../../Source/com.c **** /* transmit the packet */
190:../../../Source/com.c **** if (comActiveInterface == COM_IF_USB)
191:../../../Source/com.c **** {
192:../../../Source/com.c **** UsbTransmitPacket(data, len);
193:../../../Source/com.c **** }
194:../../../Source/com.c **** #endif
195:../../../Source/com.c **** #if (BOOT_COM_NET_ENABLE > 0)
196:../../../Source/com.c **** if (comActiveInterface == COM_IF_NET)
197:../../../Source/com.c **** {
198:../../../Source/com.c **** /* transmit the packet */
199:../../../Source/com.c **** NetTransmitPacket(data, len);
200:../../../Source/com.c **** }
201:../../../Source/com.c **** #endif
202:../../../Source/com.c ****
203:../../../Source/com.c **** /* send signal that the packet was transmitted */
204:../../../Source/com.c **** XcpPacketTransmitted();
138 .loc 1 204 0
139 000e FFF7FEFF bl XcpPacketTransmitted
140 .LVL7:
141 0012 08BD pop {r3, pc}
142 .L15:
143 .align 2
144 .L14:
145 0014 00000000 .word .LANCHOR0
146 .cfi_endproc
147 .LFE3:
149 .section .text.ComGetActiveInterfaceMaxRxLen,"ax",%progbits
150 .align 2
151 .global ComGetActiveInterfaceMaxRxLen
152 .thumb
153 .thumb_func
155 ComGetActiveInterfaceMaxRxLen:
156 .LFB4:
205:../../../Source/com.c **** } /*** end of ComTransmitPacket ***/
206:../../../Source/com.c ****
207:../../../Source/com.c ****
208:../../../Source/com.c **** /************************************************************************************//**
209:../../../Source/com.c **** ** \brief Obtains the maximum number of bytes that can be received on the specified
210:../../../Source/com.c **** ** communication interface.
211:../../../Source/com.c **** ** \return Maximum number of bytes that can be received.
212:../../../Source/com.c **** **
213:../../../Source/com.c **** ****************************************************************************************/
214:../../../Source/com.c **** blt_int16u ComGetActiveInterfaceMaxRxLen(void)
215:../../../Source/com.c **** {
157 .loc 1 215 0
158 .cfi_startproc
159 @ args = 0, pretend = 0, frame = 0
160 @ frame_needed = 0, uses_anonymous_args = 0
161 @ link register save eliminated.
216:../../../Source/com.c **** blt_int16u result;
217:../../../Source/com.c ****
218:../../../Source/com.c **** /* filter on communication interface identifier */
219:../../../Source/com.c **** switch (comActiveInterface)
162 .loc 1 219 0
163 0000 074B ldr r3, .L22
164 0002 1B78 ldrb r3, [r3] @ zero_extendqisi2
165 0004 022B cmp r3, #2
166 0006 06D0 beq .L18
167 0008 032B cmp r3, #3
168 000a 06D0 beq .L19
169 000c 012B cmp r3, #1
220:../../../Source/com.c **** {
221:../../../Source/com.c **** case COM_IF_UART:
222:../../../Source/com.c **** result = BOOT_COM_UART_RX_MAX_DATA;
170 .loc 1 222 0
171 000e 0CBF ite eq
172 0010 0820 moveq r0, #8
173 0012 4020 movne r0, #64
174 0014 7047 bx lr
175 .L18:
176 .LVL8:
223:../../../Source/com.c **** break;
224:../../../Source/com.c ****
225:../../../Source/com.c **** case COM_IF_CAN:
226:../../../Source/com.c **** result = BOOT_COM_CAN_RX_MAX_DATA;
227:../../../Source/com.c **** break;
228:../../../Source/com.c ****
229:../../../Source/com.c **** case COM_IF_USB:
230:../../../Source/com.c **** result = BOOT_COM_USB_RX_MAX_DATA;
177 .loc 1 230 0
178 0016 0020 movs r0, #0
231:../../../Source/com.c **** break;
179 .loc 1 231 0
180 0018 7047 bx lr
181 .LVL9:
182 .L19:
232:../../../Source/com.c ****
233:../../../Source/com.c **** case COM_IF_NET:
234:../../../Source/com.c **** result = BOOT_COM_NET_RX_MAX_DATA;
183 .loc 1 234 0
184 001a 0020 movs r0, #0
185 .LVL10:
235:../../../Source/com.c **** break;
236:../../../Source/com.c ****
237:../../../Source/com.c **** default:
238:../../../Source/com.c **** result = BOOT_COM_RX_MAX_DATA;
239:../../../Source/com.c **** break;
240:../../../Source/com.c **** }
241:../../../Source/com.c ****
242:../../../Source/com.c **** return result;
243:../../../Source/com.c **** } /*** end of ComGetActiveInterfaceMaxRxLen ***/
186 .loc 1 243 0
187 001c 7047 bx lr
188 .L23:
189 001e 00BF .align 2
190 .L22:
191 0020 00000000 .word .LANCHOR0
192 .cfi_endproc
193 .LFE4:
195 .section .text.ComGetActiveInterfaceMaxTxLen,"ax",%progbits
196 .align 2
197 .global ComGetActiveInterfaceMaxTxLen
198 .thumb
199 .thumb_func
201 ComGetActiveInterfaceMaxTxLen:
202 .LFB5:
244:../../../Source/com.c ****
245:../../../Source/com.c ****
246:../../../Source/com.c **** /************************************************************************************//**
247:../../../Source/com.c **** ** \brief Obtains the maximum number of bytes that can be transmitted on the
248:../../../Source/com.c **** ** specified communication interface.
249:../../../Source/com.c **** ** \return Maximum number of bytes that can be received.
250:../../../Source/com.c **** **
251:../../../Source/com.c **** ****************************************************************************************/
252:../../../Source/com.c **** blt_int16u ComGetActiveInterfaceMaxTxLen(void)
253:../../../Source/com.c **** {
203 .loc 1 253 0
204 .cfi_startproc
205 @ args = 0, pretend = 0, frame = 0
206 @ frame_needed = 0, uses_anonymous_args = 0
207 @ link register save eliminated.
254:../../../Source/com.c **** blt_int16u result;
255:../../../Source/com.c ****
256:../../../Source/com.c **** /* filter on communication interface identifier */
257:../../../Source/com.c **** switch (comActiveInterface)
208 .loc 1 257 0
209 0000 074B ldr r3, .L30
210 0002 1B78 ldrb r3, [r3] @ zero_extendqisi2
211 0004 022B cmp r3, #2
212 0006 06D0 beq .L26
213 0008 032B cmp r3, #3
214 000a 06D0 beq .L27
215 000c 012B cmp r3, #1
258:../../../Source/com.c **** {
259:../../../Source/com.c **** case COM_IF_UART:
260:../../../Source/com.c **** result = BOOT_COM_UART_TX_MAX_DATA;
216 .loc 1 260 0
217 000e 0CBF ite eq
218 0010 0820 moveq r0, #8
219 0012 4020 movne r0, #64
220 0014 7047 bx lr
221 .L26:
222 .LVL11:
261:../../../Source/com.c **** break;
262:../../../Source/com.c ****
263:../../../Source/com.c **** case COM_IF_CAN:
264:../../../Source/com.c **** result = BOOT_COM_CAN_TX_MAX_DATA;
265:../../../Source/com.c **** break;
266:../../../Source/com.c ****
267:../../../Source/com.c **** case COM_IF_USB:
268:../../../Source/com.c **** result = BOOT_COM_USB_TX_MAX_DATA;
223 .loc 1 268 0
224 0016 0020 movs r0, #0
269:../../../Source/com.c **** break;
225 .loc 1 269 0
226 0018 7047 bx lr
227 .LVL12:
228 .L27:
270:../../../Source/com.c ****
271:../../../Source/com.c **** case COM_IF_NET:
272:../../../Source/com.c **** result = BOOT_COM_NET_TX_MAX_DATA;
229 .loc 1 272 0
230 001a 0020 movs r0, #0
231 .LVL13:
273:../../../Source/com.c **** break;
274:../../../Source/com.c ****
275:../../../Source/com.c **** default:
276:../../../Source/com.c **** result = BOOT_COM_TX_MAX_DATA;
277:../../../Source/com.c **** break;
278:../../../Source/com.c **** }
279:../../../Source/com.c ****
280:../../../Source/com.c **** return result;
281:../../../Source/com.c **** } /*** end of ComGetActiveInterfaceMaxTxLen ***/
232 .loc 1 281 0
233 001c 7047 bx lr
234 .L31:
235 001e 00BF .align 2
236 .L30:
237 0020 00000000 .word .LANCHOR0
238 .cfi_endproc
239 .LFE5:
241 .section .text.ComIsConnected,"ax",%progbits
242 .align 2
243 .global ComIsConnected
244 .thumb
245 .thumb_func
247 ComIsConnected:
248 .LFB6:
282:../../../Source/com.c ****
283:../../../Source/com.c ****
284:../../../Source/com.c **** /************************************************************************************//**
285:../../../Source/com.c **** ** \brief This function obtains the XCP connection state.
286:../../../Source/com.c **** ** \return BLT_TRUE when an XCP connection is established, BLT_FALSE otherwise.
287:../../../Source/com.c **** **
288:../../../Source/com.c **** ****************************************************************************************/
289:../../../Source/com.c **** blt_bool ComIsConnected(void)
290:../../../Source/com.c **** {
249 .loc 1 290 0
250 .cfi_startproc
251 @ args = 0, pretend = 0, frame = 0
252 @ frame_needed = 0, uses_anonymous_args = 0
253 0000 08B5 push {r3, lr}
254 .cfi_def_cfa_offset 8
255 .cfi_offset 3, -8
256 .cfi_offset 14, -4
291:../../../Source/com.c **** return XcpIsConnected();
257 .loc 1 291 0
258 0002 FFF7FEFF bl XcpIsConnected
259 .LVL14:
292:../../../Source/com.c **** } /*** end of ComIsConnected ***/
260 .loc 1 292 0
261 0006 08BD pop {r3, pc}
262 .cfi_endproc
263 .LFE6:
265 .section .data.comActiveInterface,"aw",%progbits
266 .set .LANCHOR0,. + 0
269 comActiveInterface:
270 0000 04 .byte 4
271 .section .bss.xcpCtoReqPacket.4189,"aw",%nobits
272 .align 2
273 .set .LANCHOR1,. + 0
276 xcpCtoReqPacket.4189:
277 0000 00000000 .space 64
277 00000000
277 00000000
277 00000000
277 00000000
278 .text
279 .Letext0:
280 .file 2 "../../../Source/ARMCM3_STM32/types.h"
281 .file 3 "../../../Source/com.h"
282 .file 4 "../../../Source/xcp.h"
283 .file 5 "../../../Source/ARMCM3_STM32/uart.h"
DEFINED SYMBOLS
*ABS*:00000000 com.c
C:\Users\lwngim1\AppData\Local\Temp\ccQn89P2.s:19 .text.ComInit:00000000 $t
C:\Users\lwngim1\AppData\Local\Temp\ccQn89P2.s:24 .text.ComInit:00000000 ComInit
C:\Users\lwngim1\AppData\Local\Temp\ccQn89P2.s:49 .text.ComInit:00000014 $d
C:\Users\lwngim1\AppData\Local\Temp\ccQn89P2.s:54 .text.ComTask:00000000 $t
C:\Users\lwngim1\AppData\Local\Temp\ccQn89P2.s:59 .text.ComTask:00000000 ComTask
C:\Users\lwngim1\AppData\Local\Temp\ccQn89P2.s:88 .text.ComTask:0000001c $d
C:\Users\lwngim1\AppData\Local\Temp\ccQn89P2.s:94 .text.ComFree:00000000 $t
C:\Users\lwngim1\AppData\Local\Temp\ccQn89P2.s:99 .text.ComFree:00000000 ComFree
C:\Users\lwngim1\AppData\Local\Temp\ccQn89P2.s:111 .text.ComTransmitPacket:00000000 $t
C:\Users\lwngim1\AppData\Local\Temp\ccQn89P2.s:116 .text.ComTransmitPacket:00000000 ComTransmitPacket
C:\Users\lwngim1\AppData\Local\Temp\ccQn89P2.s:145 .text.ComTransmitPacket:00000014 $d
C:\Users\lwngim1\AppData\Local\Temp\ccQn89P2.s:150 .text.ComGetActiveInterfaceMaxRxLen:00000000 $t
C:\Users\lwngim1\AppData\Local\Temp\ccQn89P2.s:155 .text.ComGetActiveInterfaceMaxRxLen:00000000 ComGetActiveInterfaceMaxRxLen
C:\Users\lwngim1\AppData\Local\Temp\ccQn89P2.s:191 .text.ComGetActiveInterfaceMaxRxLen:00000020 $d
C:\Users\lwngim1\AppData\Local\Temp\ccQn89P2.s:196 .text.ComGetActiveInterfaceMaxTxLen:00000000 $t
C:\Users\lwngim1\AppData\Local\Temp\ccQn89P2.s:201 .text.ComGetActiveInterfaceMaxTxLen:00000000 ComGetActiveInterfaceMaxTxLen
C:\Users\lwngim1\AppData\Local\Temp\ccQn89P2.s:237 .text.ComGetActiveInterfaceMaxTxLen:00000020 $d
C:\Users\lwngim1\AppData\Local\Temp\ccQn89P2.s:242 .text.ComIsConnected:00000000 $t
C:\Users\lwngim1\AppData\Local\Temp\ccQn89P2.s:247 .text.ComIsConnected:00000000 ComIsConnected
C:\Users\lwngim1\AppData\Local\Temp\ccQn89P2.s:269 .data.comActiveInterface:00000000 comActiveInterface
C:\Users\lwngim1\AppData\Local\Temp\ccQn89P2.s:272 .bss.xcpCtoReqPacket.4189:00000000 $d
C:\Users\lwngim1\AppData\Local\Temp\ccQn89P2.s:276 .bss.xcpCtoReqPacket.4189:00000000 xcpCtoReqPacket.4189
.debug_frame:00000010 $d
UNDEFINED SYMBOLS
XcpInit
UartInit
UartReceivePacket
XcpPacketReceived
UartTransmitPacket
XcpPacketTransmitted
XcpIsConnected