SLS/Software/build/stm32f0xx_hal_can.lst

6706 lines
413 KiB
Plaintext
Raw Normal View History

2024-11-03 13:02:53 +01:00
ARM GAS /tmp/ccftcnYc.s page 1
1 .cpu cortex-m0
2 .arch armv6s-m
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, 0
12 .eabi_attribute 18, 4
13 .file "stm32f0xx_hal_can.c"
14 .text
15 .Ltext0:
16 .cfi_sections .debug_frame
17 .file 1 "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c"
18 .section .text.HAL_CAN_MspInit,"ax",%progbits
19 .align 1
20 .weak HAL_CAN_MspInit
21 .syntax unified
22 .code 16
23 .thumb_func
25 HAL_CAN_MspInit:
26 .LVL0:
27 .LFB42:
1:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /**
2:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** ******************************************************************************
3:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @file stm32f0xx_hal_can.c
4:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @author MCD Application Team
5:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @brief CAN HAL module driver.
6:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * This file provides firmware functions to manage the following
7:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * functionalities of the Controller Area Network (CAN) peripheral:
8:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * + Initialization and de-initialization functions
9:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * + Configuration functions
10:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * + Control functions
11:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * + Interrupts management
12:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * + Callbacks functions
13:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * + Peripheral State and Error functions
14:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** *
15:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** ******************************************************************************
16:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @attention
17:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** *
18:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * Copyright (c) 2016 STMicroelectronics.
19:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * All rights reserved.
20:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** *
21:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * This software is licensed under terms that can be found in the LICENSE file
22:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * in the root directory of this software component.
23:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * If no LICENSE file comes with this software, it is provided AS-IS.
24:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** *
25:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** ******************************************************************************
26:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** @verbatim
27:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** ==============================================================================
28:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** ##### How to use this driver #####
29:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** ==============================================================================
30:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** [..]
31:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (#) Initialize the CAN low level resources by implementing the
ARM GAS /tmp/ccftcnYc.s page 2
32:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** HAL_CAN_MspInit():
33:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (++) Enable the CAN interface clock using __HAL_RCC_CANx_CLK_ENABLE()
34:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (++) Configure CAN pins
35:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (+++) Enable the clock for the CAN GPIOs
36:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (+++) Configure CAN pins as alternate function open-drain
37:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (++) In case of using interrupts (e.g. HAL_CAN_ActivateNotification())
38:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (+++) Configure the CAN interrupt priority using
39:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** HAL_NVIC_SetPriority()
40:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (+++) Enable the CAN IRQ handler using HAL_NVIC_EnableIRQ()
41:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (+++) In CAN IRQ handler, call HAL_CAN_IRQHandler()
42:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
43:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (#) Initialize the CAN peripheral using HAL_CAN_Init() function. This
44:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** function resorts to HAL_CAN_MspInit() for low-level initialization.
45:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
46:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (#) Configure the reception filters using the following configuration
47:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** functions:
48:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (++) HAL_CAN_ConfigFilter()
49:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
50:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (#) Start the CAN module using HAL_CAN_Start() function. At this level
51:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** the node is active on the bus: it receive messages, and can send
52:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** messages.
53:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
54:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (#) To manage messages transmission, the following Tx control functions
55:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** can be used:
56:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (++) HAL_CAN_AddTxMessage() to request transmission of a new
57:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** message.
58:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (++) HAL_CAN_AbortTxRequest() to abort transmission of a pending
59:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** message.
60:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (++) HAL_CAN_GetTxMailboxesFreeLevel() to get the number of free Tx
61:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** mailboxes.
62:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (++) HAL_CAN_IsTxMessagePending() to check if a message is pending
63:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** in a Tx mailbox.
64:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (++) HAL_CAN_GetTxTimestamp() to get the timestamp of Tx message
65:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** sent, if time triggered communication mode is enabled.
66:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
67:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (#) When a message is received into the CAN Rx FIFOs, it can be retrieved
68:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** using the HAL_CAN_GetRxMessage() function. The function
69:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** HAL_CAN_GetRxFifoFillLevel() allows to know how many Rx message are
70:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** stored in the Rx Fifo.
71:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
72:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (#) Calling the HAL_CAN_Stop() function stops the CAN module.
73:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
74:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (#) The deinitialization is achieved with HAL_CAN_DeInit() function.
75:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
76:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
77:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** *** Polling mode operation ***
78:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** ==============================
79:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** [..]
80:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (#) Reception:
81:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (++) Monitor reception of message using HAL_CAN_GetRxFifoFillLevel()
82:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** until at least one message is received.
83:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (++) Then get the message using HAL_CAN_GetRxMessage().
84:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
85:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (#) Transmission:
86:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (++) Monitor the Tx mailboxes availability until at least one Tx
87:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** mailbox is free, using HAL_CAN_GetTxMailboxesFreeLevel().
88:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (++) Then request transmission of a message using
ARM GAS /tmp/ccftcnYc.s page 3
89:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** HAL_CAN_AddTxMessage().
90:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
91:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
92:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** *** Interrupt mode operation ***
93:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** ================================
94:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** [..]
95:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (#) Notifications are activated using HAL_CAN_ActivateNotification()
96:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** function. Then, the process can be controlled through the
97:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** available user callbacks: HAL_CAN_xxxCallback(), using same APIs
98:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** HAL_CAN_GetRxMessage() and HAL_CAN_AddTxMessage().
99:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (#) Notifications can be deactivated using
101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** HAL_CAN_DeactivateNotification() function.
102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (#) Special care should be taken for CAN_IT_RX_FIFO0_MSG_PENDING and
104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** CAN_IT_RX_FIFO1_MSG_PENDING notifications. These notifications trig
105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** the callbacks HAL_CAN_RxFIFO0MsgPendingCallback() and
106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** HAL_CAN_RxFIFO1MsgPendingCallback(). User has two possible options
107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** here.
108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (++) Directly get the Rx message in the callback, using
109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** HAL_CAN_GetRxMessage().
110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (++) Or deactivate the notification in the callback without
111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** getting the Rx message. The Rx message can then be got later
112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** using HAL_CAN_GetRxMessage(). Once the Rx message have been
113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** read, the notification can be activated again.
114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** *** Sleep mode ***
117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** ==================
118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** [..]
119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (#) The CAN peripheral can be put in sleep mode (low power), using
120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** HAL_CAN_RequestSleep(). The sleep mode will be entered as soon as the
121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** current CAN activity (transmission or reception of a CAN frame) will
122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** be completed.
123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (#) A notification can be activated to be informed when the sleep mode
125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** will be entered.
126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (#) It can be checked if the sleep mode is entered using
128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** HAL_CAN_IsSleepActive().
129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** Note that the CAN state (accessible from the API HAL_CAN_GetState())
130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** is HAL_CAN_STATE_SLEEP_PENDING as soon as the sleep mode request is
131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** submitted (the sleep mode is not yet entered), and become
132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** HAL_CAN_STATE_SLEEP_ACTIVE when the sleep mode is effective.
133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (#) The wake-up from sleep mode can be triggered by two ways:
135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (++) Using HAL_CAN_WakeUp(). When returning from this function,
136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** the sleep mode is exited (if return status is HAL_OK).
137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (++) When a start of Rx CAN frame is detected by the CAN peripheral,
138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if automatic wake up mode is enabled.
139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** *** Callback registration ***
141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** =============================================
142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** The compilation define USE_HAL_CAN_REGISTER_CALLBACKS when set to 1
144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** allows the user to configure dynamically the driver callbacks.
145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** Use Function HAL_CAN_RegisterCallback() to register an interrupt callback.
ARM GAS /tmp/ccftcnYc.s page 4
146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** Function HAL_CAN_RegisterCallback() allows to register following callbacks:
148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (+) TxMailbox0CompleteCallback : Tx Mailbox 0 Complete Callback.
149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (+) TxMailbox1CompleteCallback : Tx Mailbox 1 Complete Callback.
150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (+) TxMailbox2CompleteCallback : Tx Mailbox 2 Complete Callback.
151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (+) TxMailbox0AbortCallback : Tx Mailbox 0 Abort Callback.
152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (+) TxMailbox1AbortCallback : Tx Mailbox 1 Abort Callback.
153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (+) TxMailbox2AbortCallback : Tx Mailbox 2 Abort Callback.
154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (+) RxFifo0MsgPendingCallback : Rx Fifo 0 Message Pending Callback.
155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (+) RxFifo0FullCallback : Rx Fifo 0 Full Callback.
156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (+) RxFifo1MsgPendingCallback : Rx Fifo 1 Message Pending Callback.
157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (+) RxFifo1FullCallback : Rx Fifo 1 Full Callback.
158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (+) SleepCallback : Sleep Callback.
159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (+) WakeUpFromRxMsgCallback : Wake Up From Rx Message Callback.
160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (+) ErrorCallback : Error Callback.
161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (+) MspInitCallback : CAN MspInit.
162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (+) MspDeInitCallback : CAN MspDeInit.
163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** This function takes as parameters the HAL peripheral handle, the Callback ID
164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** and a pointer to the user callback function.
165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** Use function HAL_CAN_UnRegisterCallback() to reset a callback to the default
167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** weak function.
168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** HAL_CAN_UnRegisterCallback takes as parameters the HAL peripheral handle,
169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** and the Callback ID.
170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** This function allows to reset following callbacks:
171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (+) TxMailbox0CompleteCallback : Tx Mailbox 0 Complete Callback.
172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (+) TxMailbox1CompleteCallback : Tx Mailbox 1 Complete Callback.
173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (+) TxMailbox2CompleteCallback : Tx Mailbox 2 Complete Callback.
174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (+) TxMailbox0AbortCallback : Tx Mailbox 0 Abort Callback.
175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (+) TxMailbox1AbortCallback : Tx Mailbox 1 Abort Callback.
176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (+) TxMailbox2AbortCallback : Tx Mailbox 2 Abort Callback.
177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (+) RxFifo0MsgPendingCallback : Rx Fifo 0 Message Pending Callback.
178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (+) RxFifo0FullCallback : Rx Fifo 0 Full Callback.
179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (+) RxFifo1MsgPendingCallback : Rx Fifo 1 Message Pending Callback.
180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (+) RxFifo1FullCallback : Rx Fifo 1 Full Callback.
181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (+) SleepCallback : Sleep Callback.
182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (+) WakeUpFromRxMsgCallback : Wake Up From Rx Message Callback.
183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (+) ErrorCallback : Error Callback.
184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (+) MspInitCallback : CAN MspInit.
185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (+) MspDeInitCallback : CAN MspDeInit.
186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** By default, after the HAL_CAN_Init() and when the state is HAL_CAN_STATE_RESET,
188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** all callbacks are set to the corresponding weak functions:
189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** example HAL_CAN_ErrorCallback().
190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** Exception done for MspInit and MspDeInit functions that are
191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** reset to the legacy weak function in the HAL_CAN_Init()/ HAL_CAN_DeInit() only when
192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** these callbacks are null (not registered beforehand).
193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if not, MspInit or MspDeInit are not null, the HAL_CAN_Init()/ HAL_CAN_DeInit()
194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** keep and use the user MspInit/MspDeInit callbacks (registered beforehand)
195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** Callbacks can be registered/unregistered in HAL_CAN_STATE_READY state only.
197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** Exception done MspInit/MspDeInit that can be registered/unregistered
198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** in HAL_CAN_STATE_READY or HAL_CAN_STATE_RESET state,
199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** thus registered (user) MspInit/DeInit callbacks can be used during the Init/DeInit.
200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** In that case first register the MspInit/MspDeInit user callbacks
201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** using HAL_CAN_RegisterCallback() before calling HAL_CAN_DeInit()
202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** or HAL_CAN_Init() function.
ARM GAS /tmp/ccftcnYc.s page 5
203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** When The compilation define USE_HAL_CAN_REGISTER_CALLBACKS is set to 0 or
205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** not defined, the callback registration feature is not available and all callbacks
206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** are set to the corresponding weak functions.
207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** @endverbatim
209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** ******************************************************************************
210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** */
211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Includes ------------------------------------------------------------------*/
213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** #include "stm32f0xx_hal.h"
214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /** @addtogroup STM32F0xx_HAL_Driver
216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @{
217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** */
218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** #if defined(CAN)
220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /** @defgroup CAN CAN
222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @brief CAN driver modules
223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @{
224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** */
225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** #ifdef HAL_CAN_MODULE_ENABLED
227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** #ifdef HAL_CAN_LEGACY_MODULE_ENABLED
229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** #error "The CAN driver cannot be used with its legacy, Please enable only one CAN module at once"
230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** #endif /* HAL_CAN_LEGACY_MODULE_ENABLED */
231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Private typedef -----------------------------------------------------------*/
233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Private define ------------------------------------------------------------*/
234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /** @defgroup CAN_Private_Constants CAN Private Constants
235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @{
236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** */
237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** #define CAN_TIMEOUT_VALUE 10U
238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /**
239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @}
240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** */
241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Private macro -------------------------------------------------------------*/
242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Private variables ---------------------------------------------------------*/
243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Private function prototypes -----------------------------------------------*/
244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Exported functions --------------------------------------------------------*/
245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /** @defgroup CAN_Exported_Functions CAN Exported Functions
247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @{
248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** */
249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /** @defgroup CAN_Exported_Functions_Group1 Initialization and de-initialization functions
251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @brief Initialization and Configuration functions
252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** *
253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** @verbatim
254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** ==============================================================================
255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** ##### Initialization and de-initialization functions #####
256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** ==============================================================================
257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** [..] This section provides functions allowing to:
258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (+) HAL_CAN_Init : Initialize and configure the CAN.
259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (+) HAL_CAN_DeInit : De-initialize the CAN.
ARM GAS /tmp/ccftcnYc.s page 6
260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (+) HAL_CAN_MspInit : Initialize the CAN MSP.
261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (+) HAL_CAN_MspDeInit : DeInitialize the CAN MSP.
262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** @endverbatim
264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @{
265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** */
266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /**
268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @brief Initializes the CAN peripheral according to the specified
269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * parameters in the CAN_InitStruct.
270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * the configuration information for the specified CAN.
272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @retval HAL status
273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** */
274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_Init(CAN_HandleTypeDef *hcan)
275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** uint32_t tickstart;
277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Check CAN handle */
279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if (hcan == NULL)
280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** return HAL_ERROR;
282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Check the parameters */
285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** assert_param(IS_CAN_ALL_INSTANCE(hcan->Instance));
286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** assert_param(IS_FUNCTIONAL_STATE(hcan->Init.TimeTriggeredMode));
287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** assert_param(IS_FUNCTIONAL_STATE(hcan->Init.AutoBusOff));
288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** assert_param(IS_FUNCTIONAL_STATE(hcan->Init.AutoWakeUp));
289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** assert_param(IS_FUNCTIONAL_STATE(hcan->Init.AutoRetransmission));
290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** assert_param(IS_FUNCTIONAL_STATE(hcan->Init.ReceiveFifoLocked));
291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** assert_param(IS_FUNCTIONAL_STATE(hcan->Init.TransmitFifoPriority));
292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** assert_param(IS_CAN_MODE(hcan->Init.Mode));
293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** assert_param(IS_CAN_SJW(hcan->Init.SyncJumpWidth));
294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** assert_param(IS_CAN_BS1(hcan->Init.TimeSeg1));
295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** assert_param(IS_CAN_BS2(hcan->Init.TimeSeg2));
296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** assert_param(IS_CAN_PRESCALER(hcan->Init.Prescaler));
297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if (hcan->State == HAL_CAN_STATE_RESET)
300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Reset callbacks to legacy functions */
302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->RxFifo0MsgPendingCallback = HAL_CAN_RxFifo0MsgPendingCallback; /* Legacy weak RxFifo0M
303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->RxFifo0FullCallback = HAL_CAN_RxFifo0FullCallback; /* Legacy weak RxFifo0F
304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->RxFifo1MsgPendingCallback = HAL_CAN_RxFifo1MsgPendingCallback; /* Legacy weak RxFifo1M
305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->RxFifo1FullCallback = HAL_CAN_RxFifo1FullCallback; /* Legacy weak RxFifo1F
306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->TxMailbox0CompleteCallback = HAL_CAN_TxMailbox0CompleteCallback; /* Legacy weak TxMailbo
307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->TxMailbox1CompleteCallback = HAL_CAN_TxMailbox1CompleteCallback; /* Legacy weak TxMailbo
308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->TxMailbox2CompleteCallback = HAL_CAN_TxMailbox2CompleteCallback; /* Legacy weak TxMailbo
309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->TxMailbox0AbortCallback = HAL_CAN_TxMailbox0AbortCallback; /* Legacy weak TxMailbo
310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->TxMailbox1AbortCallback = HAL_CAN_TxMailbox1AbortCallback; /* Legacy weak TxMailbo
311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->TxMailbox2AbortCallback = HAL_CAN_TxMailbox2AbortCallback; /* Legacy weak TxMailbo
312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->SleepCallback = HAL_CAN_SleepCallback; /* Legacy weak SleepCal
313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->WakeUpFromRxMsgCallback = HAL_CAN_WakeUpFromRxMsgCallback; /* Legacy weak WakeUpFr
314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->ErrorCallback = HAL_CAN_ErrorCallback; /* Legacy weak ErrorCal
315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if (hcan->MspInitCallback == NULL)
ARM GAS /tmp/ccftcnYc.s page 7
317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->MspInitCallback = HAL_CAN_MspInit; /* Legacy weak MspInit */
319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Init the low level hardware: CLOCK, NVIC */
322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->MspInitCallback(hcan);
323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** #else
326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if (hcan->State == HAL_CAN_STATE_RESET)
327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Init the low level hardware: CLOCK, NVIC */
329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** HAL_CAN_MspInit(hcan);
330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** #endif /* (USE_HAL_CAN_REGISTER_CALLBACKS) */
332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Request initialisation */
334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** SET_BIT(hcan->Instance->MCR, CAN_MCR_INRQ);
335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Get tick */
337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** tickstart = HAL_GetTick();
338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Wait initialisation acknowledge */
340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** while ((hcan->Instance->MSR & CAN_MSR_INAK) == 0U)
341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if ((HAL_GetTick() - tickstart) > CAN_TIMEOUT_VALUE)
343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Update error code */
345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_TIMEOUT;
346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Change CAN state */
348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->State = HAL_CAN_STATE_ERROR;
349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** return HAL_ERROR;
351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Exit from sleep mode */
355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** CLEAR_BIT(hcan->Instance->MCR, CAN_MCR_SLEEP);
356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Get tick */
358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** tickstart = HAL_GetTick();
359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Check Sleep mode leave acknowledge */
361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** while ((hcan->Instance->MSR & CAN_MSR_SLAK) != 0U)
362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if ((HAL_GetTick() - tickstart) > CAN_TIMEOUT_VALUE)
364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Update error code */
366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_TIMEOUT;
367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Change CAN state */
369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->State = HAL_CAN_STATE_ERROR;
370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** return HAL_ERROR;
372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
ARM GAS /tmp/ccftcnYc.s page 8
374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Set the time triggered communication mode */
376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if (hcan->Init.TimeTriggeredMode == ENABLE)
377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** SET_BIT(hcan->Instance->MCR, CAN_MCR_TTCM);
379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** else
381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** CLEAR_BIT(hcan->Instance->MCR, CAN_MCR_TTCM);
383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Set the automatic bus-off management */
386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if (hcan->Init.AutoBusOff == ENABLE)
387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** SET_BIT(hcan->Instance->MCR, CAN_MCR_ABOM);
389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** else
391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** CLEAR_BIT(hcan->Instance->MCR, CAN_MCR_ABOM);
393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Set the automatic wake-up mode */
396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if (hcan->Init.AutoWakeUp == ENABLE)
397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** SET_BIT(hcan->Instance->MCR, CAN_MCR_AWUM);
399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** else
401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** CLEAR_BIT(hcan->Instance->MCR, CAN_MCR_AWUM);
403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Set the automatic retransmission */
406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if (hcan->Init.AutoRetransmission == ENABLE)
407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** CLEAR_BIT(hcan->Instance->MCR, CAN_MCR_NART);
409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** else
411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** SET_BIT(hcan->Instance->MCR, CAN_MCR_NART);
413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Set the receive FIFO locked mode */
416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if (hcan->Init.ReceiveFifoLocked == ENABLE)
417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** SET_BIT(hcan->Instance->MCR, CAN_MCR_RFLM);
419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** else
421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** CLEAR_BIT(hcan->Instance->MCR, CAN_MCR_RFLM);
423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Set the transmit FIFO priority */
426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if (hcan->Init.TransmitFifoPriority == ENABLE)
427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** SET_BIT(hcan->Instance->MCR, CAN_MCR_TXFP);
429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** else
ARM GAS /tmp/ccftcnYc.s page 9
431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** CLEAR_BIT(hcan->Instance->MCR, CAN_MCR_TXFP);
433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Set the bit timing register */
436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** WRITE_REG(hcan->Instance->BTR, (uint32_t)(hcan->Init.Mode |
437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->Init.SyncJumpWidth |
438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->Init.TimeSeg1 |
439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->Init.TimeSeg2 |
440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (hcan->Init.Prescaler - 1U)));
441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Initialize the error code */
443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->ErrorCode = HAL_CAN_ERROR_NONE;
444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Initialize the CAN state */
446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->State = HAL_CAN_STATE_READY;
447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Return function status */
449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** return HAL_OK;
450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /**
453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @brief Deinitializes the CAN peripheral registers to their default
454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * reset values.
455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * the configuration information for the specified CAN.
457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @retval HAL status
458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** */
459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_DeInit(CAN_HandleTypeDef *hcan)
460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Check CAN handle */
462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if (hcan == NULL)
463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** return HAL_ERROR;
465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Check the parameters */
468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** assert_param(IS_CAN_ALL_INSTANCE(hcan->Instance));
469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Stop the CAN module */
471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (void)HAL_CAN_Stop(hcan);
472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if (hcan->MspDeInitCallback == NULL)
475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->MspDeInitCallback = HAL_CAN_MspDeInit; /* Legacy weak MspDeInit */
477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* DeInit the low level hardware: CLOCK, NVIC */
480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->MspDeInitCallback(hcan);
481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** #else
483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* DeInit the low level hardware: CLOCK, NVIC */
484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** HAL_CAN_MspDeInit(hcan);
485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** #endif /* (USE_HAL_CAN_REGISTER_CALLBACKS) */
486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Reset the CAN peripheral */
ARM GAS /tmp/ccftcnYc.s page 10
488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** SET_BIT(hcan->Instance->MCR, CAN_MCR_RESET);
489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Reset the CAN ErrorCode */
491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->ErrorCode = HAL_CAN_ERROR_NONE;
492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Change CAN state */
494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->State = HAL_CAN_STATE_RESET;
495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Return function status */
497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** return HAL_OK;
498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /**
501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @brief Initializes the CAN MSP.
502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * the configuration information for the specified CAN.
504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @retval None
505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** */
506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** __weak void HAL_CAN_MspInit(CAN_HandleTypeDef *hcan)
507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
28 .loc 1 507 1 view -0
29 .cfi_startproc
30 @ args = 0, pretend = 0, frame = 0
31 @ frame_needed = 0, uses_anonymous_args = 0
32 @ link register save eliminated.
508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** UNUSED(hcan);
33 .loc 1 509 3 view .LVU1
510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** the HAL_CAN_MspInit could be implemented in the user file
513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** */
514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
34 .loc 1 514 1 is_stmt 0 view .LVU2
35 @ sp needed
36 0000 7047 bx lr
37 .cfi_endproc
38 .LFE42:
40 .section .text.HAL_CAN_Init,"ax",%progbits
41 .align 1
42 .global HAL_CAN_Init
43 .syntax unified
44 .code 16
45 .thumb_func
47 HAL_CAN_Init:
48 .LVL1:
49 .LFB40:
275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** uint32_t tickstart;
50 .loc 1 275 1 is_stmt 1 view -0
51 .cfi_startproc
52 @ args = 0, pretend = 0, frame = 0
53 @ frame_needed = 0, uses_anonymous_args = 0
275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** uint32_t tickstart;
54 .loc 1 275 1 is_stmt 0 view .LVU4
55 0000 70B5 push {r4, r5, r6, lr}
56 .cfi_def_cfa_offset 16
57 .cfi_offset 4, -16
ARM GAS /tmp/ccftcnYc.s page 11
58 .cfi_offset 5, -12
59 .cfi_offset 6, -8
60 .cfi_offset 14, -4
61 0002 041E subs r4, r0, #0
276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
62 .loc 1 276 3 is_stmt 1 view .LVU5
279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
63 .loc 1 279 3 view .LVU6
279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
64 .loc 1 279 6 is_stmt 0 view .LVU7
65 0004 00D1 bne .LCB27
66 0006 A0E0 b .L21 @long jump
67 .LCB27:
285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** assert_param(IS_FUNCTIONAL_STATE(hcan->Init.TimeTriggeredMode));
68 .loc 1 285 3 is_stmt 1 view .LVU8
286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** assert_param(IS_FUNCTIONAL_STATE(hcan->Init.AutoBusOff));
69 .loc 1 286 3 view .LVU9
287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** assert_param(IS_FUNCTIONAL_STATE(hcan->Init.AutoWakeUp));
70 .loc 1 287 3 view .LVU10
288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** assert_param(IS_FUNCTIONAL_STATE(hcan->Init.AutoRetransmission));
71 .loc 1 288 3 view .LVU11
289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** assert_param(IS_FUNCTIONAL_STATE(hcan->Init.ReceiveFifoLocked));
72 .loc 1 289 3 view .LVU12
290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** assert_param(IS_FUNCTIONAL_STATE(hcan->Init.TransmitFifoPriority));
73 .loc 1 290 3 view .LVU13
291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** assert_param(IS_CAN_MODE(hcan->Init.Mode));
74 .loc 1 291 3 view .LVU14
292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** assert_param(IS_CAN_SJW(hcan->Init.SyncJumpWidth));
75 .loc 1 292 3 view .LVU15
293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** assert_param(IS_CAN_BS1(hcan->Init.TimeSeg1));
76 .loc 1 293 3 view .LVU16
294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** assert_param(IS_CAN_BS2(hcan->Init.TimeSeg2));
77 .loc 1 294 3 view .LVU17
295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** assert_param(IS_CAN_PRESCALER(hcan->Init.Prescaler));
78 .loc 1 295 3 view .LVU18
296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
79 .loc 1 296 3 view .LVU19
326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
80 .loc 1 326 3 view .LVU20
326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
81 .loc 1 326 11 is_stmt 0 view .LVU21
82 0008 2023 movs r3, #32
83 000a C35C ldrb r3, [r0, r3]
326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
84 .loc 1 326 6 view .LVU22
85 000c 002B cmp r3, #0
86 000e 1AD0 beq .L22
87 .LVL2:
88 .L4:
334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
89 .loc 1 334 3 is_stmt 1 view .LVU23
90 0010 2268 ldr r2, [r4]
91 0012 1368 ldr r3, [r2]
92 0014 0121 movs r1, #1
93 0016 0B43 orrs r3, r1
94 0018 1360 str r3, [r2]
337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
ARM GAS /tmp/ccftcnYc.s page 12
95 .loc 1 337 3 view .LVU24
337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
96 .loc 1 337 15 is_stmt 0 view .LVU25
97 001a FFF7FEFF bl HAL_GetTick
98 .LVL3:
99 001e 0500 movs r5, r0
100 .LVL4:
340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
101 .loc 1 340 3 is_stmt 1 view .LVU26
102 .L5:
340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
103 .loc 1 340 47 view .LVU27
340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
104 .loc 1 340 15 is_stmt 0 view .LVU28
105 0020 2268 ldr r2, [r4]
340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
106 .loc 1 340 25 view .LVU29
107 0022 5368 ldr r3, [r2, #4]
340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
108 .loc 1 340 47 view .LVU30
109 0024 DB07 lsls r3, r3, #31
110 0026 11D4 bmi .L23
342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
111 .loc 1 342 5 is_stmt 1 view .LVU31
342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
112 .loc 1 342 10 is_stmt 0 view .LVU32
113 0028 FFF7FEFF bl HAL_GetTick
114 .LVL5:
342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
115 .loc 1 342 24 discriminator 1 view .LVU33
116 002c 401B subs r0, r0, r5
342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
117 .loc 1 342 8 discriminator 1 view .LVU34
118 002e 0A28 cmp r0, #10
119 0030 F6D9 bls .L5
345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
120 .loc 1 345 7 is_stmt 1 view .LVU35
345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
121 .loc 1 345 11 is_stmt 0 view .LVU36
122 0032 626A ldr r2, [r4, #36]
345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
123 .loc 1 345 23 view .LVU37
124 0034 8023 movs r3, #128
125 0036 9B02 lsls r3, r3, #10
126 0038 1343 orrs r3, r2
127 003a 6362 str r3, [r4, #36]
348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
128 .loc 1 348 7 is_stmt 1 view .LVU38
348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
129 .loc 1 348 19 is_stmt 0 view .LVU39
130 003c 2023 movs r3, #32
131 003e 0522 movs r2, #5
132 0040 E254 strb r2, [r4, r3]
350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
133 .loc 1 350 7 is_stmt 1 view .LVU40
350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
134 .loc 1 350 14 is_stmt 0 view .LVU41
ARM GAS /tmp/ccftcnYc.s page 13
135 0042 0120 movs r0, #1
136 .LVL6:
137 .L3:
450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
138 .loc 1 450 1 view .LVU42
139 @ sp needed
140 .LVL7:
450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
141 .loc 1 450 1 view .LVU43
142 0044 70BD pop {r4, r5, r6, pc}
143 .LVL8:
144 .L22:
329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
145 .loc 1 329 5 is_stmt 1 view .LVU44
146 0046 FFF7FEFF bl HAL_CAN_MspInit
147 .LVL9:
329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
148 .loc 1 329 5 is_stmt 0 view .LVU45
149 004a E1E7 b .L4
150 .LVL10:
151 .L23:
355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
152 .loc 1 355 3 is_stmt 1 view .LVU46
153 004c 1368 ldr r3, [r2]
154 004e 0221 movs r1, #2
155 0050 8B43 bics r3, r1
156 0052 1360 str r3, [r2]
358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
157 .loc 1 358 3 view .LVU47
358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
158 .loc 1 358 15 is_stmt 0 view .LVU48
159 0054 FFF7FEFF bl HAL_GetTick
160 .LVL11:
161 0058 0500 movs r5, r0
162 .LVL12:
361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
163 .loc 1 361 3 is_stmt 1 view .LVU49
164 .L7:
361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
165 .loc 1 361 47 view .LVU50
361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
166 .loc 1 361 15 is_stmt 0 view .LVU51
167 005a 2268 ldr r2, [r4]
361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
168 .loc 1 361 25 view .LVU52
169 005c 5368 ldr r3, [r2, #4]
361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
170 .loc 1 361 47 view .LVU53
171 005e 9B07 lsls r3, r3, #30
172 0060 0ED5 bpl .L24
363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
173 .loc 1 363 5 is_stmt 1 view .LVU54
363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
174 .loc 1 363 10 is_stmt 0 view .LVU55
175 0062 FFF7FEFF bl HAL_GetTick
176 .LVL13:
363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
ARM GAS /tmp/ccftcnYc.s page 14
177 .loc 1 363 24 discriminator 1 view .LVU56
178 0066 401B subs r0, r0, r5
363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
179 .loc 1 363 8 discriminator 1 view .LVU57
180 0068 0A28 cmp r0, #10
181 006a F6D9 bls .L7
366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
182 .loc 1 366 7 is_stmt 1 view .LVU58
366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
183 .loc 1 366 11 is_stmt 0 view .LVU59
184 006c 626A ldr r2, [r4, #36]
366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
185 .loc 1 366 23 view .LVU60
186 006e 8023 movs r3, #128
187 0070 9B02 lsls r3, r3, #10
188 0072 1343 orrs r3, r2
189 0074 6362 str r3, [r4, #36]
369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
190 .loc 1 369 7 is_stmt 1 view .LVU61
369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
191 .loc 1 369 19 is_stmt 0 view .LVU62
192 0076 2023 movs r3, #32
193 0078 0522 movs r2, #5
194 007a E254 strb r2, [r4, r3]
371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
195 .loc 1 371 7 is_stmt 1 view .LVU63
371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
196 .loc 1 371 14 is_stmt 0 view .LVU64
197 007c 0120 movs r0, #1
198 007e E1E7 b .L3
199 .L24:
376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
200 .loc 1 376 3 is_stmt 1 view .LVU65
376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
201 .loc 1 376 17 is_stmt 0 view .LVU66
202 0080 237E ldrb r3, [r4, #24]
376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
203 .loc 1 376 6 view .LVU67
204 0082 012B cmp r3, #1
205 0084 3ED0 beq .L25
382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
206 .loc 1 382 5 is_stmt 1 view .LVU68
207 0086 1368 ldr r3, [r2]
208 0088 8021 movs r1, #128
209 008a 8B43 bics r3, r1
210 008c 1360 str r3, [r2]
211 .L10:
386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
212 .loc 1 386 3 view .LVU69
386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
213 .loc 1 386 17 is_stmt 0 view .LVU70
214 008e 637E ldrb r3, [r4, #25]
386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
215 .loc 1 386 6 view .LVU71
216 0090 012B cmp r3, #1
217 0092 3CD0 beq .L26
392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
ARM GAS /tmp/ccftcnYc.s page 15
218 .loc 1 392 5 is_stmt 1 view .LVU72
219 0094 2268 ldr r2, [r4]
220 0096 1368 ldr r3, [r2]
221 0098 4021 movs r1, #64
222 009a 8B43 bics r3, r1
223 009c 1360 str r3, [r2]
224 .L12:
396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
225 .loc 1 396 3 view .LVU73
396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
226 .loc 1 396 17 is_stmt 0 view .LVU74
227 009e A37E ldrb r3, [r4, #26]
396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
228 .loc 1 396 6 view .LVU75
229 00a0 012B cmp r3, #1
230 00a2 3AD0 beq .L27
402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
231 .loc 1 402 5 is_stmt 1 view .LVU76
232 00a4 2268 ldr r2, [r4]
233 00a6 1368 ldr r3, [r2]
234 00a8 2021 movs r1, #32
235 00aa 8B43 bics r3, r1
236 00ac 1360 str r3, [r2]
237 .L14:
406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
238 .loc 1 406 3 view .LVU77
406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
239 .loc 1 406 17 is_stmt 0 view .LVU78
240 00ae E37E ldrb r3, [r4, #27]
406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
241 .loc 1 406 6 view .LVU79
242 00b0 012B cmp r3, #1
243 00b2 38D0 beq .L28
412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
244 .loc 1 412 5 is_stmt 1 view .LVU80
245 00b4 2268 ldr r2, [r4]
246 00b6 1368 ldr r3, [r2]
247 00b8 1021 movs r1, #16
248 00ba 0B43 orrs r3, r1
249 00bc 1360 str r3, [r2]
250 .L16:
416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
251 .loc 1 416 3 view .LVU81
416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
252 .loc 1 416 17 is_stmt 0 view .LVU82
253 00be 237F ldrb r3, [r4, #28]
416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
254 .loc 1 416 6 view .LVU83
255 00c0 012B cmp r3, #1
256 00c2 36D0 beq .L29
422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
257 .loc 1 422 5 is_stmt 1 view .LVU84
258 00c4 2268 ldr r2, [r4]
259 00c6 1368 ldr r3, [r2]
260 00c8 0821 movs r1, #8
261 00ca 8B43 bics r3, r1
262 00cc 1360 str r3, [r2]
ARM GAS /tmp/ccftcnYc.s page 16
263 .L18:
426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
264 .loc 1 426 3 view .LVU85
426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
265 .loc 1 426 17 is_stmt 0 view .LVU86
266 00ce 637F ldrb r3, [r4, #29]
426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
267 .loc 1 426 6 view .LVU87
268 00d0 012B cmp r3, #1
269 00d2 34D0 beq .L30
432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
270 .loc 1 432 5 is_stmt 1 view .LVU88
271 00d4 2268 ldr r2, [r4]
272 00d6 1368 ldr r3, [r2]
273 00d8 0421 movs r1, #4
274 00da 8B43 bics r3, r1
275 00dc 1360 str r3, [r2]
276 .L20:
436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->Init.SyncJumpWidth |
277 .loc 1 436 3 view .LVU89
278 00de A368 ldr r3, [r4, #8]
279 00e0 E268 ldr r2, [r4, #12]
280 00e2 1343 orrs r3, r2
281 00e4 2269 ldr r2, [r4, #16]
282 00e6 1343 orrs r3, r2
283 00e8 6269 ldr r2, [r4, #20]
284 00ea 1343 orrs r3, r2
285 00ec 6268 ldr r2, [r4, #4]
286 00ee 013A subs r2, r2, #1
287 00f0 2168 ldr r1, [r4]
288 00f2 1343 orrs r3, r2
289 00f4 CB61 str r3, [r1, #28]
443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
290 .loc 1 443 3 view .LVU90
443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
291 .loc 1 443 19 is_stmt 0 view .LVU91
292 00f6 0023 movs r3, #0
293 00f8 6362 str r3, [r4, #36]
446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
294 .loc 1 446 3 is_stmt 1 view .LVU92
446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
295 .loc 1 446 15 is_stmt 0 view .LVU93
296 00fa 2033 adds r3, r3, #32
297 00fc 0122 movs r2, #1
298 00fe E254 strb r2, [r4, r3]
449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
299 .loc 1 449 3 is_stmt 1 view .LVU94
449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
300 .loc 1 449 10 is_stmt 0 view .LVU95
301 0100 0020 movs r0, #0
302 0102 9FE7 b .L3
303 .L25:
378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
304 .loc 1 378 5 is_stmt 1 view .LVU96
305 0104 1368 ldr r3, [r2]
306 0106 8021 movs r1, #128
307 0108 0B43 orrs r3, r1
ARM GAS /tmp/ccftcnYc.s page 17
308 010a 1360 str r3, [r2]
309 010c BFE7 b .L10
310 .L26:
388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
311 .loc 1 388 5 view .LVU97
312 010e 2268 ldr r2, [r4]
313 0110 1368 ldr r3, [r2]
314 0112 4021 movs r1, #64
315 0114 0B43 orrs r3, r1
316 0116 1360 str r3, [r2]
317 0118 C1E7 b .L12
318 .L27:
398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
319 .loc 1 398 5 view .LVU98
320 011a 2268 ldr r2, [r4]
321 011c 1368 ldr r3, [r2]
322 011e 2021 movs r1, #32
323 0120 0B43 orrs r3, r1
324 0122 1360 str r3, [r2]
325 0124 C3E7 b .L14
326 .L28:
408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
327 .loc 1 408 5 view .LVU99
328 0126 2268 ldr r2, [r4]
329 0128 1368 ldr r3, [r2]
330 012a 1021 movs r1, #16
331 012c 8B43 bics r3, r1
332 012e 1360 str r3, [r2]
333 0130 C5E7 b .L16
334 .L29:
418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
335 .loc 1 418 5 view .LVU100
336 0132 2268 ldr r2, [r4]
337 0134 1368 ldr r3, [r2]
338 0136 0821 movs r1, #8
339 0138 0B43 orrs r3, r1
340 013a 1360 str r3, [r2]
341 013c C7E7 b .L18
342 .L30:
428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
343 .loc 1 428 5 view .LVU101
344 013e 2268 ldr r2, [r4]
345 0140 1368 ldr r3, [r2]
346 0142 0421 movs r1, #4
347 0144 0B43 orrs r3, r1
348 0146 1360 str r3, [r2]
349 0148 C9E7 b .L20
350 .LVL14:
351 .L21:
281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
352 .loc 1 281 12 is_stmt 0 view .LVU102
353 014a 0120 movs r0, #1
354 .LVL15:
281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
355 .loc 1 281 12 view .LVU103
356 014c 7AE7 b .L3
357 .cfi_endproc
ARM GAS /tmp/ccftcnYc.s page 18
358 .LFE40:
360 .section .text.HAL_CAN_MspDeInit,"ax",%progbits
361 .align 1
362 .weak HAL_CAN_MspDeInit
363 .syntax unified
364 .code 16
365 .thumb_func
367 HAL_CAN_MspDeInit:
368 .LVL16:
369 .LFB43:
515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /**
517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @brief DeInitializes the CAN MSP.
518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * the configuration information for the specified CAN.
520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @retval None
521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** */
522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** __weak void HAL_CAN_MspDeInit(CAN_HandleTypeDef *hcan)
523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
370 .loc 1 523 1 is_stmt 1 view -0
371 .cfi_startproc
372 @ args = 0, pretend = 0, frame = 0
373 @ frame_needed = 0, uses_anonymous_args = 0
374 @ link register save eliminated.
524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** UNUSED(hcan);
375 .loc 1 525 3 view .LVU105
526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** the HAL_CAN_MspDeInit could be implemented in the user file
529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** */
530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
376 .loc 1 530 1 is_stmt 0 view .LVU106
377 @ sp needed
378 0000 7047 bx lr
379 .cfi_endproc
380 .LFE43:
382 .section .text.HAL_CAN_ConfigFilter,"ax",%progbits
383 .align 1
384 .global HAL_CAN_ConfigFilter
385 .syntax unified
386 .code 16
387 .thumb_func
389 HAL_CAN_ConfigFilter:
390 .LVL17:
391 .LFB44:
531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /**
534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @brief Register a CAN CallBack.
535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * To be used instead of the weak predefined callback
536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * the configuration information for CAN module
538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @param CallbackID ID of the callback to be registered
539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * This parameter can be one of the following values:
540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @arg @ref HAL_CAN_TX_MAILBOX0_COMPLETE_CB_ID Tx Mailbox 0 Complete callback ID
541:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @arg @ref HAL_CAN_TX_MAILBOX1_COMPLETE_CB_ID Tx Mailbox 1 Complete callback ID
ARM GAS /tmp/ccftcnYc.s page 19
542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @arg @ref HAL_CAN_TX_MAILBOX2_COMPLETE_CB_ID Tx Mailbox 2 Complete callback ID
543:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @arg @ref HAL_CAN_TX_MAILBOX0_ABORT_CB_ID Tx Mailbox 0 Abort callback ID
544:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @arg @ref HAL_CAN_TX_MAILBOX1_ABORT_CB_ID Tx Mailbox 1 Abort callback ID
545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @arg @ref HAL_CAN_TX_MAILBOX2_ABORT_CB_ID Tx Mailbox 2 Abort callback ID
546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @arg @ref HAL_CAN_RX_FIFO0_MSG_PENDING_CB_ID Rx Fifo 0 message pending callback ID
547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @arg @ref HAL_CAN_RX_FIFO0_FULL_CB_ID Rx Fifo 0 full callback ID
548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @arg @ref HAL_CAN_RX_FIFO1_MSG_PENDING_CB_ID Rx Fifo 1 message pending callback ID
549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @arg @ref HAL_CAN_RX_FIFO1_FULL_CB_ID Rx Fifo 1 full callback ID
550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @arg @ref HAL_CAN_SLEEP_CB_ID Sleep callback ID
551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @arg @ref HAL_CAN_WAKEUP_FROM_RX_MSG_CB_ID Wake Up from Rx message callback ID
552:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @arg @ref HAL_CAN_ERROR_CB_ID Error callback ID
553:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @arg @ref HAL_CAN_MSPINIT_CB_ID MspInit callback ID
554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @arg @ref HAL_CAN_MSPDEINIT_CB_ID MspDeInit callback ID
555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @param pCallback pointer to the Callback function
556:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @retval HAL status
557:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** */
558:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_RegisterCallback(CAN_HandleTypeDef *hcan, HAL_CAN_CallbackIDTypeDef Callb
559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** void (* pCallback)(CAN_HandleTypeDef *_hcan))
560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** HAL_StatusTypeDef status = HAL_OK;
562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if (pCallback == NULL)
564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
565:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Update the error code */
566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_INVALID_CALLBACK;
567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** return HAL_ERROR;
569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if (hcan->State == HAL_CAN_STATE_READY)
572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** switch (CallbackID)
574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** case HAL_CAN_TX_MAILBOX0_COMPLETE_CB_ID :
576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->TxMailbox0CompleteCallback = pCallback;
577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** break;
578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** case HAL_CAN_TX_MAILBOX1_COMPLETE_CB_ID :
580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->TxMailbox1CompleteCallback = pCallback;
581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** break;
582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** case HAL_CAN_TX_MAILBOX2_COMPLETE_CB_ID :
584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->TxMailbox2CompleteCallback = pCallback;
585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** break;
586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** case HAL_CAN_TX_MAILBOX0_ABORT_CB_ID :
588:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->TxMailbox0AbortCallback = pCallback;
589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** break;
590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** case HAL_CAN_TX_MAILBOX1_ABORT_CB_ID :
592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->TxMailbox1AbortCallback = pCallback;
593:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** break;
594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** case HAL_CAN_TX_MAILBOX2_ABORT_CB_ID :
596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->TxMailbox2AbortCallback = pCallback;
597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** break;
598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
ARM GAS /tmp/ccftcnYc.s page 20
599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** case HAL_CAN_RX_FIFO0_MSG_PENDING_CB_ID :
600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->RxFifo0MsgPendingCallback = pCallback;
601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** break;
602:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** case HAL_CAN_RX_FIFO0_FULL_CB_ID :
604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->RxFifo0FullCallback = pCallback;
605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** break;
606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** case HAL_CAN_RX_FIFO1_MSG_PENDING_CB_ID :
608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->RxFifo1MsgPendingCallback = pCallback;
609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** break;
610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** case HAL_CAN_RX_FIFO1_FULL_CB_ID :
612:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->RxFifo1FullCallback = pCallback;
613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** break;
614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
615:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** case HAL_CAN_SLEEP_CB_ID :
616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->SleepCallback = pCallback;
617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** break;
618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** case HAL_CAN_WAKEUP_FROM_RX_MSG_CB_ID :
620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->WakeUpFromRxMsgCallback = pCallback;
621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** break;
622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
623:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** case HAL_CAN_ERROR_CB_ID :
624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->ErrorCallback = pCallback;
625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** break;
626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** case HAL_CAN_MSPINIT_CB_ID :
628:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->MspInitCallback = pCallback;
629:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** break;
630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** case HAL_CAN_MSPDEINIT_CB_ID :
632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->MspDeInitCallback = pCallback;
633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** break;
634:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** default :
636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Update the error code */
637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_INVALID_CALLBACK;
638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Return error status */
640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** status = HAL_ERROR;
641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** break;
642:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** else if (hcan->State == HAL_CAN_STATE_RESET)
645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** switch (CallbackID)
647:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** case HAL_CAN_MSPINIT_CB_ID :
649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->MspInitCallback = pCallback;
650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** break;
651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** case HAL_CAN_MSPDEINIT_CB_ID :
653:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->MspDeInitCallback = pCallback;
654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** break;
655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
ARM GAS /tmp/ccftcnYc.s page 21
656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** default :
657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Update the error code */
658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_INVALID_CALLBACK;
659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Return error status */
661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** status = HAL_ERROR;
662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** break;
663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** else
666:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Update the error code */
668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_INVALID_CALLBACK;
669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Return error status */
671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** status = HAL_ERROR;
672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** return status;
675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /**
678:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @brief Unregister a CAN CallBack.
679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * CAN callback is redirected to the weak predefined callback
680:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * the configuration information for CAN module
682:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @param CallbackID ID of the callback to be unregistered
683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * This parameter can be one of the following values:
684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @arg @ref HAL_CAN_TX_MAILBOX0_COMPLETE_CB_ID Tx Mailbox 0 Complete callback ID
685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @arg @ref HAL_CAN_TX_MAILBOX1_COMPLETE_CB_ID Tx Mailbox 1 Complete callback ID
686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @arg @ref HAL_CAN_TX_MAILBOX2_COMPLETE_CB_ID Tx Mailbox 2 Complete callback ID
687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @arg @ref HAL_CAN_TX_MAILBOX0_ABORT_CB_ID Tx Mailbox 0 Abort callback ID
688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @arg @ref HAL_CAN_TX_MAILBOX1_ABORT_CB_ID Tx Mailbox 1 Abort callback ID
689:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @arg @ref HAL_CAN_TX_MAILBOX2_ABORT_CB_ID Tx Mailbox 2 Abort callback ID
690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @arg @ref HAL_CAN_RX_FIFO0_MSG_PENDING_CB_ID Rx Fifo 0 message pending callback ID
691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @arg @ref HAL_CAN_RX_FIFO0_FULL_CB_ID Rx Fifo 0 full callback ID
692:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @arg @ref HAL_CAN_RX_FIFO1_MSG_PENDING_CB_ID Rx Fifo 1 message pending callback ID
693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @arg @ref HAL_CAN_RX_FIFO1_FULL_CB_ID Rx Fifo 1 full callback ID
694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @arg @ref HAL_CAN_SLEEP_CB_ID Sleep callback ID
695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @arg @ref HAL_CAN_WAKEUP_FROM_RX_MSG_CB_ID Wake Up from Rx message callback ID
696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @arg @ref HAL_CAN_ERROR_CB_ID Error callback ID
697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @arg @ref HAL_CAN_MSPINIT_CB_ID MspInit callback ID
698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @arg @ref HAL_CAN_MSPDEINIT_CB_ID MspDeInit callback ID
699:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @retval HAL status
700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** */
701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_UnRegisterCallback(CAN_HandleTypeDef *hcan, HAL_CAN_CallbackIDTypeDef Cal
702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
703:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** HAL_StatusTypeDef status = HAL_OK;
704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if (hcan->State == HAL_CAN_STATE_READY)
706:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
707:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** switch (CallbackID)
708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
709:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** case HAL_CAN_TX_MAILBOX0_COMPLETE_CB_ID :
710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->TxMailbox0CompleteCallback = HAL_CAN_TxMailbox0CompleteCallback;
711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** break;
712:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
ARM GAS /tmp/ccftcnYc.s page 22
713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** case HAL_CAN_TX_MAILBOX1_COMPLETE_CB_ID :
714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->TxMailbox1CompleteCallback = HAL_CAN_TxMailbox1CompleteCallback;
715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** break;
716:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** case HAL_CAN_TX_MAILBOX2_COMPLETE_CB_ID :
718:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->TxMailbox2CompleteCallback = HAL_CAN_TxMailbox2CompleteCallback;
719:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** break;
720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
721:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** case HAL_CAN_TX_MAILBOX0_ABORT_CB_ID :
722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->TxMailbox0AbortCallback = HAL_CAN_TxMailbox0AbortCallback;
723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** break;
724:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** case HAL_CAN_TX_MAILBOX1_ABORT_CB_ID :
726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->TxMailbox1AbortCallback = HAL_CAN_TxMailbox1AbortCallback;
727:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** break;
728:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
729:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** case HAL_CAN_TX_MAILBOX2_ABORT_CB_ID :
730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->TxMailbox2AbortCallback = HAL_CAN_TxMailbox2AbortCallback;
731:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** break;
732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** case HAL_CAN_RX_FIFO0_MSG_PENDING_CB_ID :
734:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->RxFifo0MsgPendingCallback = HAL_CAN_RxFifo0MsgPendingCallback;
735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** break;
736:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
737:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** case HAL_CAN_RX_FIFO0_FULL_CB_ID :
738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->RxFifo0FullCallback = HAL_CAN_RxFifo0FullCallback;
739:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** break;
740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** case HAL_CAN_RX_FIFO1_MSG_PENDING_CB_ID :
742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->RxFifo1MsgPendingCallback = HAL_CAN_RxFifo1MsgPendingCallback;
743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** break;
744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** case HAL_CAN_RX_FIFO1_FULL_CB_ID :
746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->RxFifo1FullCallback = HAL_CAN_RxFifo1FullCallback;
747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** break;
748:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
749:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** case HAL_CAN_SLEEP_CB_ID :
750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->SleepCallback = HAL_CAN_SleepCallback;
751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** break;
752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** case HAL_CAN_WAKEUP_FROM_RX_MSG_CB_ID :
754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->WakeUpFromRxMsgCallback = HAL_CAN_WakeUpFromRxMsgCallback;
755:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** break;
756:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** case HAL_CAN_ERROR_CB_ID :
758:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->ErrorCallback = HAL_CAN_ErrorCallback;
759:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** break;
760:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
761:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** case HAL_CAN_MSPINIT_CB_ID :
762:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->MspInitCallback = HAL_CAN_MspInit;
763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** break;
764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** case HAL_CAN_MSPDEINIT_CB_ID :
766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->MspDeInitCallback = HAL_CAN_MspDeInit;
767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** break;
768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** default :
ARM GAS /tmp/ccftcnYc.s page 23
770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Update the error code */
771:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_INVALID_CALLBACK;
772:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Return error status */
774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** status = HAL_ERROR;
775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** break;
776:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
777:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** else if (hcan->State == HAL_CAN_STATE_RESET)
779:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
780:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** switch (CallbackID)
781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** case HAL_CAN_MSPINIT_CB_ID :
783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->MspInitCallback = HAL_CAN_MspInit;
784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** break;
785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** case HAL_CAN_MSPDEINIT_CB_ID :
787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->MspDeInitCallback = HAL_CAN_MspDeInit;
788:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** break;
789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** default :
791:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Update the error code */
792:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_INVALID_CALLBACK;
793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
794:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Return error status */
795:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** status = HAL_ERROR;
796:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** break;
797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
798:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** else
800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
801:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Update the error code */
802:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_INVALID_CALLBACK;
803:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
804:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Return error status */
805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** status = HAL_ERROR;
806:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
807:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** return status;
809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
810:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /**
813:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @}
814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** */
815:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /** @defgroup CAN_Exported_Functions_Group2 Configuration functions
817:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @brief Configuration functions.
818:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** *
819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** @verbatim
820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** ==============================================================================
821:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** ##### Configuration functions #####
822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** ==============================================================================
823:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** [..] This section provides functions allowing to:
824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (+) HAL_CAN_ConfigFilter : Configure the CAN reception filters
825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
826:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** @endverbatim
ARM GAS /tmp/ccftcnYc.s page 24
827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @{
828:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** */
829:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
830:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /**
831:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @brief Configures the CAN reception filter according to the specified
832:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * parameters in the CAN_FilterInitStruct.
833:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
834:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * the configuration information for the specified CAN.
835:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @param sFilterConfig pointer to a CAN_FilterTypeDef structure that
836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * contains the filter configuration information.
837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @retval None
838:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** */
839:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_ConfigFilter(CAN_HandleTypeDef *hcan, const CAN_FilterTypeDef *sFilterCon
840:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
392 .loc 1 840 1 is_stmt 1 view -0
393 .cfi_startproc
394 @ args = 0, pretend = 0, frame = 0
395 @ frame_needed = 0, uses_anonymous_args = 0
396 .loc 1 840 1 is_stmt 0 view .LVU108
397 0000 70B5 push {r4, r5, r6, lr}
398 .cfi_def_cfa_offset 16
399 .cfi_offset 4, -16
400 .cfi_offset 5, -12
401 .cfi_offset 6, -8
402 .cfi_offset 14, -4
841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** uint32_t filternbrbitpos;
403 .loc 1 841 3 is_stmt 1 view .LVU109
842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** CAN_TypeDef *can_ip = hcan->Instance;
404 .loc 1 842 3 view .LVU110
405 .loc 1 842 16 is_stmt 0 view .LVU111
406 0002 0268 ldr r2, [r0]
407 .LVL18:
843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
408 .loc 1 843 3 is_stmt 1 view .LVU112
409 .loc 1 843 24 is_stmt 0 view .LVU113
410 0004 2023 movs r3, #32
411 0006 C35C ldrb r3, [r0, r3]
412 .LVL19:
844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
845:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
413 .loc 1 845 3 is_stmt 1 view .LVU114
414 .loc 1 845 38 is_stmt 0 view .LVU115
415 0008 013B subs r3, r3, #1
416 .LVL20:
417 .loc 1 845 38 view .LVU116
418 000a DBB2 uxtb r3, r3
419 .LVL21:
420 .loc 1 845 6 view .LVU117
421 000c 012B cmp r3, #1
422 000e 06D9 bls .L42
846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
847:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
848:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Check the parameters */
849:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** assert_param(IS_CAN_FILTER_ID_HALFWORD(sFilterConfig->FilterIdHigh));
850:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** assert_param(IS_CAN_FILTER_ID_HALFWORD(sFilterConfig->FilterIdLow));
851:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** assert_param(IS_CAN_FILTER_ID_HALFWORD(sFilterConfig->FilterMaskIdHigh));
852:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** assert_param(IS_CAN_FILTER_ID_HALFWORD(sFilterConfig->FilterMaskIdLow));
ARM GAS /tmp/ccftcnYc.s page 25
853:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** assert_param(IS_CAN_FILTER_MODE(sFilterConfig->FilterMode));
854:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** assert_param(IS_CAN_FILTER_SCALE(sFilterConfig->FilterScale));
855:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** assert_param(IS_CAN_FILTER_FIFO(sFilterConfig->FilterFIFOAssignment));
856:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** assert_param(IS_CAN_FILTER_ACTIVATION(sFilterConfig->FilterActivation));
857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* CAN is single instance with 14 dedicated filters banks */
859:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
860:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Check the parameters */
861:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** assert_param(IS_CAN_FILTER_BANK_SINGLE(sFilterConfig->FilterBank));
862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
863:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Initialisation mode for the filter */
864:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** SET_BIT(can_ip->FMR, CAN_FMR_FINIT);
865:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
866:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Convert filter number into bit position */
867:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** filternbrbitpos = (uint32_t)1 << (sFilterConfig->FilterBank & 0x1FU);
868:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
869:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Filter Deactivation */
870:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** CLEAR_BIT(can_ip->FA1R, filternbrbitpos);
871:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
872:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Filter Scale */
873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if (sFilterConfig->FilterScale == CAN_FILTERSCALE_16BIT)
874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
875:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* 16-bit scale for the filter */
876:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** CLEAR_BIT(can_ip->FS1R, filternbrbitpos);
877:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
878:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* First 16-bit identifier and First 16-bit mask */
879:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Or First 16-bit identifier and Second 16-bit identifier */
880:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** can_ip->sFilterRegister[sFilterConfig->FilterBank].FR1 =
881:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdLow) << 16U) |
882:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (0x0000FFFFU & (uint32_t)sFilterConfig->FilterIdLow);
883:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
884:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Second 16-bit identifier and Second 16-bit mask */
885:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Or Third 16-bit identifier and Fourth 16-bit identifier */
886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** can_ip->sFilterRegister[sFilterConfig->FilterBank].FR2 =
887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdHigh) << 16U) |
888:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (0x0000FFFFU & (uint32_t)sFilterConfig->FilterIdHigh);
889:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if (sFilterConfig->FilterScale == CAN_FILTERSCALE_32BIT)
892:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
893:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* 32-bit scale for the filter */
894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** SET_BIT(can_ip->FS1R, filternbrbitpos);
895:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* 32-bit identifier or First 32-bit identifier */
897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** can_ip->sFilterRegister[sFilterConfig->FilterBank].FR1 =
898:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterIdHigh) << 16U) |
899:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (0x0000FFFFU & (uint32_t)sFilterConfig->FilterIdLow);
900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
901:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* 32-bit mask or Second 32-bit identifier */
902:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** can_ip->sFilterRegister[sFilterConfig->FilterBank].FR2 =
903:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdHigh) << 16U) |
904:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdLow);
905:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
906:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
907:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Filter Mode */
908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if (sFilterConfig->FilterMode == CAN_FILTERMODE_IDMASK)
909:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
ARM GAS /tmp/ccftcnYc.s page 26
910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Id/Mask mode for the filter*/
911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** CLEAR_BIT(can_ip->FM1R, filternbrbitpos);
912:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
913:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** else /* CAN_FilterInitStruct->CAN_FilterMode == CAN_FilterMode_IdList */
914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
915:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Identifier list mode for the filter*/
916:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** SET_BIT(can_ip->FM1R, filternbrbitpos);
917:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
919:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Filter FIFO assignment */
920:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if (sFilterConfig->FilterFIFOAssignment == CAN_FILTER_FIFO0)
921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* FIFO 0 assignation for the filter */
923:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** CLEAR_BIT(can_ip->FFA1R, filternbrbitpos);
924:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** else
926:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
927:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* FIFO 1 assignation for the filter */
928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** SET_BIT(can_ip->FFA1R, filternbrbitpos);
929:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
930:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
931:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Filter activation */
932:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if (sFilterConfig->FilterActivation == CAN_FILTER_ENABLE)
933:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
934:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** SET_BIT(can_ip->FA1R, filternbrbitpos);
935:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
936:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
937:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Leave the initialisation mode for the filter */
938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** CLEAR_BIT(can_ip->FMR, CAN_FMR_FINIT);
939:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
940:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Return function status */
941:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** return HAL_OK;
942:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
943:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** else
944:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
945:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Update error code */
946:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_NOT_INITIALIZED;
423 .loc 1 946 5 is_stmt 1 view .LVU118
424 .loc 1 946 9 is_stmt 0 view .LVU119
425 0010 426A ldr r2, [r0, #36]
426 .LVL22:
427 .loc 1 946 21 view .LVU120
428 0012 8023 movs r3, #128
429 0014 DB02 lsls r3, r3, #11
430 0016 1343 orrs r3, r2
431 0018 4362 str r3, [r0, #36]
947:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
948:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** return HAL_ERROR;
432 .loc 1 948 5 is_stmt 1 view .LVU121
433 .loc 1 948 12 is_stmt 0 view .LVU122
434 001a 0120 movs r0, #1
435 .LVL23:
436 .L41:
949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
950:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
437 .loc 1 950 1 view .LVU123
438 @ sp needed
ARM GAS /tmp/ccftcnYc.s page 27
439 001c 70BD pop {r4, r5, r6, pc}
440 .LVL24:
441 .L42:
849:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** assert_param(IS_CAN_FILTER_ID_HALFWORD(sFilterConfig->FilterIdLow));
442 .loc 1 849 5 is_stmt 1 view .LVU124
850:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** assert_param(IS_CAN_FILTER_ID_HALFWORD(sFilterConfig->FilterMaskIdHigh));
443 .loc 1 850 5 view .LVU125
851:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** assert_param(IS_CAN_FILTER_ID_HALFWORD(sFilterConfig->FilterMaskIdLow));
444 .loc 1 851 5 view .LVU126
852:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** assert_param(IS_CAN_FILTER_MODE(sFilterConfig->FilterMode));
445 .loc 1 852 5 view .LVU127
853:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** assert_param(IS_CAN_FILTER_SCALE(sFilterConfig->FilterScale));
446 .loc 1 853 5 view .LVU128
854:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** assert_param(IS_CAN_FILTER_FIFO(sFilterConfig->FilterFIFOAssignment));
447 .loc 1 854 5 view .LVU129
855:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** assert_param(IS_CAN_FILTER_ACTIVATION(sFilterConfig->FilterActivation));
448 .loc 1 855 5 view .LVU130
856:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
449 .loc 1 856 5 view .LVU131
861:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
450 .loc 1 861 5 view .LVU132
864:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
451 .loc 1 864 5 view .LVU133
452 001e 8024 movs r4, #128
453 0020 A400 lsls r4, r4, #2
454 0022 1059 ldr r0, [r2, r4]
455 .LVL25:
864:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
456 .loc 1 864 5 is_stmt 0 view .LVU134
457 0024 0123 movs r3, #1
458 0026 1843 orrs r0, r3
459 0028 1051 str r0, [r2, r4]
867:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
460 .loc 1 867 5 is_stmt 1 view .LVU135
867:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
461 .loc 1 867 52 is_stmt 0 view .LVU136
462 002a 4C69 ldr r4, [r1, #20]
867:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
463 .loc 1 867 65 view .LVU137
464 002c 1F20 movs r0, #31
465 002e 2040 ands r0, r4
867:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
466 .loc 1 867 21 view .LVU138
467 0030 8340 lsls r3, r3, r0
468 .LVL26:
870:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
469 .loc 1 870 5 is_stmt 1 view .LVU139
470 0032 8724 movs r4, #135
471 0034 A400 lsls r4, r4, #2
472 0036 1059 ldr r0, [r2, r4]
473 0038 DD43 mvns r5, r3
474 003a 9843 bics r0, r3
475 003c 1051 str r0, [r2, r4]
873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
476 .loc 1 873 5 view .LVU140
873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
477 .loc 1 873 22 is_stmt 0 view .LVU141
ARM GAS /tmp/ccftcnYc.s page 28
478 003e C869 ldr r0, [r1, #28]
873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
479 .loc 1 873 8 view .LVU142
480 0040 0028 cmp r0, #0
481 0042 18D1 bne .L34
876:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
482 .loc 1 876 7 is_stmt 1 view .LVU143
483 0044 103C subs r4, r4, #16
484 0046 1059 ldr r0, [r2, r4]
485 0048 2840 ands r0, r5
486 004a 1051 str r0, [r2, r4]
880:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdLow) << 16U) |
487 .loc 1 880 7 view .LVU144
881:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (0x0000FFFFU & (uint32_t)sFilterConfig->FilterIdLow);
488 .loc 1 881 48 is_stmt 0 view .LVU145
489 004c CC68 ldr r4, [r1, #12]
881:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (0x0000FFFFU & (uint32_t)sFilterConfig->FilterIdLow);
490 .loc 1 881 67 view .LVU146
491 004e 2404 lsls r4, r4, #16
882:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
492 .loc 1 882 47 view .LVU147
493 0050 4E68 ldr r6, [r1, #4]
882:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
494 .loc 1 882 22 view .LVU148
495 0052 3604 lsls r6, r6, #16
496 0054 360C lsrs r6, r6, #16
880:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdLow) << 16U) |
497 .loc 1 880 44 view .LVU149
498 0056 4869 ldr r0, [r1, #20]
881:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (0x0000FFFFU & (uint32_t)sFilterConfig->FilterIdLow);
499 .loc 1 881 75 view .LVU150
500 0058 3443 orrs r4, r6
880:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdLow) << 16U) |
501 .loc 1 880 62 view .LVU151
502 005a 4830 adds r0, r0, #72
503 005c C000 lsls r0, r0, #3
504 005e 8450 str r4, [r0, r2]
886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdHigh) << 16U) |
505 .loc 1 886 7 is_stmt 1 view .LVU152
887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (0x0000FFFFU & (uint32_t)sFilterConfig->FilterIdHigh);
506 .loc 1 887 48 is_stmt 0 view .LVU153
507 0060 8C68 ldr r4, [r1, #8]
887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (0x0000FFFFU & (uint32_t)sFilterConfig->FilterIdHigh);
508 .loc 1 887 68 view .LVU154
509 0062 2404 lsls r4, r4, #16
888:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
510 .loc 1 888 47 view .LVU155
511 0064 0E68 ldr r6, [r1]
888:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
512 .loc 1 888 22 view .LVU156
513 0066 3604 lsls r6, r6, #16
514 0068 360C lsrs r6, r6, #16
886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdHigh) << 16U) |
515 .loc 1 886 44 view .LVU157
516 006a 4869 ldr r0, [r1, #20]
887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (0x0000FFFFU & (uint32_t)sFilterConfig->FilterIdHigh);
517 .loc 1 887 76 view .LVU158
ARM GAS /tmp/ccftcnYc.s page 29
518 006c 3443 orrs r4, r6
886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdHigh) << 16U) |
519 .loc 1 886 62 view .LVU159
520 006e 4830 adds r0, r0, #72
521 0070 C000 lsls r0, r0, #3
522 0072 1018 adds r0, r2, r0
523 0074 4460 str r4, [r0, #4]
524 .L34:
891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
525 .loc 1 891 5 is_stmt 1 view .LVU160
891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
526 .loc 1 891 22 is_stmt 0 view .LVU161
527 0076 C869 ldr r0, [r1, #28]
891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
528 .loc 1 891 8 view .LVU162
529 0078 0128 cmp r0, #1
530 007a 1AD0 beq .L43
531 .L35:
908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
532 .loc 1 908 5 is_stmt 1 view .LVU163
908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
533 .loc 1 908 22 is_stmt 0 view .LVU164
534 007c 8869 ldr r0, [r1, #24]
908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
535 .loc 1 908 8 view .LVU165
536 007e 0028 cmp r0, #0
537 0080 32D1 bne .L36
911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
538 .loc 1 911 7 is_stmt 1 view .LVU166
539 0082 8124 movs r4, #129
540 0084 A400 lsls r4, r4, #2
541 0086 1059 ldr r0, [r2, r4]
542 0088 2840 ands r0, r5
543 008a 1051 str r0, [r2, r4]
544 .L37:
920:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
545 .loc 1 920 5 view .LVU167
920:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
546 .loc 1 920 22 is_stmt 0 view .LVU168
547 008c 0869 ldr r0, [r1, #16]
920:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
548 .loc 1 920 8 view .LVU169
549 008e 0028 cmp r0, #0
550 0090 30D1 bne .L38
923:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
551 .loc 1 923 7 is_stmt 1 view .LVU170
552 0092 8524 movs r4, #133
553 0094 A400 lsls r4, r4, #2
554 0096 1059 ldr r0, [r2, r4]
555 0098 2840 ands r0, r5
556 009a 1051 str r0, [r2, r4]
557 .L39:
932:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
558 .loc 1 932 5 view .LVU171
932:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
559 .loc 1 932 22 is_stmt 0 view .LVU172
560 009c 096A ldr r1, [r1, #32]
ARM GAS /tmp/ccftcnYc.s page 30
561 .LVL27:
932:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
562 .loc 1 932 8 view .LVU173
563 009e 0129 cmp r1, #1
564 00a0 2ED0 beq .L44
565 .LVL28:
566 .L40:
938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
567 .loc 1 938 5 is_stmt 1 view .LVU174
568 00a2 8021 movs r1, #128
569 00a4 8900 lsls r1, r1, #2
570 00a6 5358 ldr r3, [r2, r1]
571 00a8 0120 movs r0, #1
572 00aa 8343 bics r3, r0
573 00ac 5350 str r3, [r2, r1]
941:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
574 .loc 1 941 5 view .LVU175
941:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
575 .loc 1 941 12 is_stmt 0 view .LVU176
576 00ae 0020 movs r0, #0
577 00b0 B4E7 b .L41
578 .LVL29:
579 .L43:
894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
580 .loc 1 894 7 is_stmt 1 view .LVU177
581 00b2 8324 movs r4, #131
582 00b4 A400 lsls r4, r4, #2
583 00b6 1059 ldr r0, [r2, r4]
584 00b8 1843 orrs r0, r3
585 00ba 1051 str r0, [r2, r4]
897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterIdHigh) << 16U) |
586 .loc 1 897 7 view .LVU178
898:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (0x0000FFFFU & (uint32_t)sFilterConfig->FilterIdLow);
587 .loc 1 898 48 is_stmt 0 view .LVU179
588 00bc 0C68 ldr r4, [r1]
898:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (0x0000FFFFU & (uint32_t)sFilterConfig->FilterIdLow);
589 .loc 1 898 64 view .LVU180
590 00be 2404 lsls r4, r4, #16
899:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
591 .loc 1 899 47 view .LVU181
592 00c0 4E68 ldr r6, [r1, #4]
899:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
593 .loc 1 899 22 view .LVU182
594 00c2 3604 lsls r6, r6, #16
595 00c4 360C lsrs r6, r6, #16
897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterIdHigh) << 16U) |
596 .loc 1 897 44 view .LVU183
597 00c6 4869 ldr r0, [r1, #20]
898:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (0x0000FFFFU & (uint32_t)sFilterConfig->FilterIdLow);
598 .loc 1 898 72 view .LVU184
599 00c8 3443 orrs r4, r6
897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterIdHigh) << 16U) |
600 .loc 1 897 62 view .LVU185
601 00ca 4830 adds r0, r0, #72
602 00cc C000 lsls r0, r0, #3
603 00ce 8450 str r4, [r0, r2]
902:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdHigh) << 16U) |
ARM GAS /tmp/ccftcnYc.s page 31
604 .loc 1 902 7 is_stmt 1 view .LVU186
903:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdLow);
605 .loc 1 903 48 is_stmt 0 view .LVU187
606 00d0 8C68 ldr r4, [r1, #8]
903:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdLow);
607 .loc 1 903 68 view .LVU188
608 00d2 2404 lsls r4, r4, #16
904:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
609 .loc 1 904 47 view .LVU189
610 00d4 CE68 ldr r6, [r1, #12]
904:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
611 .loc 1 904 22 view .LVU190
612 00d6 3604 lsls r6, r6, #16
613 00d8 360C lsrs r6, r6, #16
902:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdHigh) << 16U) |
614 .loc 1 902 44 view .LVU191
615 00da 4869 ldr r0, [r1, #20]
903:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdLow);
616 .loc 1 903 76 view .LVU192
617 00dc 3443 orrs r4, r6
902:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdHigh) << 16U) |
618 .loc 1 902 62 view .LVU193
619 00de 4830 adds r0, r0, #72
620 00e0 C000 lsls r0, r0, #3
621 00e2 1018 adds r0, r2, r0
622 00e4 4460 str r4, [r0, #4]
623 00e6 C9E7 b .L35
624 .L36:
916:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
625 .loc 1 916 7 is_stmt 1 view .LVU194
626 00e8 8124 movs r4, #129
627 00ea A400 lsls r4, r4, #2
628 00ec 1059 ldr r0, [r2, r4]
629 00ee 1843 orrs r0, r3
630 00f0 1051 str r0, [r2, r4]
631 00f2 CBE7 b .L37
632 .L38:
928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
633 .loc 1 928 7 view .LVU195
634 00f4 8524 movs r4, #133
635 00f6 A400 lsls r4, r4, #2
636 00f8 1059 ldr r0, [r2, r4]
637 00fa 1843 orrs r0, r3
638 00fc 1051 str r0, [r2, r4]
639 00fe CDE7 b .L39
640 .LVL30:
641 .L44:
934:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
642 .loc 1 934 7 view .LVU196
643 0100 8720 movs r0, #135
644 0102 8000 lsls r0, r0, #2
645 0104 1158 ldr r1, [r2, r0]
646 0106 0B43 orrs r3, r1
647 .LVL31:
934:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
648 .loc 1 934 7 is_stmt 0 view .LVU197
649 0108 1350 str r3, [r2, r0]
ARM GAS /tmp/ccftcnYc.s page 32
650 010a CAE7 b .L40
651 .cfi_endproc
652 .LFE44:
654 .section .text.HAL_CAN_Start,"ax",%progbits
655 .align 1
656 .global HAL_CAN_Start
657 .syntax unified
658 .code 16
659 .thumb_func
661 HAL_CAN_Start:
662 .LVL32:
663 .LFB45:
951:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
952:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /**
953:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @}
954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** */
955:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
956:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /** @defgroup CAN_Exported_Functions_Group3 Control functions
957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @brief Control functions
958:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** *
959:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** @verbatim
960:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** ==============================================================================
961:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** ##### Control functions #####
962:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** ==============================================================================
963:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** [..] This section provides functions allowing to:
964:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (+) HAL_CAN_Start : Start the CAN module
965:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (+) HAL_CAN_Stop : Stop the CAN module
966:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (+) HAL_CAN_RequestSleep : Request sleep mode entry.
967:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (+) HAL_CAN_WakeUp : Wake up from sleep mode.
968:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (+) HAL_CAN_IsSleepActive : Check is sleep mode is active.
969:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (+) HAL_CAN_AddTxMessage : Add a message to the Tx mailboxes
970:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** and activate the corresponding
971:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** transmission request
972:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (+) HAL_CAN_AbortTxRequest : Abort transmission request
973:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (+) HAL_CAN_GetTxMailboxesFreeLevel : Return Tx mailboxes free level
974:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (+) HAL_CAN_IsTxMessagePending : Check if a transmission request is
975:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** pending on the selected Tx mailbox
976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (+) HAL_CAN_GetRxMessage : Get a CAN frame from the Rx FIFO
977:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (+) HAL_CAN_GetRxFifoFillLevel : Return Rx FIFO fill level
978:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
979:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** @endverbatim
980:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @{
981:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** */
982:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /**
984:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @brief Start the CAN module.
985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @param hcan pointer to an CAN_HandleTypeDef structure that contains
986:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * the configuration information for the specified CAN.
987:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @retval HAL status
988:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** */
989:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_Start(CAN_HandleTypeDef *hcan)
990:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
664 .loc 1 990 1 is_stmt 1 view -0
665 .cfi_startproc
666 @ args = 0, pretend = 0, frame = 0
667 @ frame_needed = 0, uses_anonymous_args = 0
668 .loc 1 990 1 is_stmt 0 view .LVU199
ARM GAS /tmp/ccftcnYc.s page 33
669 0000 70B5 push {r4, r5, r6, lr}
670 .cfi_def_cfa_offset 16
671 .cfi_offset 4, -16
672 .cfi_offset 5, -12
673 .cfi_offset 6, -8
674 .cfi_offset 14, -4
675 0002 0400 movs r4, r0
991:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** uint32_t tickstart;
676 .loc 1 991 3 is_stmt 1 view .LVU200
992:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
993:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if (hcan->State == HAL_CAN_STATE_READY)
677 .loc 1 993 3 view .LVU201
678 .loc 1 993 11 is_stmt 0 view .LVU202
679 0004 2023 movs r3, #32
680 0006 C35C ldrb r3, [r0, r3]
681 0008 DEB2 uxtb r6, r3
682 .loc 1 993 6 view .LVU203
683 000a 012B cmp r3, #1
684 000c 07D0 beq .L50
994:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
995:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Change CAN peripheral state */
996:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->State = HAL_CAN_STATE_LISTENING;
997:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
998:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Request leave initialisation */
999:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** CLEAR_BIT(hcan->Instance->MCR, CAN_MCR_INRQ);
1000:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1001:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Get tick */
1002:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** tickstart = HAL_GetTick();
1003:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1004:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Wait the acknowledge */
1005:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** while ((hcan->Instance->MSR & CAN_MSR_INAK) != 0U)
1006:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1007:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Check for the Timeout */
1008:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if ((HAL_GetTick() - tickstart) > CAN_TIMEOUT_VALUE)
1009:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1010:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Update error code */
1011:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_TIMEOUT;
1012:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1013:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Change CAN state */
1014:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->State = HAL_CAN_STATE_ERROR;
1015:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1016:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** return HAL_ERROR;
1017:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1018:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1019:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1020:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Reset the CAN ErrorCode */
1021:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->ErrorCode = HAL_CAN_ERROR_NONE;
1022:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Return function status */
1024:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** return HAL_OK;
1025:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1026:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** else
1027:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1028:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Update error code */
1029:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_NOT_READY;
685 .loc 1 1029 5 is_stmt 1 view .LVU204
686 .loc 1 1029 9 is_stmt 0 view .LVU205
ARM GAS /tmp/ccftcnYc.s page 34
687 000e 426A ldr r2, [r0, #36]
688 .loc 1 1029 21 view .LVU206
689 0010 8023 movs r3, #128
690 0012 1B03 lsls r3, r3, #12
691 0014 1343 orrs r3, r2
692 0016 4362 str r3, [r0, #36]
1030:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1031:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** return HAL_ERROR;
693 .loc 1 1031 5 is_stmt 1 view .LVU207
694 .loc 1 1031 12 is_stmt 0 view .LVU208
695 0018 0126 movs r6, #1
696 .LVL33:
697 .L48:
1032:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1033:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
698 .loc 1 1033 1 view .LVU209
699 001a 3000 movs r0, r6
700 @ sp needed
701 .LVL34:
702 .loc 1 1033 1 view .LVU210
703 001c 70BD pop {r4, r5, r6, pc}
704 .LVL35:
705 .L50:
996:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
706 .loc 1 996 5 is_stmt 1 view .LVU211
996:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
707 .loc 1 996 17 is_stmt 0 view .LVU212
708 001e 1F33 adds r3, r3, #31
709 0020 0222 movs r2, #2
710 0022 C254 strb r2, [r0, r3]
999:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
711 .loc 1 999 5 is_stmt 1 view .LVU213
712 0024 0268 ldr r2, [r0]
713 0026 1368 ldr r3, [r2]
714 0028 0121 movs r1, #1
715 002a 8B43 bics r3, r1
716 002c 1360 str r3, [r2]
1002:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
717 .loc 1 1002 5 view .LVU214
1002:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
718 .loc 1 1002 17 is_stmt 0 view .LVU215
719 002e FFF7FEFF bl HAL_GetTick
720 .LVL36:
1002:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
721 .loc 1 1002 17 view .LVU216
722 0032 0500 movs r5, r0
723 .LVL37:
1005:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
724 .loc 1 1005 5 is_stmt 1 view .LVU217
725 .L47:
1005:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
726 .loc 1 1005 49 view .LVU218
1005:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
727 .loc 1 1005 17 is_stmt 0 view .LVU219
728 0034 2368 ldr r3, [r4]
1005:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
729 .loc 1 1005 27 view .LVU220
ARM GAS /tmp/ccftcnYc.s page 35
730 0036 5B68 ldr r3, [r3, #4]
1005:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
731 .loc 1 1005 49 view .LVU221
732 0038 DB07 lsls r3, r3, #31
733 003a 0DD5 bpl .L51
1008:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
734 .loc 1 1008 7 is_stmt 1 view .LVU222
1008:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
735 .loc 1 1008 12 is_stmt 0 view .LVU223
736 003c FFF7FEFF bl HAL_GetTick
737 .LVL38:
1008:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
738 .loc 1 1008 26 discriminator 1 view .LVU224
739 0040 401B subs r0, r0, r5
1008:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
740 .loc 1 1008 10 discriminator 1 view .LVU225
741 0042 0A28 cmp r0, #10
742 0044 F6D9 bls .L47
1011:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
743 .loc 1 1011 9 is_stmt 1 view .LVU226
1011:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
744 .loc 1 1011 13 is_stmt 0 view .LVU227
745 0046 626A ldr r2, [r4, #36]
1011:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
746 .loc 1 1011 25 view .LVU228
747 0048 8023 movs r3, #128
748 004a 9B02 lsls r3, r3, #10
749 004c 1343 orrs r3, r2
750 004e 6362 str r3, [r4, #36]
1014:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
751 .loc 1 1014 9 is_stmt 1 view .LVU229
1014:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
752 .loc 1 1014 21 is_stmt 0 view .LVU230
753 0050 2023 movs r3, #32
754 0052 0522 movs r2, #5
755 0054 E254 strb r2, [r4, r3]
1016:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
756 .loc 1 1016 9 is_stmt 1 view .LVU231
1016:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
757 .loc 1 1016 16 is_stmt 0 view .LVU232
758 0056 E0E7 b .L48
759 .L51:
1021:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
760 .loc 1 1021 5 is_stmt 1 view .LVU233
1021:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
761 .loc 1 1021 21 is_stmt 0 view .LVU234
762 0058 0023 movs r3, #0
763 005a 6362 str r3, [r4, #36]
1024:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
764 .loc 1 1024 5 is_stmt 1 view .LVU235
1024:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
765 .loc 1 1024 12 is_stmt 0 view .LVU236
766 005c 0026 movs r6, #0
767 005e DCE7 b .L48
768 .cfi_endproc
769 .LFE45:
771 .section .text.HAL_CAN_Stop,"ax",%progbits
ARM GAS /tmp/ccftcnYc.s page 36
772 .align 1
773 .global HAL_CAN_Stop
774 .syntax unified
775 .code 16
776 .thumb_func
778 HAL_CAN_Stop:
779 .LVL39:
780 .LFB46:
1034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1035:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /**
1036:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @brief Stop the CAN module and enable access to configuration registers.
1037:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @param hcan pointer to an CAN_HandleTypeDef structure that contains
1038:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * the configuration information for the specified CAN.
1039:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @retval HAL status
1040:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** */
1041:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_Stop(CAN_HandleTypeDef *hcan)
1042:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
781 .loc 1 1042 1 is_stmt 1 view -0
782 .cfi_startproc
783 @ args = 0, pretend = 0, frame = 0
784 @ frame_needed = 0, uses_anonymous_args = 0
785 .loc 1 1042 1 is_stmt 0 view .LVU238
786 0000 70B5 push {r4, r5, r6, lr}
787 .cfi_def_cfa_offset 16
788 .cfi_offset 4, -16
789 .cfi_offset 5, -12
790 .cfi_offset 6, -8
791 .cfi_offset 14, -4
792 0002 0400 movs r4, r0
1043:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** uint32_t tickstart;
793 .loc 1 1043 3 is_stmt 1 view .LVU239
1044:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1045:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if (hcan->State == HAL_CAN_STATE_LISTENING)
794 .loc 1 1045 3 view .LVU240
795 .loc 1 1045 11 is_stmt 0 view .LVU241
796 0004 2023 movs r3, #32
797 0006 C35C ldrb r3, [r0, r3]
798 .loc 1 1045 6 view .LVU242
799 0008 022B cmp r3, #2
800 000a 06D0 beq .L57
1046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1047:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Request initialisation */
1048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** SET_BIT(hcan->Instance->MCR, CAN_MCR_INRQ);
1049:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1050:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Get tick */
1051:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** tickstart = HAL_GetTick();
1052:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1053:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Wait the acknowledge */
1054:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** while ((hcan->Instance->MSR & CAN_MSR_INAK) == 0U)
1055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1056:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Check for the Timeout */
1057:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if ((HAL_GetTick() - tickstart) > CAN_TIMEOUT_VALUE)
1058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1059:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Update error code */
1060:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_TIMEOUT;
1061:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1062:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Change CAN state */
ARM GAS /tmp/ccftcnYc.s page 37
1063:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->State = HAL_CAN_STATE_ERROR;
1064:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1065:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** return HAL_ERROR;
1066:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1067:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1068:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1069:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Exit from sleep mode */
1070:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** CLEAR_BIT(hcan->Instance->MCR, CAN_MCR_SLEEP);
1071:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1072:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Change CAN peripheral state */
1073:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->State = HAL_CAN_STATE_READY;
1074:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1075:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Return function status */
1076:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** return HAL_OK;
1077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1078:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** else
1079:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1080:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Update error code */
1081:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_NOT_STARTED;
801 .loc 1 1081 5 is_stmt 1 view .LVU243
802 .loc 1 1081 9 is_stmt 0 view .LVU244
803 000c 426A ldr r2, [r0, #36]
804 .loc 1 1081 21 view .LVU245
805 000e 8023 movs r3, #128
806 0010 5B03 lsls r3, r3, #13
807 0012 1343 orrs r3, r2
808 0014 4362 str r3, [r0, #36]
1082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1083:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** return HAL_ERROR;
809 .loc 1 1083 5 is_stmt 1 view .LVU246
810 .loc 1 1083 12 is_stmt 0 view .LVU247
811 0016 0120 movs r0, #1
812 .LVL40:
813 .L55:
1084:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1085:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
814 .loc 1 1085 1 view .LVU248
815 @ sp needed
816 .LVL41:
817 .loc 1 1085 1 view .LVU249
818 0018 70BD pop {r4, r5, r6, pc}
819 .LVL42:
820 .L57:
1048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
821 .loc 1 1048 5 is_stmt 1 view .LVU250
822 001a 0268 ldr r2, [r0]
823 001c 1368 ldr r3, [r2]
824 001e 0121 movs r1, #1
825 0020 0B43 orrs r3, r1
826 0022 1360 str r3, [r2]
1051:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
827 .loc 1 1051 5 view .LVU251
1051:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
828 .loc 1 1051 17 is_stmt 0 view .LVU252
829 0024 FFF7FEFF bl HAL_GetTick
830 .LVL43:
1051:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
ARM GAS /tmp/ccftcnYc.s page 38
831 .loc 1 1051 17 view .LVU253
832 0028 0500 movs r5, r0
833 .LVL44:
1054:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
834 .loc 1 1054 5 is_stmt 1 view .LVU254
835 .L54:
1054:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
836 .loc 1 1054 49 view .LVU255
1054:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
837 .loc 1 1054 17 is_stmt 0 view .LVU256
838 002a 2268 ldr r2, [r4]
1054:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
839 .loc 1 1054 27 view .LVU257
840 002c 5368 ldr r3, [r2, #4]
1054:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
841 .loc 1 1054 49 view .LVU258
842 002e DB07 lsls r3, r3, #31
843 0030 0ED4 bmi .L58
1057:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
844 .loc 1 1057 7 is_stmt 1 view .LVU259
1057:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
845 .loc 1 1057 12 is_stmt 0 view .LVU260
846 0032 FFF7FEFF bl HAL_GetTick
847 .LVL45:
1057:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
848 .loc 1 1057 26 discriminator 1 view .LVU261
849 0036 401B subs r0, r0, r5
1057:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
850 .loc 1 1057 10 discriminator 1 view .LVU262
851 0038 0A28 cmp r0, #10
852 003a F6D9 bls .L54
1060:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
853 .loc 1 1060 9 is_stmt 1 view .LVU263
1060:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
854 .loc 1 1060 13 is_stmt 0 view .LVU264
855 003c 626A ldr r2, [r4, #36]
1060:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
856 .loc 1 1060 25 view .LVU265
857 003e 8023 movs r3, #128
858 0040 9B02 lsls r3, r3, #10
859 0042 1343 orrs r3, r2
860 0044 6362 str r3, [r4, #36]
1063:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
861 .loc 1 1063 9 is_stmt 1 view .LVU266
1063:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
862 .loc 1 1063 21 is_stmt 0 view .LVU267
863 0046 2023 movs r3, #32
864 0048 0522 movs r2, #5
865 004a E254 strb r2, [r4, r3]
1065:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
866 .loc 1 1065 9 is_stmt 1 view .LVU268
1065:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
867 .loc 1 1065 16 is_stmt 0 view .LVU269
868 004c 0120 movs r0, #1
869 004e E3E7 b .L55
870 .L58:
1070:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
ARM GAS /tmp/ccftcnYc.s page 39
871 .loc 1 1070 5 is_stmt 1 view .LVU270
872 0050 1368 ldr r3, [r2]
873 0052 0221 movs r1, #2
874 0054 8B43 bics r3, r1
875 0056 1360 str r3, [r2]
1073:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
876 .loc 1 1073 5 view .LVU271
1073:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
877 .loc 1 1073 17 is_stmt 0 view .LVU272
878 0058 2023 movs r3, #32
879 005a 0122 movs r2, #1
880 005c E254 strb r2, [r4, r3]
1076:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
881 .loc 1 1076 5 is_stmt 1 view .LVU273
1076:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
882 .loc 1 1076 12 is_stmt 0 view .LVU274
883 005e 0020 movs r0, #0
884 0060 DAE7 b .L55
885 .cfi_endproc
886 .LFE46:
888 .section .text.HAL_CAN_DeInit,"ax",%progbits
889 .align 1
890 .global HAL_CAN_DeInit
891 .syntax unified
892 .code 16
893 .thumb_func
895 HAL_CAN_DeInit:
896 .LVL46:
897 .LFB41:
460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Check CAN handle */
898 .loc 1 460 1 is_stmt 1 view -0
899 .cfi_startproc
900 @ args = 0, pretend = 0, frame = 0
901 @ frame_needed = 0, uses_anonymous_args = 0
460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Check CAN handle */
902 .loc 1 460 1 is_stmt 0 view .LVU276
903 0000 10B5 push {r4, lr}
904 .cfi_def_cfa_offset 8
905 .cfi_offset 4, -8
906 .cfi_offset 14, -4
907 0002 041E subs r4, r0, #0
462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
908 .loc 1 462 3 is_stmt 1 view .LVU277
462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
909 .loc 1 462 6 is_stmt 0 view .LVU278
910 0004 10D0 beq .L61
468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
911 .loc 1 468 3 is_stmt 1 view .LVU279
471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
912 .loc 1 471 3 view .LVU280
471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
913 .loc 1 471 9 is_stmt 0 view .LVU281
914 0006 FFF7FEFF bl HAL_CAN_Stop
915 .LVL47:
484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** #endif /* (USE_HAL_CAN_REGISTER_CALLBACKS) */
916 .loc 1 484 3 is_stmt 1 view .LVU282
917 000a 2000 movs r0, r4
ARM GAS /tmp/ccftcnYc.s page 40
918 000c FFF7FEFF bl HAL_CAN_MspDeInit
919 .LVL48:
488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
920 .loc 1 488 3 view .LVU283
921 0010 2268 ldr r2, [r4]
922 0012 1168 ldr r1, [r2]
923 0014 8023 movs r3, #128
924 0016 1B02 lsls r3, r3, #8
925 0018 0B43 orrs r3, r1
926 001a 1360 str r3, [r2]
491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
927 .loc 1 491 3 view .LVU284
491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
928 .loc 1 491 19 is_stmt 0 view .LVU285
929 001c 0023 movs r3, #0
930 001e 6362 str r3, [r4, #36]
494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
931 .loc 1 494 3 is_stmt 1 view .LVU286
494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
932 .loc 1 494 15 is_stmt 0 view .LVU287
933 0020 2022 movs r2, #32
934 0022 A354 strb r3, [r4, r2]
497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
935 .loc 1 497 3 is_stmt 1 view .LVU288
497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
936 .loc 1 497 10 is_stmt 0 view .LVU289
937 0024 0020 movs r0, #0
938 .L60:
498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
939 .loc 1 498 1 view .LVU290
940 @ sp needed
941 .LVL49:
498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
942 .loc 1 498 1 view .LVU291
943 0026 10BD pop {r4, pc}
944 .LVL50:
945 .L61:
464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
946 .loc 1 464 12 view .LVU292
947 0028 0120 movs r0, #1
948 .LVL51:
464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
949 .loc 1 464 12 view .LVU293
950 002a FCE7 b .L60
951 .cfi_endproc
952 .LFE41:
954 .section .text.HAL_CAN_RequestSleep,"ax",%progbits
955 .align 1
956 .global HAL_CAN_RequestSleep
957 .syntax unified
958 .code 16
959 .thumb_func
961 HAL_CAN_RequestSleep:
962 .LVL52:
963 .LFB47:
1086:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1087:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /**
ARM GAS /tmp/ccftcnYc.s page 41
1088:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @brief Request the sleep mode (low power) entry.
1089:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * When returning from this function, Sleep mode will be entered
1090:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * as soon as the current CAN activity (transmission or reception
1091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * of a CAN frame) has been completed.
1092:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
1093:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * the configuration information for the specified CAN.
1094:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @retval HAL status.
1095:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** */
1096:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_RequestSleep(CAN_HandleTypeDef *hcan)
1097:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
964 .loc 1 1097 1 is_stmt 1 view -0
965 .cfi_startproc
966 @ args = 0, pretend = 0, frame = 0
967 @ frame_needed = 0, uses_anonymous_args = 0
968 @ link register save eliminated.
1098:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
969 .loc 1 1098 3 view .LVU295
970 .loc 1 1098 24 is_stmt 0 view .LVU296
971 0000 2023 movs r3, #32
972 0002 C35C ldrb r3, [r0, r3]
973 .LVL53:
1099:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
974 .loc 1 1100 3 is_stmt 1 view .LVU297
975 .loc 1 1100 38 is_stmt 0 view .LVU298
976 0004 013B subs r3, r3, #1
977 .LVL54:
978 .loc 1 1100 38 view .LVU299
979 0006 DBB2 uxtb r3, r3
980 .LVL55:
981 .loc 1 1100 6 view .LVU300
982 0008 012B cmp r3, #1
983 000a 06D9 bls .L65
1101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
1102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Request Sleep mode */
1104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** SET_BIT(hcan->Instance->MCR, CAN_MCR_SLEEP);
1105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Return function status */
1107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** return HAL_OK;
1108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** else
1110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Update error code */
1112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_NOT_INITIALIZED;
984 .loc 1 1112 5 is_stmt 1 view .LVU301
985 .loc 1 1112 9 is_stmt 0 view .LVU302
986 000c 426A ldr r2, [r0, #36]
987 .loc 1 1112 21 view .LVU303
988 000e 8023 movs r3, #128
989 0010 DB02 lsls r3, r3, #11
990 0012 1343 orrs r3, r2
991 0014 4362 str r3, [r0, #36]
1113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Return function status */
1115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** return HAL_ERROR;
992 .loc 1 1115 5 is_stmt 1 view .LVU304
ARM GAS /tmp/ccftcnYc.s page 42
993 .loc 1 1115 12 is_stmt 0 view .LVU305
994 0016 0120 movs r0, #1
995 .LVL56:
996 .L64:
1116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
997 .loc 1 1117 1 view .LVU306
998 @ sp needed
999 0018 7047 bx lr
1000 .LVL57:
1001 .L65:
1104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1002 .loc 1 1104 5 is_stmt 1 view .LVU307
1003 001a 0268 ldr r2, [r0]
1004 001c 1368 ldr r3, [r2]
1005 001e 0221 movs r1, #2
1006 0020 0B43 orrs r3, r1
1007 0022 1360 str r3, [r2]
1107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1008 .loc 1 1107 5 view .LVU308
1107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1009 .loc 1 1107 12 is_stmt 0 view .LVU309
1010 0024 0020 movs r0, #0
1011 .LVL58:
1107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1012 .loc 1 1107 12 view .LVU310
1013 0026 F7E7 b .L64
1014 .cfi_endproc
1015 .LFE47:
1017 .section .text.HAL_CAN_WakeUp,"ax",%progbits
1018 .align 1
1019 .global HAL_CAN_WakeUp
1020 .syntax unified
1021 .code 16
1022 .thumb_func
1024 HAL_CAN_WakeUp:
1025 .LVL59:
1026 .LFB48:
1118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /**
1120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @brief Wake up from sleep mode.
1121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * When returning with HAL_OK status from this function, Sleep mode
1122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * is exited.
1123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
1124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * the configuration information for the specified CAN.
1125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @retval HAL status.
1126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** */
1127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_WakeUp(CAN_HandleTypeDef *hcan)
1128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1027 .loc 1 1128 1 is_stmt 1 view -0
1028 .cfi_startproc
1029 @ args = 0, pretend = 0, frame = 8
1030 @ frame_needed = 0, uses_anonymous_args = 0
1031 @ link register save eliminated.
1032 .loc 1 1128 1 is_stmt 0 view .LVU312
1033 0000 82B0 sub sp, sp, #8
1034 .cfi_def_cfa_offset 8
ARM GAS /tmp/ccftcnYc.s page 43
1129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** __IO uint32_t count = 0;
1035 .loc 1 1129 3 is_stmt 1 view .LVU313
1036 .loc 1 1129 17 is_stmt 0 view .LVU314
1037 0002 0023 movs r3, #0
1038 0004 0193 str r3, [sp, #4]
1130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** uint32_t timeout = 1000000U;
1039 .loc 1 1130 3 is_stmt 1 view .LVU315
1040 .LVL60:
1131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
1041 .loc 1 1131 3 view .LVU316
1042 .loc 1 1131 24 is_stmt 0 view .LVU317
1043 0006 2033 adds r3, r3, #32
1044 0008 C35C ldrb r3, [r0, r3]
1045 .LVL61:
1132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
1046 .loc 1 1133 3 is_stmt 1 view .LVU318
1047 .loc 1 1133 38 is_stmt 0 view .LVU319
1048 000a 013B subs r3, r3, #1
1049 .LVL62:
1050 .loc 1 1133 38 view .LVU320
1051 000c DBB2 uxtb r3, r3
1052 .LVL63:
1053 .loc 1 1133 6 view .LVU321
1054 000e 012B cmp r3, #1
1055 0010 18D8 bhi .L67
1134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
1135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Wake up request */
1137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** CLEAR_BIT(hcan->Instance->MCR, CAN_MCR_SLEEP);
1056 .loc 1 1137 5 is_stmt 1 view .LVU322
1057 0012 0268 ldr r2, [r0]
1058 0014 1368 ldr r3, [r2]
1059 0016 0221 movs r1, #2
1060 0018 8B43 bics r3, r1
1061 001a 1360 str r3, [r2]
1062 .L70:
1138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Wait sleep mode is exited */
1140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** do
1063 .loc 1 1140 5 view .LVU323
1141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Increment counter */
1143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** count++;
1064 .loc 1 1143 7 view .LVU324
1065 .loc 1 1143 12 is_stmt 0 view .LVU325
1066 001c 019B ldr r3, [sp, #4]
1067 001e 0133 adds r3, r3, #1
1068 0020 0193 str r3, [sp, #4]
1144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Check if timeout is reached */
1146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if (count > timeout)
1069 .loc 1 1146 7 is_stmt 1 view .LVU326
1070 .loc 1 1146 17 is_stmt 0 view .LVU327
1071 0022 019A ldr r2, [sp, #4]
1072 .loc 1 1146 10 view .LVU328
1073 0024 0B4B ldr r3, .L73
ARM GAS /tmp/ccftcnYc.s page 44
1074 0026 9A42 cmp r2, r3
1075 0028 05D8 bhi .L72
1147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Update error code */
1149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_TIMEOUT;
1150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** return HAL_ERROR;
1152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** while ((hcan->Instance->MSR & CAN_MSR_SLAK) != 0U);
1076 .loc 1 1154 49 is_stmt 1 view .LVU329
1077 .loc 1 1154 17 is_stmt 0 view .LVU330
1078 002a 0368 ldr r3, [r0]
1079 .loc 1 1154 27 view .LVU331
1080 002c 5B68 ldr r3, [r3, #4]
1081 .loc 1 1154 49 view .LVU332
1082 002e 9B07 lsls r3, r3, #30
1083 0030 F4D4 bmi .L70
1155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Return function status */
1157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** return HAL_OK;
1084 .loc 1 1157 12 view .LVU333
1085 0032 0020 movs r0, #0
1086 .LVL64:
1087 .loc 1 1157 12 view .LVU334
1088 0034 0CE0 b .L69
1089 .LVL65:
1090 .L72:
1149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1091 .loc 1 1149 9 is_stmt 1 view .LVU335
1149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1092 .loc 1 1149 13 is_stmt 0 view .LVU336
1093 0036 426A ldr r2, [r0, #36]
1149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1094 .loc 1 1149 25 view .LVU337
1095 0038 8023 movs r3, #128
1096 003a 9B02 lsls r3, r3, #10
1097 003c 1343 orrs r3, r2
1098 003e 4362 str r3, [r0, #36]
1151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1099 .loc 1 1151 9 is_stmt 1 view .LVU338
1151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1100 .loc 1 1151 16 is_stmt 0 view .LVU339
1101 0040 0120 movs r0, #1
1102 .LVL66:
1151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1103 .loc 1 1151 16 view .LVU340
1104 0042 05E0 b .L69
1105 .LVL67:
1106 .L67:
1158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** else
1160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Update error code */
1162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_NOT_INITIALIZED;
1107 .loc 1 1162 5 is_stmt 1 view .LVU341
1108 .loc 1 1162 9 is_stmt 0 view .LVU342
ARM GAS /tmp/ccftcnYc.s page 45
1109 0044 426A ldr r2, [r0, #36]
1110 .loc 1 1162 21 view .LVU343
1111 0046 8023 movs r3, #128
1112 0048 DB02 lsls r3, r3, #11
1113 004a 1343 orrs r3, r2
1114 004c 4362 str r3, [r0, #36]
1163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** return HAL_ERROR;
1115 .loc 1 1164 5 is_stmt 1 view .LVU344
1116 .loc 1 1164 12 is_stmt 0 view .LVU345
1117 004e 0120 movs r0, #1
1118 .LVL68:
1119 .L69:
1165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1120 .loc 1 1166 1 view .LVU346
1121 0050 02B0 add sp, sp, #8
1122 @ sp needed
1123 0052 7047 bx lr
1124 .L74:
1125 .align 2
1126 .L73:
1127 0054 40420F00 .word 1000000
1128 .cfi_endproc
1129 .LFE48:
1131 .section .text.HAL_CAN_IsSleepActive,"ax",%progbits
1132 .align 1
1133 .global HAL_CAN_IsSleepActive
1134 .syntax unified
1135 .code 16
1136 .thumb_func
1138 HAL_CAN_IsSleepActive:
1139 .LVL69:
1140 .LFB49:
1167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /**
1169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @brief Check is sleep mode is active.
1170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
1171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * the configuration information for the specified CAN.
1172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @retval Status
1173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * - 0 : Sleep mode is not active.
1174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * - 1 : Sleep mode is active.
1175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** */
1176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** uint32_t HAL_CAN_IsSleepActive(const CAN_HandleTypeDef *hcan)
1177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1141 .loc 1 1177 1 is_stmt 1 view -0
1142 .cfi_startproc
1143 @ args = 0, pretend = 0, frame = 0
1144 @ frame_needed = 0, uses_anonymous_args = 0
1145 @ link register save eliminated.
1178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** uint32_t status = 0U;
1146 .loc 1 1178 3 view .LVU348
1179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
1147 .loc 1 1179 3 view .LVU349
1148 .loc 1 1179 24 is_stmt 0 view .LVU350
1149 0000 2023 movs r3, #32
1150 0002 C35C ldrb r3, [r0, r3]
ARM GAS /tmp/ccftcnYc.s page 46
1151 .LVL70:
1180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
1152 .loc 1 1181 3 is_stmt 1 view .LVU351
1153 .loc 1 1181 38 is_stmt 0 view .LVU352
1154 0004 013B subs r3, r3, #1
1155 .LVL71:
1156 .loc 1 1181 38 view .LVU353
1157 0006 DBB2 uxtb r3, r3
1158 .LVL72:
1159 .loc 1 1181 6 view .LVU354
1160 0008 012B cmp r3, #1
1161 000a 01D9 bls .L79
1178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
1162 .loc 1 1178 12 view .LVU355
1163 000c 0020 movs r0, #0
1164 .LVL73:
1165 .L75:
1182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
1183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Check Sleep mode */
1185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if ((hcan->Instance->MSR & CAN_MSR_SLAK) != 0U)
1186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** status = 1U;
1188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Return function status */
1192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** return status;
1193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1166 .loc 1 1193 1 view .LVU356
1167 @ sp needed
1168 000e 7047 bx lr
1169 .LVL74:
1170 .L79:
1185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1171 .loc 1 1185 5 is_stmt 1 view .LVU357
1185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1172 .loc 1 1185 14 is_stmt 0 view .LVU358
1173 0010 0368 ldr r3, [r0]
1185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1174 .loc 1 1185 24 view .LVU359
1175 0012 5B68 ldr r3, [r3, #4]
1185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1176 .loc 1 1185 30 view .LVU360
1177 0014 0222 movs r2, #2
1178 0016 1000 movs r0, r2
1179 .LVL75:
1185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1180 .loc 1 1185 30 view .LVU361
1181 0018 1840 ands r0, r3
1185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1182 .loc 1 1185 8 view .LVU362
1183 001a 1A42 tst r2, r3
1184 001c F7D0 beq .L75
1187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1185 .loc 1 1187 14 view .LVU363
ARM GAS /tmp/ccftcnYc.s page 47
1186 001e 0120 movs r0, #1
1187 .LVL76:
1192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1188 .loc 1 1192 3 is_stmt 1 view .LVU364
1192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1189 .loc 1 1192 10 is_stmt 0 view .LVU365
1190 0020 F5E7 b .L75
1191 .cfi_endproc
1192 .LFE49:
1194 .section .text.HAL_CAN_AddTxMessage,"ax",%progbits
1195 .align 1
1196 .global HAL_CAN_AddTxMessage
1197 .syntax unified
1198 .code 16
1199 .thumb_func
1201 HAL_CAN_AddTxMessage:
1202 .LVL77:
1203 .LFB50:
1194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /**
1196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @brief Add a message to the first free Tx mailbox and activate the
1197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * corresponding transmission request.
1198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
1199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * the configuration information for the specified CAN.
1200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @param pHeader pointer to a CAN_TxHeaderTypeDef structure.
1201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @param aData array containing the payload of the Tx frame.
1202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @param pTxMailbox pointer to a variable where the function will return
1203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * the TxMailbox used to store the Tx message.
1204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * This parameter can be a value of @arg CAN_Tx_Mailboxes.
1205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @retval HAL status
1206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** */
1207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_AddTxMessage(CAN_HandleTypeDef *hcan, const CAN_TxHeaderTypeDef *pHeader,
1208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** const uint8_t aData[], uint32_t *pTxMailbox)
1209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1204 .loc 1 1209 1 is_stmt 1 view -0
1205 .cfi_startproc
1206 @ args = 0, pretend = 0, frame = 0
1207 @ frame_needed = 0, uses_anonymous_args = 0
1208 .loc 1 1209 1 is_stmt 0 view .LVU367
1209 0000 70B5 push {r4, r5, r6, lr}
1210 .cfi_def_cfa_offset 16
1211 .cfi_offset 4, -16
1212 .cfi_offset 5, -12
1213 .cfi_offset 6, -8
1214 .cfi_offset 14, -4
1210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** uint32_t transmitmailbox;
1215 .loc 1 1210 3 is_stmt 1 view .LVU368
1211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
1216 .loc 1 1211 3 view .LVU369
1217 .loc 1 1211 24 is_stmt 0 view .LVU370
1218 0002 2024 movs r4, #32
1219 0004 045D ldrb r4, [r0, r4]
1220 .LVL78:
1212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** uint32_t tsr = READ_REG(hcan->Instance->TSR);
1221 .loc 1 1212 3 is_stmt 1 view .LVU371
1222 .loc 1 1212 18 is_stmt 0 view .LVU372
1223 0006 0568 ldr r5, [r0]
ARM GAS /tmp/ccftcnYc.s page 48
1224 .loc 1 1212 12 view .LVU373
1225 0008 AD68 ldr r5, [r5, #8]
1226 .LVL79:
1213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Check the parameters */
1215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** assert_param(IS_CAN_IDTYPE(pHeader->IDE));
1227 .loc 1 1215 3 is_stmt 1 view .LVU374
1216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** assert_param(IS_CAN_RTR(pHeader->RTR));
1228 .loc 1 1216 3 view .LVU375
1217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** assert_param(IS_CAN_DLC(pHeader->DLC));
1229 .loc 1 1217 3 view .LVU376
1218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if (pHeader->IDE == CAN_ID_STD)
1230 .loc 1 1218 3 view .LVU377
1219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** assert_param(IS_CAN_STDID(pHeader->StdId));
1231 .loc 1 1220 5 view .LVU378
1221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** else
1223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** assert_param(IS_CAN_EXTID(pHeader->ExtId));
1232 .loc 1 1224 5 view .LVU379
1225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** assert_param(IS_FUNCTIONAL_STATE(pHeader->TransmitGlobalTime));
1233 .loc 1 1226 3 view .LVU380
1227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
1234 .loc 1 1228 3 view .LVU381
1235 .loc 1 1228 38 is_stmt 0 view .LVU382
1236 000a 013C subs r4, r4, #1
1237 .LVL80:
1238 .loc 1 1228 38 view .LVU383
1239 000c E4B2 uxtb r4, r4
1240 .LVL81:
1241 .loc 1 1228 6 view .LVU384
1242 000e 012C cmp r4, #1
1243 0010 61D8 bhi .L81
1229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
1230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Check that all the Tx mailboxes are not full */
1232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if (((tsr & CAN_TSR_TME0) != 0U) ||
1244 .loc 1 1232 5 is_stmt 1 view .LVU385
1233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** ((tsr & CAN_TSR_TME1) != 0U) ||
1245 .loc 1 1233 38 is_stmt 0 view .LVU386
1246 0012 E024 movs r4, #224
1247 0014 6405 lsls r4, r4, #21
1232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** ((tsr & CAN_TSR_TME1) != 0U) ||
1248 .loc 1 1232 8 view .LVU387
1249 0016 2542 tst r5, r4
1250 0018 56D0 beq .L82
1234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** ((tsr & CAN_TSR_TME2) != 0U))
1235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Select an empty transmit mailbox */
1237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** transmitmailbox = (tsr & CAN_TSR_CODE) >> CAN_TSR_CODE_Pos;
1251 .loc 1 1237 7 is_stmt 1 view .LVU388
1252 .loc 1 1237 46 is_stmt 0 view .LVU389
1253 001a 2D0E lsrs r5, r5, #24
1254 .LVL82:
ARM GAS /tmp/ccftcnYc.s page 49
1255 .loc 1 1237 23 view .LVU390
1256 001c 0324 movs r4, #3
1257 001e 2C40 ands r4, r5
1258 .LVL83:
1238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Store the Tx mailbox */
1240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** *pTxMailbox = (uint32_t)1 << transmitmailbox;
1259 .loc 1 1240 7 is_stmt 1 view .LVU391
1260 .loc 1 1240 33 is_stmt 0 view .LVU392
1261 0020 0125 movs r5, #1
1262 0022 A540 lsls r5, r5, r4
1263 .loc 1 1240 19 view .LVU393
1264 0024 1D60 str r5, [r3]
1241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Set up the Id */
1243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if (pHeader->IDE == CAN_ID_STD)
1265 .loc 1 1243 7 is_stmt 1 view .LVU394
1266 .loc 1 1243 18 is_stmt 0 view .LVU395
1267 0026 8B68 ldr r3, [r1, #8]
1268 .LVL84:
1269 .loc 1 1243 10 view .LVU396
1270 0028 002B cmp r3, #0
1271 002a 3AD1 bne .L83
1244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->Instance->sTxMailBox[transmitmailbox].TIR = ((pHeader->StdId << CAN_TI0R_STID_Pos) |
1272 .loc 1 1245 9 is_stmt 1 view .LVU397
1273 .loc 1 1245 68 is_stmt 0 view .LVU398
1274 002c 0B68 ldr r3, [r1]
1275 .loc 1 1245 76 view .LVU399
1276 002e 5B05 lsls r3, r3, #21
1246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** pHeader->RTR);
1277 .loc 1 1246 67 view .LVU400
1278 0030 CD68 ldr r5, [r1, #12]
1245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** pHeader->RTR);
1279 .loc 1 1245 13 view .LVU401
1280 0032 0668 ldr r6, [r0]
1245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** pHeader->RTR);
1281 .loc 1 1245 98 view .LVU402
1282 0034 2B43 orrs r3, r5
1245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** pHeader->RTR);
1283 .loc 1 1245 57 view .LVU403
1284 0036 2500 movs r5, r4
1285 0038 1835 adds r5, r5, #24
1286 003a 2D01 lsls r5, r5, #4
1287 003c AB51 str r3, [r5, r6]
1288 .L84:
1247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** else
1249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->Instance->sTxMailBox[transmitmailbox].TIR = ((pHeader->ExtId << CAN_TI0R_EXID_Pos) |
1251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** pHeader->IDE |
1252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** pHeader->RTR);
1253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Set up the DLC */
1256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->Instance->sTxMailBox[transmitmailbox].TDTR = (pHeader->DLC);
1289 .loc 1 1256 7 is_stmt 1 view .LVU404
ARM GAS /tmp/ccftcnYc.s page 50
1290 .loc 1 1256 11 is_stmt 0 view .LVU405
1291 003e 0368 ldr r3, [r0]
1292 .loc 1 1256 66 view .LVU406
1293 0040 0E69 ldr r6, [r1, #16]
1294 .loc 1 1256 56 view .LVU407
1295 0042 2500 movs r5, r4
1296 0044 1835 adds r5, r5, #24
1297 0046 2D01 lsls r5, r5, #4
1298 0048 5B19 adds r3, r3, r5
1299 004a 5E60 str r6, [r3, #4]
1257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Set up the Transmit Global Time mode */
1259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if (pHeader->TransmitGlobalTime == ENABLE)
1300 .loc 1 1259 7 is_stmt 1 view .LVU408
1301 .loc 1 1259 18 is_stmt 0 view .LVU409
1302 004c 0B7D ldrb r3, [r1, #20]
1303 .loc 1 1259 10 view .LVU410
1304 004e 012B cmp r3, #1
1305 0050 32D0 beq .L87
1306 .LVL85:
1307 .L85:
1260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** SET_BIT(hcan->Instance->sTxMailBox[transmitmailbox].TDTR, CAN_TDT0R_TGT);
1262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Set up the data field */
1265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** WRITE_REG(hcan->Instance->sTxMailBox[transmitmailbox].TDHR,
1308 .loc 1 1265 7 is_stmt 1 view .LVU411
1309 0052 D379 ldrb r3, [r2, #7]
1310 0054 1B06 lsls r3, r3, #24
1311 0056 9179 ldrb r1, [r2, #6]
1312 0058 0904 lsls r1, r1, #16
1313 005a 0B43 orrs r3, r1
1314 005c 5179 ldrb r1, [r2, #5]
1315 005e 0902 lsls r1, r1, #8
1316 0060 0B43 orrs r3, r1
1317 0062 1579 ldrb r5, [r2, #4]
1318 0064 0168 ldr r1, [r0]
1319 0066 2B43 orrs r3, r5
1320 0068 2501 lsls r5, r4, #4
1321 006a 4919 adds r1, r1, r5
1322 006c 8D31 adds r1, r1, #141
1323 006e FF31 adds r1, r1, #255
1324 0070 0B60 str r3, [r1]
1266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** ((uint32_t)aData[7] << CAN_TDH0R_DATA7_Pos) |
1267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** ((uint32_t)aData[6] << CAN_TDH0R_DATA6_Pos) |
1268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** ((uint32_t)aData[5] << CAN_TDH0R_DATA5_Pos) |
1269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** ((uint32_t)aData[4] << CAN_TDH0R_DATA4_Pos));
1270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** WRITE_REG(hcan->Instance->sTxMailBox[transmitmailbox].TDLR,
1325 .loc 1 1270 7 view .LVU412
1326 0072 D378 ldrb r3, [r2, #3]
1327 0074 1B06 lsls r3, r3, #24
1328 0076 9178 ldrb r1, [r2, #2]
1329 0078 0904 lsls r1, r1, #16
1330 007a 0B43 orrs r3, r1
1331 007c 5178 ldrb r1, [r2, #1]
1332 007e 0902 lsls r1, r1, #8
ARM GAS /tmp/ccftcnYc.s page 51
1333 0080 0B43 orrs r3, r1
1334 0082 1178 ldrb r1, [r2]
1335 0084 0268 ldr r2, [r0]
1336 .LVL86:
1337 .loc 1 1270 7 is_stmt 0 view .LVU413
1338 0086 0B43 orrs r3, r1
1339 0088 5219 adds r2, r2, r5
1340 008a 8932 adds r2, r2, #137
1341 008c FF32 adds r2, r2, #255
1342 008e 1360 str r3, [r2]
1271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** ((uint32_t)aData[3] << CAN_TDL0R_DATA3_Pos) |
1272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** ((uint32_t)aData[2] << CAN_TDL0R_DATA2_Pos) |
1273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** ((uint32_t)aData[1] << CAN_TDL0R_DATA1_Pos) |
1274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** ((uint32_t)aData[0] << CAN_TDL0R_DATA0_Pos));
1275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Request transmission */
1277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** SET_BIT(hcan->Instance->sTxMailBox[transmitmailbox].TIR, CAN_TI0R_TXRQ);
1343 .loc 1 1277 7 is_stmt 1 view .LVU414
1344 0090 0268 ldr r2, [r0]
1345 0092 1834 adds r4, r4, #24
1346 .LVL87:
1347 .loc 1 1277 7 is_stmt 0 view .LVU415
1348 0094 2401 lsls r4, r4, #4
1349 .LVL88:
1350 .loc 1 1277 7 view .LVU416
1351 0096 A358 ldr r3, [r4, r2]
1352 0098 0121 movs r1, #1
1353 009a 0B43 orrs r3, r1
1354 009c A350 str r3, [r4, r2]
1278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Return function status */
1280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** return HAL_OK;
1355 .loc 1 1280 7 is_stmt 1 view .LVU417
1356 .loc 1 1280 14 is_stmt 0 view .LVU418
1357 009e 0020 movs r0, #0
1358 .LVL89:
1359 .loc 1 1280 14 view .LVU419
1360 00a0 1FE0 b .L86
1361 .LVL90:
1362 .L83:
1250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** pHeader->IDE |
1363 .loc 1 1250 9 is_stmt 1 view .LVU420
1250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** pHeader->IDE |
1364 .loc 1 1250 68 is_stmt 0 view .LVU421
1365 00a2 4D68 ldr r5, [r1, #4]
1250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** pHeader->IDE |
1366 .loc 1 1250 76 view .LVU422
1367 00a4 ED00 lsls r5, r5, #3
1250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** pHeader->IDE |
1368 .loc 1 1250 98 view .LVU423
1369 00a6 2B43 orrs r3, r5
1252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1370 .loc 1 1252 67 view .LVU424
1371 00a8 CD68 ldr r5, [r1, #12]
1250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** pHeader->IDE |
1372 .loc 1 1250 13 view .LVU425
1373 00aa 0668 ldr r6, [r0]
ARM GAS /tmp/ccftcnYc.s page 52
1251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** pHeader->RTR);
1374 .loc 1 1251 73 view .LVU426
1375 00ac 2B43 orrs r3, r5
1250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** pHeader->IDE |
1376 .loc 1 1250 57 view .LVU427
1377 00ae 2500 movs r5, r4
1378 00b0 1835 adds r5, r5, #24
1379 00b2 2D01 lsls r5, r5, #4
1380 00b4 AB51 str r3, [r5, r6]
1381 00b6 C2E7 b .L84
1382 .L87:
1261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1383 .loc 1 1261 9 is_stmt 1 view .LVU428
1384 00b8 0368 ldr r3, [r0]
1385 00ba 5B19 adds r3, r3, r5
1386 00bc 5D68 ldr r5, [r3, #4]
1387 00be 8021 movs r1, #128
1388 .LVL91:
1261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1389 .loc 1 1261 9 is_stmt 0 view .LVU429
1390 00c0 4900 lsls r1, r1, #1
1391 00c2 2943 orrs r1, r5
1392 00c4 5960 str r1, [r3, #4]
1393 00c6 C4E7 b .L85
1394 .LVL92:
1395 .L82:
1281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** else
1283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Update error code */
1285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_PARAM;
1396 .loc 1 1285 7 is_stmt 1 view .LVU430
1397 .loc 1 1285 11 is_stmt 0 view .LVU431
1398 00c8 426A ldr r2, [r0, #36]
1399 .LVL93:
1400 .loc 1 1285 23 view .LVU432
1401 00ca 8023 movs r3, #128
1402 .LVL94:
1403 .loc 1 1285 23 view .LVU433
1404 00cc 9B03 lsls r3, r3, #14
1405 00ce 1343 orrs r3, r2
1406 00d0 4362 str r3, [r0, #36]
1286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** return HAL_ERROR;
1407 .loc 1 1287 7 is_stmt 1 view .LVU434
1408 .loc 1 1287 14 is_stmt 0 view .LVU435
1409 00d2 0120 movs r0, #1
1410 .LVL95:
1411 .loc 1 1287 14 view .LVU436
1412 00d4 05E0 b .L86
1413 .LVL96:
1414 .L81:
1288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** else
1291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Update error code */
ARM GAS /tmp/ccftcnYc.s page 53
1293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_NOT_INITIALIZED;
1415 .loc 1 1293 5 is_stmt 1 view .LVU437
1416 .loc 1 1293 9 is_stmt 0 view .LVU438
1417 00d6 426A ldr r2, [r0, #36]
1418 .LVL97:
1419 .loc 1 1293 21 view .LVU439
1420 00d8 8023 movs r3, #128
1421 .LVL98:
1422 .loc 1 1293 21 view .LVU440
1423 00da DB02 lsls r3, r3, #11
1424 00dc 1343 orrs r3, r2
1425 00de 4362 str r3, [r0, #36]
1294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** return HAL_ERROR;
1426 .loc 1 1295 5 is_stmt 1 view .LVU441
1427 .loc 1 1295 12 is_stmt 0 view .LVU442
1428 00e0 0120 movs r0, #1
1429 .LVL99:
1430 .L86:
1296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1431 .loc 1 1297 1 view .LVU443
1432 @ sp needed
1433 00e2 70BD pop {r4, r5, r6, pc}
1434 .cfi_endproc
1435 .LFE50:
1437 .section .text.HAL_CAN_AbortTxRequest,"ax",%progbits
1438 .align 1
1439 .global HAL_CAN_AbortTxRequest
1440 .syntax unified
1441 .code 16
1442 .thumb_func
1444 HAL_CAN_AbortTxRequest:
1445 .LVL100:
1446 .LFB51:
1298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /**
1300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @brief Abort transmission requests
1301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @param hcan pointer to an CAN_HandleTypeDef structure that contains
1302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * the configuration information for the specified CAN.
1303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @param TxMailboxes List of the Tx Mailboxes to abort.
1304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * This parameter can be any combination of @arg CAN_Tx_Mailboxes.
1305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @retval HAL status
1306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** */
1307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_AbortTxRequest(CAN_HandleTypeDef *hcan, uint32_t TxMailboxes)
1308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1447 .loc 1 1308 1 is_stmt 1 view -0
1448 .cfi_startproc
1449 @ args = 0, pretend = 0, frame = 0
1450 @ frame_needed = 0, uses_anonymous_args = 0
1451 .loc 1 1308 1 is_stmt 0 view .LVU445
1452 0000 10B5 push {r4, lr}
1453 .cfi_def_cfa_offset 8
1454 .cfi_offset 4, -8
1455 .cfi_offset 14, -4
1309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
1456 .loc 1 1309 3 is_stmt 1 view .LVU446
ARM GAS /tmp/ccftcnYc.s page 54
1457 .loc 1 1309 24 is_stmt 0 view .LVU447
1458 0002 2023 movs r3, #32
1459 0004 C35C ldrb r3, [r0, r3]
1460 .LVL101:
1310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Check function parameters */
1312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** assert_param(IS_CAN_TX_MAILBOX_LIST(TxMailboxes));
1461 .loc 1 1312 3 is_stmt 1 view .LVU448
1313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
1462 .loc 1 1314 3 view .LVU449
1463 .loc 1 1314 38 is_stmt 0 view .LVU450
1464 0006 013B subs r3, r3, #1
1465 .LVL102:
1466 .loc 1 1314 38 view .LVU451
1467 0008 DBB2 uxtb r3, r3
1468 .LVL103:
1469 .loc 1 1314 6 view .LVU452
1470 000a 012B cmp r3, #1
1471 000c 06D9 bls .L97
1315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
1316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Check Tx Mailbox 0 */
1318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if ((TxMailboxes & CAN_TX_MAILBOX0) != 0U)
1319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Add cancellation request for Tx Mailbox 0 */
1321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** SET_BIT(hcan->Instance->TSR, CAN_TSR_ABRQ0);
1322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Check Tx Mailbox 1 */
1325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if ((TxMailboxes & CAN_TX_MAILBOX1) != 0U)
1326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Add cancellation request for Tx Mailbox 1 */
1328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** SET_BIT(hcan->Instance->TSR, CAN_TSR_ABRQ1);
1329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Check Tx Mailbox 2 */
1332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if ((TxMailboxes & CAN_TX_MAILBOX2) != 0U)
1333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Add cancellation request for Tx Mailbox 2 */
1335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** SET_BIT(hcan->Instance->TSR, CAN_TSR_ABRQ2);
1336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Return function status */
1339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** return HAL_OK;
1340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** else
1342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Update error code */
1344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_NOT_INITIALIZED;
1472 .loc 1 1344 5 is_stmt 1 view .LVU453
1473 .loc 1 1344 9 is_stmt 0 view .LVU454
1474 000e 426A ldr r2, [r0, #36]
1475 .loc 1 1344 21 view .LVU455
1476 0010 8023 movs r3, #128
1477 0012 DB02 lsls r3, r3, #11
1478 0014 1343 orrs r3, r2
ARM GAS /tmp/ccftcnYc.s page 55
1479 0016 4362 str r3, [r0, #36]
1345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** return HAL_ERROR;
1480 .loc 1 1346 5 is_stmt 1 view .LVU456
1481 .loc 1 1346 12 is_stmt 0 view .LVU457
1482 0018 0120 movs r0, #1
1483 .LVL104:
1484 .L93:
1347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1485 .loc 1 1348 1 view .LVU458
1486 @ sp needed
1487 001a 10BD pop {r4, pc}
1488 .LVL105:
1489 .L97:
1318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1490 .loc 1 1318 5 is_stmt 1 view .LVU459
1318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1491 .loc 1 1318 8 is_stmt 0 view .LVU460
1492 001c CB07 lsls r3, r1, #31
1493 001e 04D5 bpl .L90
1321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1494 .loc 1 1321 7 is_stmt 1 view .LVU461
1495 0020 0268 ldr r2, [r0]
1496 0022 9368 ldr r3, [r2, #8]
1497 0024 8024 movs r4, #128
1498 0026 2343 orrs r3, r4
1499 0028 9360 str r3, [r2, #8]
1500 .L90:
1325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1501 .loc 1 1325 5 view .LVU462
1325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1502 .loc 1 1325 8 is_stmt 0 view .LVU463
1503 002a 8B07 lsls r3, r1, #30
1504 002c 05D5 bpl .L91
1328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1505 .loc 1 1328 7 is_stmt 1 view .LVU464
1506 002e 0268 ldr r2, [r0]
1507 0030 9468 ldr r4, [r2, #8]
1508 0032 8023 movs r3, #128
1509 0034 1B02 lsls r3, r3, #8
1510 0036 2343 orrs r3, r4
1511 0038 9360 str r3, [r2, #8]
1512 .L91:
1332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1513 .loc 1 1332 5 view .LVU465
1332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1514 .loc 1 1332 8 is_stmt 0 view .LVU466
1515 003a 4907 lsls r1, r1, #29
1516 003c 05D5 bpl .L92
1517 .LVL106:
1335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1518 .loc 1 1335 7 is_stmt 1 view .LVU467
1519 003e 0268 ldr r2, [r0]
1520 0040 9168 ldr r1, [r2, #8]
1521 0042 8023 movs r3, #128
1522 0044 1B04 lsls r3, r3, #16
ARM GAS /tmp/ccftcnYc.s page 56
1523 0046 0B43 orrs r3, r1
1524 0048 9360 str r3, [r2, #8]
1525 .L92:
1339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1526 .loc 1 1339 5 view .LVU468
1339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1527 .loc 1 1339 12 is_stmt 0 view .LVU469
1528 004a 0020 movs r0, #0
1529 .LVL107:
1339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1530 .loc 1 1339 12 view .LVU470
1531 004c E5E7 b .L93
1532 .cfi_endproc
1533 .LFE51:
1535 .section .text.HAL_CAN_GetTxMailboxesFreeLevel,"ax",%progbits
1536 .align 1
1537 .global HAL_CAN_GetTxMailboxesFreeLevel
1538 .syntax unified
1539 .code 16
1540 .thumb_func
1542 HAL_CAN_GetTxMailboxesFreeLevel:
1543 .LVL108:
1544 .LFB52:
1349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /**
1351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @brief Return Tx Mailboxes free level: number of free Tx Mailboxes.
1352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
1353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * the configuration information for the specified CAN.
1354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @retval Number of free Tx Mailboxes.
1355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** */
1356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** uint32_t HAL_CAN_GetTxMailboxesFreeLevel(const CAN_HandleTypeDef *hcan)
1357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1545 .loc 1 1357 1 is_stmt 1 view -0
1546 .cfi_startproc
1547 @ args = 0, pretend = 0, frame = 0
1548 @ frame_needed = 0, uses_anonymous_args = 0
1549 @ link register save eliminated.
1358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** uint32_t freelevel = 0U;
1550 .loc 1 1358 3 view .LVU472
1359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
1551 .loc 1 1359 3 view .LVU473
1552 .loc 1 1359 24 is_stmt 0 view .LVU474
1553 0000 2023 movs r3, #32
1554 0002 C35C ldrb r3, [r0, r3]
1555 .LVL109:
1360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
1556 .loc 1 1361 3 is_stmt 1 view .LVU475
1557 .loc 1 1361 38 is_stmt 0 view .LVU476
1558 0004 013B subs r3, r3, #1
1559 .LVL110:
1560 .loc 1 1361 38 view .LVU477
1561 0006 DBB2 uxtb r3, r3
1562 .LVL111:
1563 .loc 1 1361 6 view .LVU478
1564 0008 012B cmp r3, #1
1565 000a 01D9 bls .L106
ARM GAS /tmp/ccftcnYc.s page 57
1358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
1566 .loc 1 1358 12 view .LVU479
1567 000c 0020 movs r0, #0
1568 .LVL112:
1362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
1363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Check Tx Mailbox 0 status */
1365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if ((hcan->Instance->TSR & CAN_TSR_TME0) != 0U)
1366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** freelevel++;
1368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Check Tx Mailbox 1 status */
1371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if ((hcan->Instance->TSR & CAN_TSR_TME1) != 0U)
1372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** freelevel++;
1374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Check Tx Mailbox 2 status */
1377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if ((hcan->Instance->TSR & CAN_TSR_TME2) != 0U)
1378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** freelevel++;
1380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Return Tx Mailboxes free level */
1384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** return freelevel;
1569 .loc 1 1384 3 is_stmt 1 view .LVU480
1570 .L98:
1385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1571 .loc 1 1385 1 is_stmt 0 view .LVU481
1572 @ sp needed
1573 000e 7047 bx lr
1574 .LVL113:
1575 .L106:
1365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1576 .loc 1 1365 5 is_stmt 1 view .LVU482
1365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1577 .loc 1 1365 14 is_stmt 0 view .LVU483
1578 0010 0368 ldr r3, [r0]
1365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1579 .loc 1 1365 24 view .LVU484
1580 0012 9968 ldr r1, [r3, #8]
1365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1581 .loc 1 1365 30 view .LVU485
1582 0014 8022 movs r2, #128
1583 0016 D204 lsls r2, r2, #19
1584 0018 0800 movs r0, r1
1585 .LVL114:
1365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1586 .loc 1 1365 30 view .LVU486
1587 001a 1040 ands r0, r2
1365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1588 .loc 1 1365 8 view .LVU487
1589 001c 1142 tst r1, r2
1590 001e 00D0 beq .L100
1367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
ARM GAS /tmp/ccftcnYc.s page 58
1591 .loc 1 1367 16 view .LVU488
1592 0020 0120 movs r0, #1
1593 .L100:
1594 .LVL115:
1371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1595 .loc 1 1371 5 is_stmt 1 view .LVU489
1371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1596 .loc 1 1371 24 is_stmt 0 view .LVU490
1597 0022 9A68 ldr r2, [r3, #8]
1371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1598 .loc 1 1371 8 view .LVU491
1599 0024 1201 lsls r2, r2, #4
1600 0026 00D5 bpl .L101
1373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1601 .loc 1 1373 7 is_stmt 1 view .LVU492
1373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1602 .loc 1 1373 16 is_stmt 0 view .LVU493
1603 0028 0130 adds r0, r0, #1
1604 .LVL116:
1605 .L101:
1377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1606 .loc 1 1377 5 is_stmt 1 view .LVU494
1377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1607 .loc 1 1377 24 is_stmt 0 view .LVU495
1608 002a 9B68 ldr r3, [r3, #8]
1377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1609 .loc 1 1377 8 view .LVU496
1610 002c DB00 lsls r3, r3, #3
1611 002e EED5 bpl .L98
1379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1612 .loc 1 1379 7 is_stmt 1 view .LVU497
1379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1613 .loc 1 1379 16 is_stmt 0 view .LVU498
1614 0030 0130 adds r0, r0, #1
1615 .LVL117:
1379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1616 .loc 1 1379 16 view .LVU499
1617 0032 ECE7 b .L98
1618 .cfi_endproc
1619 .LFE52:
1621 .section .text.HAL_CAN_IsTxMessagePending,"ax",%progbits
1622 .align 1
1623 .global HAL_CAN_IsTxMessagePending
1624 .syntax unified
1625 .code 16
1626 .thumb_func
1628 HAL_CAN_IsTxMessagePending:
1629 .LVL118:
1630 .LFB53:
1386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /**
1388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @brief Check if a transmission request is pending on the selected Tx
1389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * Mailboxes.
1390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @param hcan pointer to an CAN_HandleTypeDef structure that contains
1391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * the configuration information for the specified CAN.
1392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @param TxMailboxes List of Tx Mailboxes to check.
1393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * This parameter can be any combination of @arg CAN_Tx_Mailboxes.
ARM GAS /tmp/ccftcnYc.s page 59
1394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @retval Status
1395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * - 0 : No pending transmission request on any selected Tx Mailboxes.
1396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * - 1 : Pending transmission request on at least one of the selected
1397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * Tx Mailbox.
1398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** */
1399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** uint32_t HAL_CAN_IsTxMessagePending(const CAN_HandleTypeDef *hcan, uint32_t TxMailboxes)
1400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1631 .loc 1 1400 1 is_stmt 1 view -0
1632 .cfi_startproc
1633 @ args = 0, pretend = 0, frame = 0
1634 @ frame_needed = 0, uses_anonymous_args = 0
1635 @ link register save eliminated.
1401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** uint32_t status = 0U;
1636 .loc 1 1401 3 view .LVU501
1402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
1637 .loc 1 1402 3 view .LVU502
1638 .loc 1 1402 24 is_stmt 0 view .LVU503
1639 0000 2023 movs r3, #32
1640 0002 C35C ldrb r3, [r0, r3]
1641 .LVL119:
1403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Check function parameters */
1405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** assert_param(IS_CAN_TX_MAILBOX_LIST(TxMailboxes));
1642 .loc 1 1405 3 is_stmt 1 view .LVU504
1406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
1643 .loc 1 1407 3 view .LVU505
1644 .loc 1 1407 38 is_stmt 0 view .LVU506
1645 0004 013B subs r3, r3, #1
1646 .LVL120:
1647 .loc 1 1407 38 view .LVU507
1648 0006 DBB2 uxtb r3, r3
1649 .LVL121:
1650 .loc 1 1407 6 view .LVU508
1651 0008 012B cmp r3, #1
1652 000a 01D9 bls .L111
1401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
1653 .loc 1 1401 12 view .LVU509
1654 000c 0020 movs r0, #0
1655 .LVL122:
1656 .L107:
1408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
1409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Check pending transmission request on the selected Tx Mailboxes */
1411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if ((hcan->Instance->TSR & (TxMailboxes << CAN_TSR_TME0_Pos)) != (TxMailboxes << CAN_TSR_TME0_P
1412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** status = 1U;
1414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Return status */
1418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** return status;
1419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1657 .loc 1 1419 1 view .LVU510
1658 @ sp needed
1659 000e 7047 bx lr
1660 .LVL123:
ARM GAS /tmp/ccftcnYc.s page 60
1661 .L111:
1411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1662 .loc 1 1411 5 is_stmt 1 view .LVU511
1411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1663 .loc 1 1411 14 is_stmt 0 view .LVU512
1664 0010 0368 ldr r3, [r0]
1411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1665 .loc 1 1411 24 view .LVU513
1666 0012 9B68 ldr r3, [r3, #8]
1411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1667 .loc 1 1411 45 view .LVU514
1668 0014 8906 lsls r1, r1, #26
1669 .LVL124:
1411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1670 .loc 1 1411 30 view .LVU515
1671 0016 0B40 ands r3, r1
1411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1672 .loc 1 1411 8 view .LVU516
1673 0018 9942 cmp r1, r3
1674 001a 01D0 beq .L112
1413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1675 .loc 1 1413 14 view .LVU517
1676 001c 0120 movs r0, #1
1677 .LVL125:
1418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1678 .loc 1 1418 3 is_stmt 1 view .LVU518
1418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1679 .loc 1 1418 10 is_stmt 0 view .LVU519
1680 001e F6E7 b .L107
1681 .LVL126:
1682 .L112:
1401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
1683 .loc 1 1401 12 view .LVU520
1684 0020 0020 movs r0, #0
1685 .LVL127:
1401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
1686 .loc 1 1401 12 view .LVU521
1687 0022 F4E7 b .L107
1688 .cfi_endproc
1689 .LFE53:
1691 .section .text.HAL_CAN_GetTxTimestamp,"ax",%progbits
1692 .align 1
1693 .global HAL_CAN_GetTxTimestamp
1694 .syntax unified
1695 .code 16
1696 .thumb_func
1698 HAL_CAN_GetTxTimestamp:
1699 .LVL128:
1700 .LFB54:
1420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /**
1422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @brief Return timestamp of Tx message sent, if time triggered communication
1423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** mode is enabled.
1424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
1425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * the configuration information for the specified CAN.
1426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @param TxMailbox Tx Mailbox where the timestamp of message sent will be
1427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * read.
ARM GAS /tmp/ccftcnYc.s page 61
1428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * This parameter can be one value of @arg CAN_Tx_Mailboxes.
1429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @retval Timestamp of message sent from Tx Mailbox.
1430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** */
1431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** uint32_t HAL_CAN_GetTxTimestamp(const CAN_HandleTypeDef *hcan, uint32_t TxMailbox)
1432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1701 .loc 1 1432 1 is_stmt 1 view -0
1702 .cfi_startproc
1703 @ args = 0, pretend = 0, frame = 0
1704 @ frame_needed = 0, uses_anonymous_args = 0
1705 @ link register save eliminated.
1433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** uint32_t timestamp = 0U;
1706 .loc 1 1433 3 view .LVU523
1434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** uint32_t transmitmailbox;
1707 .loc 1 1434 3 view .LVU524
1435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
1708 .loc 1 1435 3 view .LVU525
1709 .loc 1 1435 24 is_stmt 0 view .LVU526
1710 0000 2023 movs r3, #32
1711 0002 C35C ldrb r3, [r0, r3]
1712 .LVL129:
1436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Check function parameters */
1438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** assert_param(IS_CAN_TX_MAILBOX(TxMailbox));
1713 .loc 1 1438 3 is_stmt 1 view .LVU527
1439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
1714 .loc 1 1440 3 view .LVU528
1715 .loc 1 1440 38 is_stmt 0 view .LVU529
1716 0004 013B subs r3, r3, #1
1717 .LVL130:
1718 .loc 1 1440 38 view .LVU530
1719 0006 DBB2 uxtb r3, r3
1720 .LVL131:
1721 .loc 1 1440 6 view .LVU531
1722 0008 012B cmp r3, #1
1723 000a 01D9 bls .L119
1433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** uint32_t transmitmailbox;
1724 .loc 1 1433 12 view .LVU532
1725 000c 0020 movs r0, #0
1726 .LVL132:
1441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
1442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Select the Tx mailbox */
1444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Select the Tx mailbox */
1445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if (TxMailbox == CAN_TX_MAILBOX0)
1446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** transmitmailbox = 0U;
1448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** else if (TxMailbox == CAN_TX_MAILBOX1)
1450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** transmitmailbox = 1U;
1452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** else /* (TxMailbox == CAN_TX_MAILBOX2) */
1454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** transmitmailbox = 2U;
1456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
ARM GAS /tmp/ccftcnYc.s page 62
1458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Get timestamp */
1459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** timestamp = (hcan->Instance->sTxMailBox[transmitmailbox].TDTR & CAN_TDT0R_TIME) >> CAN_TDT0R_TI
1460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Return the timestamp */
1463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** return timestamp;
1727 .loc 1 1463 3 is_stmt 1 view .LVU533
1728 .L113:
1464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1729 .loc 1 1464 1 is_stmt 0 view .LVU534
1730 @ sp needed
1731 000e 7047 bx lr
1732 .LVL133:
1733 .L119:
1445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1734 .loc 1 1445 5 is_stmt 1 view .LVU535
1445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1735 .loc 1 1445 8 is_stmt 0 view .LVU536
1736 0010 0129 cmp r1, #1
1737 0012 0BD0 beq .L117
1449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1738 .loc 1 1449 10 is_stmt 1 view .LVU537
1449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1739 .loc 1 1449 13 is_stmt 0 view .LVU538
1740 0014 0229 cmp r1, #2
1741 0016 07D0 beq .L120
1455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1742 .loc 1 1455 23 view .LVU539
1743 0018 0223 movs r3, #2
1744 .L115:
1745 .LVL134:
1459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1746 .loc 1 1459 5 is_stmt 1 view .LVU540
1459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1747 .loc 1 1459 22 is_stmt 0 view .LVU541
1748 001a 0268 ldr r2, [r0]
1459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1749 .loc 1 1459 61 view .LVU542
1750 001c 1833 adds r3, r3, #24
1751 .LVL135:
1459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1752 .loc 1 1459 61 view .LVU543
1753 001e 1B01 lsls r3, r3, #4
1754 .LVL136:
1459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1755 .loc 1 1459 61 view .LVU544
1756 0020 D318 adds r3, r2, r3
1757 0022 5868 ldr r0, [r3, #4]
1758 .LVL137:
1459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1759 .loc 1 1459 85 view .LVU545
1760 0024 000C lsrs r0, r0, #16
1761 .LVL138:
1459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1762 .loc 1 1459 85 view .LVU546
1763 0026 F2E7 b .L113
1764 .LVL139:
ARM GAS /tmp/ccftcnYc.s page 63
1765 .L120:
1451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1766 .loc 1 1451 23 view .LVU547
1767 0028 0123 movs r3, #1
1768 002a F6E7 b .L115
1769 .L117:
1447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1770 .loc 1 1447 23 view .LVU548
1771 002c 0023 movs r3, #0
1772 002e F4E7 b .L115
1773 .cfi_endproc
1774 .LFE54:
1776 .section .text.HAL_CAN_GetRxMessage,"ax",%progbits
1777 .align 1
1778 .global HAL_CAN_GetRxMessage
1779 .syntax unified
1780 .code 16
1781 .thumb_func
1783 HAL_CAN_GetRxMessage:
1784 .LVL140:
1785 .LFB55:
1465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /**
1467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @brief Get an CAN frame from the Rx FIFO zone into the message RAM.
1468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @param hcan pointer to an CAN_HandleTypeDef structure that contains
1469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * the configuration information for the specified CAN.
1470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @param RxFifo Fifo number of the received message to be read.
1471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * This parameter can be a value of @arg CAN_receive_FIFO_number.
1472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @param pHeader pointer to a CAN_RxHeaderTypeDef structure where the header
1473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * of the Rx frame will be stored.
1474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @param aData array where the payload of the Rx frame will be stored.
1475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @retval HAL status
1476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** */
1477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_GetRxMessage(CAN_HandleTypeDef *hcan, uint32_t RxFifo,
1478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** CAN_RxHeaderTypeDef *pHeader, uint8_t aData[])
1479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1786 .loc 1 1479 1 is_stmt 1 view -0
1787 .cfi_startproc
1788 @ args = 0, pretend = 0, frame = 0
1789 @ frame_needed = 0, uses_anonymous_args = 0
1790 .loc 1 1479 1 is_stmt 0 view .LVU550
1791 0000 70B5 push {r4, r5, r6, lr}
1792 .cfi_def_cfa_offset 16
1793 .cfi_offset 4, -16
1794 .cfi_offset 5, -12
1795 .cfi_offset 6, -8
1796 .cfi_offset 14, -4
1480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
1797 .loc 1 1480 3 is_stmt 1 view .LVU551
1798 .loc 1 1480 24 is_stmt 0 view .LVU552
1799 0002 2024 movs r4, #32
1800 0004 045D ldrb r4, [r0, r4]
1801 .LVL141:
1481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** assert_param(IS_CAN_RX_FIFO(RxFifo));
1802 .loc 1 1482 3 is_stmt 1 view .LVU553
1483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
ARM GAS /tmp/ccftcnYc.s page 64
1484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
1803 .loc 1 1484 3 view .LVU554
1804 .loc 1 1484 38 is_stmt 0 view .LVU555
1805 0006 013C subs r4, r4, #1
1806 .LVL142:
1807 .loc 1 1484 38 view .LVU556
1808 0008 E4B2 uxtb r4, r4
1809 .LVL143:
1810 .loc 1 1484 6 view .LVU557
1811 000a 012C cmp r4, #1
1812 000c 00D9 bls .LCB1587
1813 000e 9CE0 b .L122 @long jump
1814 .LCB1587:
1485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
1486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Check the Rx FIFO */
1488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if (RxFifo == CAN_RX_FIFO0) /* Rx element is assigned to Rx FIFO 0 */
1815 .loc 1 1488 5 is_stmt 1 view .LVU558
1816 .loc 1 1488 8 is_stmt 0 view .LVU559
1817 0010 0029 cmp r1, #0
1818 0012 0AD1 bne .L123
1489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Check that the Rx FIFO 0 is not empty */
1491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if ((hcan->Instance->RF0R & CAN_RF0R_FMP0) == 0U)
1819 .loc 1 1491 7 is_stmt 1 view .LVU560
1820 .loc 1 1491 16 is_stmt 0 view .LVU561
1821 0014 0468 ldr r4, [r0]
1822 .loc 1 1491 26 view .LVU562
1823 0016 E468 ldr r4, [r4, #12]
1824 .loc 1 1491 10 view .LVU563
1825 0018 A407 lsls r4, r4, #30
1826 001a 11D1 bne .L124
1492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Update error code */
1494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_PARAM;
1827 .loc 1 1494 9 is_stmt 1 view .LVU564
1828 .loc 1 1494 13 is_stmt 0 view .LVU565
1829 001c 426A ldr r2, [r0, #36]
1830 .LVL144:
1831 .loc 1 1494 25 view .LVU566
1832 001e 8023 movs r3, #128
1833 .LVL145:
1834 .loc 1 1494 25 view .LVU567
1835 0020 9B03 lsls r3, r3, #14
1836 0022 1343 orrs r3, r2
1837 0024 4362 str r3, [r0, #36]
1495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** return HAL_ERROR;
1838 .loc 1 1496 9 is_stmt 1 view .LVU568
1839 .loc 1 1496 16 is_stmt 0 view .LVU569
1840 0026 0120 movs r0, #1
1841 .LVL146:
1842 .loc 1 1496 16 view .LVU570
1843 0028 95E0 b .L125
1844 .LVL147:
1845 .L123:
1497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
ARM GAS /tmp/ccftcnYc.s page 65
1498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** else /* Rx element is assigned to Rx FIFO 1 */
1500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Check that the Rx FIFO 1 is not empty */
1502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if ((hcan->Instance->RF1R & CAN_RF1R_FMP1) == 0U)
1846 .loc 1 1502 7 is_stmt 1 view .LVU571
1847 .loc 1 1502 16 is_stmt 0 view .LVU572
1848 002a 0468 ldr r4, [r0]
1849 .loc 1 1502 26 view .LVU573
1850 002c 2469 ldr r4, [r4, #16]
1851 .loc 1 1502 10 view .LVU574
1852 002e A407 lsls r4, r4, #30
1853 0030 06D1 bne .L124
1503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Update error code */
1505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_PARAM;
1854 .loc 1 1505 9 is_stmt 1 view .LVU575
1855 .loc 1 1505 13 is_stmt 0 view .LVU576
1856 0032 426A ldr r2, [r0, #36]
1857 .LVL148:
1858 .loc 1 1505 25 view .LVU577
1859 0034 8023 movs r3, #128
1860 .LVL149:
1861 .loc 1 1505 25 view .LVU578
1862 0036 9B03 lsls r3, r3, #14
1863 0038 1343 orrs r3, r2
1864 003a 4362 str r3, [r0, #36]
1506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** return HAL_ERROR;
1865 .loc 1 1507 9 is_stmt 1 view .LVU579
1866 .loc 1 1507 16 is_stmt 0 view .LVU580
1867 003c 0120 movs r0, #1
1868 .LVL150:
1869 .loc 1 1507 16 view .LVU581
1870 003e 8AE0 b .L125
1871 .LVL151:
1872 .L124:
1508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Get the header */
1512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** pHeader->IDE = CAN_RI0R_IDE & hcan->Instance->sFIFOMailBox[RxFifo].RIR;
1873 .loc 1 1512 5 is_stmt 1 view .LVU582
1874 .loc 1 1512 39 is_stmt 0 view .LVU583
1875 0040 0568 ldr r5, [r0]
1876 .loc 1 1512 71 view .LVU584
1877 0042 0C00 movs r4, r1
1878 0044 1B34 adds r4, r4, #27
1879 0046 2401 lsls r4, r4, #4
1880 0048 6559 ldr r5, [r4, r5]
1881 .loc 1 1512 33 view .LVU585
1882 004a 0424 movs r4, #4
1883 004c 2C40 ands r4, r5
1884 .loc 1 1512 18 view .LVU586
1885 004e 9460 str r4, [r2, #8]
1513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if (pHeader->IDE == CAN_ID_STD)
1886 .loc 1 1513 5 is_stmt 1 view .LVU587
ARM GAS /tmp/ccftcnYc.s page 66
1887 .loc 1 1513 8 is_stmt 0 view .LVU588
1888 0050 64D1 bne .L126
1514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** pHeader->StdId = (CAN_RI0R_STID & hcan->Instance->sFIFOMailBox[RxFifo].RIR) >> CAN_TI0R_STID_
1889 .loc 1 1515 7 is_stmt 1 view .LVU589
1890 .loc 1 1515 45 is_stmt 0 view .LVU590
1891 0052 0568 ldr r5, [r0]
1892 .loc 1 1515 77 view .LVU591
1893 0054 0C00 movs r4, r1
1894 0056 1B34 adds r4, r4, #27
1895 0058 2401 lsls r4, r4, #4
1896 005a 6459 ldr r4, [r4, r5]
1897 .loc 1 1515 83 view .LVU592
1898 005c 640D lsrs r4, r4, #21
1899 .loc 1 1515 22 view .LVU593
1900 005e 1460 str r4, [r2]
1901 .L127:
1516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** else
1518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** pHeader->ExtId = ((CAN_RI0R_EXID | CAN_RI0R_STID) &
1520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->Instance->sFIFOMailBox[RxFifo].RIR) >> CAN_RI0R_EXID_Pos;
1521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** pHeader->RTR = (CAN_RI0R_RTR & hcan->Instance->sFIFOMailBox[RxFifo].RIR);
1902 .loc 1 1522 5 is_stmt 1 view .LVU594
1903 .loc 1 1522 40 is_stmt 0 view .LVU595
1904 0060 0568 ldr r5, [r0]
1905 .loc 1 1522 72 view .LVU596
1906 0062 0C00 movs r4, r1
1907 0064 1B34 adds r4, r4, #27
1908 0066 2401 lsls r4, r4, #4
1909 0068 6659 ldr r6, [r4, r5]
1910 .loc 1 1522 34 view .LVU597
1911 006a 0225 movs r5, #2
1912 006c 3540 ands r5, r6
1913 .loc 1 1522 18 view .LVU598
1914 006e D560 str r5, [r2, #12]
1523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if (((CAN_RDT0R_DLC & hcan->Instance->sFIFOMailBox[RxFifo].RDTR) >> CAN_RDT0R_DLC_Pos) >= 8U)
1915 .loc 1 1523 5 is_stmt 1 view .LVU599
1916 .loc 1 1523 31 is_stmt 0 view .LVU600
1917 0070 0568 ldr r5, [r0]
1918 .loc 1 1523 63 view .LVU601
1919 0072 2C19 adds r4, r5, r4
1920 0074 6468 ldr r4, [r4, #4]
1921 .loc 1 1523 8 view .LVU602
1922 0076 2407 lsls r4, r4, #28
1923 0078 58D5 bpl .L128
1524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Truncate DLC to 8 if received field is over range */
1526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** pHeader->DLC = 8U;
1924 .loc 1 1526 7 is_stmt 1 view .LVU603
1925 .loc 1 1526 20 is_stmt 0 view .LVU604
1926 007a 0824 movs r4, #8
1927 007c 1461 str r4, [r2, #16]
1928 .L129:
1527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** else
ARM GAS /tmp/ccftcnYc.s page 67
1529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** pHeader->DLC = (CAN_RDT0R_DLC & hcan->Instance->sFIFOMailBox[RxFifo].RDTR) >> CAN_RDT0R_DLC_P
1531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** pHeader->FilterMatchIndex = (CAN_RDT0R_FMI & hcan->Instance->sFIFOMailBox[RxFifo].RDTR) >> CAN_
1929 .loc 1 1532 5 is_stmt 1 view .LVU605
1930 .loc 1 1532 54 is_stmt 0 view .LVU606
1931 007e 0568 ldr r5, [r0]
1932 .loc 1 1532 86 view .LVU607
1933 0080 0C00 movs r4, r1
1934 0082 1B34 adds r4, r4, #27
1935 0084 2401 lsls r4, r4, #4
1936 0086 2D19 adds r5, r5, r4
1937 0088 6E68 ldr r6, [r5, #4]
1938 .loc 1 1532 93 view .LVU608
1939 008a 360A lsrs r6, r6, #8
1940 008c FF25 movs r5, #255
1941 008e 3540 ands r5, r6
1942 .loc 1 1532 31 view .LVU609
1943 0090 9561 str r5, [r2, #24]
1533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** pHeader->Timestamp = (CAN_RDT0R_TIME & hcan->Instance->sFIFOMailBox[RxFifo].RDTR) >> CAN_RDT0R_
1944 .loc 1 1533 5 is_stmt 1 view .LVU610
1945 .loc 1 1533 48 is_stmt 0 view .LVU611
1946 0092 0568 ldr r5, [r0]
1947 .loc 1 1533 80 view .LVU612
1948 0094 2C19 adds r4, r5, r4
1949 0096 6468 ldr r4, [r4, #4]
1950 .loc 1 1533 87 view .LVU613
1951 0098 240C lsrs r4, r4, #16
1952 .loc 1 1533 24 view .LVU614
1953 009a 5461 str r4, [r2, #20]
1534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Get the data */
1536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** aData[0] = (uint8_t)((CAN_RDL0R_DATA0 & hcan->Instance->sFIFOMailBox[RxFifo].RDLR) >> CAN_RDL0R
1954 .loc 1 1536 5 is_stmt 1 view .LVU615
1955 .loc 1 1536 49 is_stmt 0 view .LVU616
1956 009c 0468 ldr r4, [r0]
1957 .loc 1 1536 81 view .LVU617
1958 009e 0A01 lsls r2, r1, #4
1959 .LVL152:
1960 .loc 1 1536 81 view .LVU618
1961 00a0 A418 adds r4, r4, r2
1962 00a2 B934 adds r4, r4, #185
1963 00a4 FF34 adds r4, r4, #255
1964 00a6 2468 ldr r4, [r4]
1965 .loc 1 1536 14 view .LVU619
1966 00a8 1C70 strb r4, [r3]
1537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** aData[1] = (uint8_t)((CAN_RDL0R_DATA1 & hcan->Instance->sFIFOMailBox[RxFifo].RDLR) >> CAN_RDL0R
1967 .loc 1 1537 5 is_stmt 1 view .LVU620
1968 .loc 1 1537 49 is_stmt 0 view .LVU621
1969 00aa 0468 ldr r4, [r0]
1970 .loc 1 1537 81 view .LVU622
1971 00ac A418 adds r4, r4, r2
1972 00ae B934 adds r4, r4, #185
1973 00b0 FF34 adds r4, r4, #255
1974 00b2 2468 ldr r4, [r4]
1975 .loc 1 1537 88 view .LVU623
1976 00b4 240A lsrs r4, r4, #8
ARM GAS /tmp/ccftcnYc.s page 68
1977 .loc 1 1537 14 view .LVU624
1978 00b6 5C70 strb r4, [r3, #1]
1538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** aData[2] = (uint8_t)((CAN_RDL0R_DATA2 & hcan->Instance->sFIFOMailBox[RxFifo].RDLR) >> CAN_RDL0R
1979 .loc 1 1538 5 is_stmt 1 view .LVU625
1980 .loc 1 1538 49 is_stmt 0 view .LVU626
1981 00b8 0468 ldr r4, [r0]
1982 .loc 1 1538 81 view .LVU627
1983 00ba A418 adds r4, r4, r2
1984 00bc B934 adds r4, r4, #185
1985 00be FF34 adds r4, r4, #255
1986 00c0 2468 ldr r4, [r4]
1987 .loc 1 1538 88 view .LVU628
1988 00c2 240C lsrs r4, r4, #16
1989 .loc 1 1538 14 view .LVU629
1990 00c4 9C70 strb r4, [r3, #2]
1539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** aData[3] = (uint8_t)((CAN_RDL0R_DATA3 & hcan->Instance->sFIFOMailBox[RxFifo].RDLR) >> CAN_RDL0R
1991 .loc 1 1539 5 is_stmt 1 view .LVU630
1992 .loc 1 1539 49 is_stmt 0 view .LVU631
1993 00c6 0468 ldr r4, [r0]
1994 .loc 1 1539 81 view .LVU632
1995 00c8 A418 adds r4, r4, r2
1996 00ca B934 adds r4, r4, #185
1997 00cc FF34 adds r4, r4, #255
1998 00ce 2468 ldr r4, [r4]
1999 .loc 1 1539 16 view .LVU633
2000 00d0 240E lsrs r4, r4, #24
2001 .loc 1 1539 14 view .LVU634
2002 00d2 DC70 strb r4, [r3, #3]
1540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** aData[4] = (uint8_t)((CAN_RDH0R_DATA4 & hcan->Instance->sFIFOMailBox[RxFifo].RDHR) >> CAN_RDH0R
2003 .loc 1 1540 5 is_stmt 1 view .LVU635
2004 .loc 1 1540 49 is_stmt 0 view .LVU636
2005 00d4 0468 ldr r4, [r0]
2006 .loc 1 1540 81 view .LVU637
2007 00d6 A418 adds r4, r4, r2
2008 00d8 BD34 adds r4, r4, #189
2009 00da FF34 adds r4, r4, #255
2010 00dc 2468 ldr r4, [r4]
2011 .loc 1 1540 14 view .LVU638
2012 00de 1C71 strb r4, [r3, #4]
1541:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** aData[5] = (uint8_t)((CAN_RDH0R_DATA5 & hcan->Instance->sFIFOMailBox[RxFifo].RDHR) >> CAN_RDH0R
2013 .loc 1 1541 5 is_stmt 1 view .LVU639
2014 .loc 1 1541 49 is_stmt 0 view .LVU640
2015 00e0 0468 ldr r4, [r0]
2016 .loc 1 1541 81 view .LVU641
2017 00e2 A418 adds r4, r4, r2
2018 00e4 BD34 adds r4, r4, #189
2019 00e6 FF34 adds r4, r4, #255
2020 00e8 2468 ldr r4, [r4]
2021 .loc 1 1541 88 view .LVU642
2022 00ea 240A lsrs r4, r4, #8
2023 .loc 1 1541 14 view .LVU643
2024 00ec 5C71 strb r4, [r3, #5]
1542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** aData[6] = (uint8_t)((CAN_RDH0R_DATA6 & hcan->Instance->sFIFOMailBox[RxFifo].RDHR) >> CAN_RDH0R
2025 .loc 1 1542 5 is_stmt 1 view .LVU644
2026 .loc 1 1542 49 is_stmt 0 view .LVU645
2027 00ee 0468 ldr r4, [r0]
2028 .loc 1 1542 81 view .LVU646
ARM GAS /tmp/ccftcnYc.s page 69
2029 00f0 A418 adds r4, r4, r2
2030 00f2 BD34 adds r4, r4, #189
2031 00f4 FF34 adds r4, r4, #255
2032 00f6 2468 ldr r4, [r4]
2033 .loc 1 1542 88 view .LVU647
2034 00f8 240C lsrs r4, r4, #16
2035 .loc 1 1542 14 view .LVU648
2036 00fa 9C71 strb r4, [r3, #6]
1543:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** aData[7] = (uint8_t)((CAN_RDH0R_DATA7 & hcan->Instance->sFIFOMailBox[RxFifo].RDHR) >> CAN_RDH0R
2037 .loc 1 1543 5 is_stmt 1 view .LVU649
2038 .loc 1 1543 49 is_stmt 0 view .LVU650
2039 00fc 0468 ldr r4, [r0]
2040 .loc 1 1543 81 view .LVU651
2041 00fe A218 adds r2, r4, r2
2042 0100 BD32 adds r2, r2, #189
2043 0102 FF32 adds r2, r2, #255
2044 0104 1268 ldr r2, [r2]
2045 .loc 1 1543 16 view .LVU652
2046 0106 120E lsrs r2, r2, #24
2047 .loc 1 1543 14 view .LVU653
2048 0108 DA71 strb r2, [r3, #7]
1544:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Release the FIFO */
1546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if (RxFifo == CAN_RX_FIFO0) /* Rx element is assigned to Rx FIFO 0 */
2049 .loc 1 1546 5 is_stmt 1 view .LVU654
2050 .loc 1 1546 8 is_stmt 0 view .LVU655
2051 010a 0029 cmp r1, #0
2052 010c 17D1 bne .L130
1547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Release RX FIFO 0 */
1549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** SET_BIT(hcan->Instance->RF0R, CAN_RF0R_RFOM0);
2053 .loc 1 1549 7 is_stmt 1 view .LVU656
2054 010e 0268 ldr r2, [r0]
2055 0110 D368 ldr r3, [r2, #12]
2056 .LVL153:
2057 .loc 1 1549 7 is_stmt 0 view .LVU657
2058 0112 2031 adds r1, r1, #32
2059 .LVL154:
2060 .loc 1 1549 7 view .LVU658
2061 0114 0B43 orrs r3, r1
2062 0116 D360 str r3, [r2, #12]
2063 .LVL155:
2064 .L131:
1550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** else /* Rx element is assigned to Rx FIFO 1 */
1552:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1553:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Release RX FIFO 1 */
1554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** SET_BIT(hcan->Instance->RF1R, CAN_RF1R_RFOM1);
1555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1556:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1557:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Return function status */
1558:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** return HAL_OK;
2065 .loc 1 1558 5 is_stmt 1 view .LVU659
2066 .loc 1 1558 12 is_stmt 0 view .LVU660
2067 0118 0020 movs r0, #0
2068 .LVL156:
2069 .loc 1 1558 12 view .LVU661
ARM GAS /tmp/ccftcnYc.s page 70
2070 011a 1CE0 b .L125
2071 .LVL157:
2072 .L126:
1519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->Instance->sFIFOMailBox[RxFifo].RIR) >> CAN_RI0R_EXID_Pos;
2073 .loc 1 1519 7 is_stmt 1 view .LVU662
1520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
2074 .loc 1 1520 29 is_stmt 0 view .LVU663
2075 011c 0568 ldr r5, [r0]
1520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
2076 .loc 1 1520 61 view .LVU664
2077 011e 0C00 movs r4, r1
2078 0120 1B34 adds r4, r4, #27
2079 0122 2401 lsls r4, r4, #4
2080 0124 6459 ldr r4, [r4, r5]
1520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
2081 .loc 1 1520 67 view .LVU665
2082 0126 E408 lsrs r4, r4, #3
1519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->Instance->sFIFOMailBox[RxFifo].RIR) >> CAN_RI0R_EXID_Pos;
2083 .loc 1 1519 22 view .LVU666
2084 0128 5460 str r4, [r2, #4]
2085 012a 99E7 b .L127
2086 .L128:
1530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
2087 .loc 1 1530 7 is_stmt 1 view .LVU667
1530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
2088 .loc 1 1530 75 is_stmt 0 view .LVU668
2089 012c 0C00 movs r4, r1
2090 012e 1B34 adds r4, r4, #27
2091 0130 2401 lsls r4, r4, #4
2092 0132 2D19 adds r5, r5, r4
2093 0134 6D68 ldr r5, [r5, #4]
1530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
2094 .loc 1 1530 82 view .LVU669
2095 0136 0F24 movs r4, #15
2096 0138 2C40 ands r4, r5
1530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
2097 .loc 1 1530 20 view .LVU670
2098 013a 1461 str r4, [r2, #16]
2099 013c 9FE7 b .L129
2100 .LVL158:
2101 .L130:
1554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
2102 .loc 1 1554 7 is_stmt 1 view .LVU671
2103 013e 0268 ldr r2, [r0]
2104 0140 1369 ldr r3, [r2, #16]
2105 .LVL159:
1554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
2106 .loc 1 1554 7 is_stmt 0 view .LVU672
2107 0142 2021 movs r1, #32
2108 .LVL160:
1554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
2109 .loc 1 1554 7 view .LVU673
2110 0144 0B43 orrs r3, r1
2111 0146 1361 str r3, [r2, #16]
2112 0148 E6E7 b .L131
2113 .LVL161:
2114 .L122:
ARM GAS /tmp/ccftcnYc.s page 71
1559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** else
1561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Update error code */
1563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_NOT_INITIALIZED;
2115 .loc 1 1563 5 is_stmt 1 view .LVU674
2116 .loc 1 1563 9 is_stmt 0 view .LVU675
2117 014a 426A ldr r2, [r0, #36]
2118 .LVL162:
2119 .loc 1 1563 21 view .LVU676
2120 014c 8023 movs r3, #128
2121 .LVL163:
2122 .loc 1 1563 21 view .LVU677
2123 014e DB02 lsls r3, r3, #11
2124 0150 1343 orrs r3, r2
2125 0152 4362 str r3, [r0, #36]
1564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1565:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** return HAL_ERROR;
2126 .loc 1 1565 5 is_stmt 1 view .LVU678
2127 .loc 1 1565 12 is_stmt 0 view .LVU679
2128 0154 0120 movs r0, #1
2129 .LVL164:
2130 .L125:
1566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
2131 .loc 1 1567 1 view .LVU680
2132 @ sp needed
2133 0156 70BD pop {r4, r5, r6, pc}
2134 .cfi_endproc
2135 .LFE55:
2137 .section .text.HAL_CAN_GetRxFifoFillLevel,"ax",%progbits
2138 .align 1
2139 .global HAL_CAN_GetRxFifoFillLevel
2140 .syntax unified
2141 .code 16
2142 .thumb_func
2144 HAL_CAN_GetRxFifoFillLevel:
2145 .LVL165:
2146 .LFB56:
1568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /**
1570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @brief Return Rx FIFO fill level.
1571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @param hcan pointer to an CAN_HandleTypeDef structure that contains
1572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * the configuration information for the specified CAN.
1573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @param RxFifo Rx FIFO.
1574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * This parameter can be a value of @arg CAN_receive_FIFO_number.
1575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @retval Number of messages available in Rx FIFO.
1576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** */
1577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** uint32_t HAL_CAN_GetRxFifoFillLevel(const CAN_HandleTypeDef *hcan, uint32_t RxFifo)
1578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2147 .loc 1 1578 1 is_stmt 1 view -0
2148 .cfi_startproc
2149 @ args = 0, pretend = 0, frame = 0
2150 @ frame_needed = 0, uses_anonymous_args = 0
2151 @ link register save eliminated.
1579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** uint32_t filllevel = 0U;
2152 .loc 1 1579 3 view .LVU682
ARM GAS /tmp/ccftcnYc.s page 72
1580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
2153 .loc 1 1580 3 view .LVU683
2154 .loc 1 1580 24 is_stmt 0 view .LVU684
2155 0000 2023 movs r3, #32
2156 0002 C35C ldrb r3, [r0, r3]
2157 .LVL166:
1581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Check function parameters */
1583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** assert_param(IS_CAN_RX_FIFO(RxFifo));
2158 .loc 1 1583 3 is_stmt 1 view .LVU685
1584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
2159 .loc 1 1585 3 view .LVU686
2160 .loc 1 1585 38 is_stmt 0 view .LVU687
2161 0004 013B subs r3, r3, #1
2162 .LVL167:
2163 .loc 1 1585 38 view .LVU688
2164 0006 DBB2 uxtb r3, r3
2165 .LVL168:
2166 .loc 1 1585 6 view .LVU689
2167 0008 012B cmp r3, #1
2168 000a 01D9 bls .L138
1579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
2169 .loc 1 1579 12 view .LVU690
2170 000c 0020 movs r0, #0
2171 .LVL169:
1586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
1587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1588:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if (RxFifo == CAN_RX_FIFO0)
1589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** filllevel = hcan->Instance->RF0R & CAN_RF0R_FMP0;
1591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** else /* RxFifo == CAN_RX_FIFO1 */
1593:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** filllevel = hcan->Instance->RF1R & CAN_RF1R_FMP1;
1595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Return Rx FIFO fill level */
1599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** return filllevel;
2172 .loc 1 1599 3 is_stmt 1 view .LVU691
2173 .L134:
1600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
2174 .loc 1 1600 1 is_stmt 0 view .LVU692
2175 @ sp needed
2176 000e 7047 bx lr
2177 .LVL170:
2178 .L138:
1588:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2179 .loc 1 1588 5 is_stmt 1 view .LVU693
1588:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2180 .loc 1 1588 8 is_stmt 0 view .LVU694
2181 0010 0029 cmp r1, #0
2182 0012 04D1 bne .L136
1590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
2183 .loc 1 1590 7 is_stmt 1 view .LVU695
1590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
ARM GAS /tmp/ccftcnYc.s page 73
2184 .loc 1 1590 23 is_stmt 0 view .LVU696
2185 0014 0368 ldr r3, [r0]
1590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
2186 .loc 1 1590 33 view .LVU697
2187 0016 DB68 ldr r3, [r3, #12]
1590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
2188 .loc 1 1590 17 view .LVU698
2189 0018 0320 movs r0, #3
2190 .LVL171:
1590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
2191 .loc 1 1590 17 view .LVU699
2192 001a 1840 ands r0, r3
2193 .LVL172:
1590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
2194 .loc 1 1590 17 view .LVU700
2195 001c F7E7 b .L134
2196 .LVL173:
2197 .L136:
1594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
2198 .loc 1 1594 7 is_stmt 1 view .LVU701
1594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
2199 .loc 1 1594 23 is_stmt 0 view .LVU702
2200 001e 0368 ldr r3, [r0]
1594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
2201 .loc 1 1594 33 view .LVU703
2202 0020 1B69 ldr r3, [r3, #16]
1594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
2203 .loc 1 1594 17 view .LVU704
2204 0022 0320 movs r0, #3
2205 .LVL174:
1594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
2206 .loc 1 1594 17 view .LVU705
2207 0024 1840 ands r0, r3
2208 .LVL175:
1594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
2209 .loc 1 1594 17 view .LVU706
2210 0026 F2E7 b .L134
2211 .cfi_endproc
2212 .LFE56:
2214 .section .text.HAL_CAN_ActivateNotification,"ax",%progbits
2215 .align 1
2216 .global HAL_CAN_ActivateNotification
2217 .syntax unified
2218 .code 16
2219 .thumb_func
2221 HAL_CAN_ActivateNotification:
2222 .LVL176:
2223 .LFB57:
1601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1602:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /**
1603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @}
1604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** */
1605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /** @defgroup CAN_Exported_Functions_Group4 Interrupts management
1607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @brief Interrupts management
1608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** *
1609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** @verbatim
ARM GAS /tmp/ccftcnYc.s page 74
1610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** ==============================================================================
1611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** ##### Interrupts management #####
1612:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** ==============================================================================
1613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** [..] This section provides functions allowing to:
1614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (+) HAL_CAN_ActivateNotification : Enable interrupts
1615:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (+) HAL_CAN_DeactivateNotification : Disable interrupts
1616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (+) HAL_CAN_IRQHandler : Handles CAN interrupt request
1617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** @endverbatim
1619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @{
1620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** */
1621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /**
1623:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @brief Enable interrupts.
1624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @param hcan pointer to an CAN_HandleTypeDef structure that contains
1625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * the configuration information for the specified CAN.
1626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @param ActiveITs indicates which interrupts will be enabled.
1627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * This parameter can be any combination of @arg CAN_Interrupts.
1628:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @retval HAL status
1629:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** */
1630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_ActivateNotification(CAN_HandleTypeDef *hcan, uint32_t ActiveITs)
1631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2224 .loc 1 1631 1 is_stmt 1 view -0
2225 .cfi_startproc
2226 @ args = 0, pretend = 0, frame = 0
2227 @ frame_needed = 0, uses_anonymous_args = 0
2228 @ link register save eliminated.
1632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
2229 .loc 1 1632 3 view .LVU708
2230 .loc 1 1632 24 is_stmt 0 view .LVU709
2231 0000 2023 movs r3, #32
2232 0002 C35C ldrb r3, [r0, r3]
2233 .LVL177:
1633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1634:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Check function parameters */
1635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** assert_param(IS_CAN_IT(ActiveITs));
2234 .loc 1 1635 3 is_stmt 1 view .LVU710
1636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
2235 .loc 1 1637 3 view .LVU711
2236 .loc 1 1637 38 is_stmt 0 view .LVU712
2237 0004 013B subs r3, r3, #1
2238 .LVL178:
2239 .loc 1 1637 38 view .LVU713
2240 0006 DBB2 uxtb r3, r3
2241 .LVL179:
2242 .loc 1 1637 6 view .LVU714
2243 0008 012B cmp r3, #1
2244 000a 06D9 bls .L142
1638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
1639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Enable the selected interrupts */
1641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** __HAL_CAN_ENABLE_IT(hcan, ActiveITs);
1642:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Return function status */
1644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** return HAL_OK;
1645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
ARM GAS /tmp/ccftcnYc.s page 75
1646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** else
1647:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Update error code */
1649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_NOT_INITIALIZED;
2245 .loc 1 1649 5 is_stmt 1 view .LVU715
2246 .loc 1 1649 9 is_stmt 0 view .LVU716
2247 000c 426A ldr r2, [r0, #36]
2248 .loc 1 1649 21 view .LVU717
2249 000e 8023 movs r3, #128
2250 0010 DB02 lsls r3, r3, #11
2251 0012 1343 orrs r3, r2
2252 0014 4362 str r3, [r0, #36]
1650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** return HAL_ERROR;
2253 .loc 1 1651 5 is_stmt 1 view .LVU718
2254 .loc 1 1651 12 is_stmt 0 view .LVU719
2255 0016 0120 movs r0, #1
2256 .LVL180:
2257 .L141:
1652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1653:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
2258 .loc 1 1653 1 view .LVU720
2259 @ sp needed
2260 0018 7047 bx lr
2261 .LVL181:
2262 .L142:
1641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
2263 .loc 1 1641 5 is_stmt 1 view .LVU721
2264 001a 0268 ldr r2, [r0]
2265 001c 5369 ldr r3, [r2, #20]
2266 001e 0B43 orrs r3, r1
2267 0020 5361 str r3, [r2, #20]
1644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
2268 .loc 1 1644 5 view .LVU722
1644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
2269 .loc 1 1644 12 is_stmt 0 view .LVU723
2270 0022 0020 movs r0, #0
2271 .LVL182:
1644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
2272 .loc 1 1644 12 view .LVU724
2273 0024 F8E7 b .L141
2274 .cfi_endproc
2275 .LFE57:
2277 .section .text.HAL_CAN_DeactivateNotification,"ax",%progbits
2278 .align 1
2279 .global HAL_CAN_DeactivateNotification
2280 .syntax unified
2281 .code 16
2282 .thumb_func
2284 HAL_CAN_DeactivateNotification:
2285 .LVL183:
2286 .LFB58:
1654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /**
1656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @brief Disable interrupts.
1657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @param hcan pointer to an CAN_HandleTypeDef structure that contains
1658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * the configuration information for the specified CAN.
ARM GAS /tmp/ccftcnYc.s page 76
1659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @param InactiveITs indicates which interrupts will be disabled.
1660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * This parameter can be any combination of @arg CAN_Interrupts.
1661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @retval HAL status
1662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** */
1663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_DeactivateNotification(CAN_HandleTypeDef *hcan, uint32_t InactiveITs)
1664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2287 .loc 1 1664 1 is_stmt 1 view -0
2288 .cfi_startproc
2289 @ args = 0, pretend = 0, frame = 0
2290 @ frame_needed = 0, uses_anonymous_args = 0
2291 @ link register save eliminated.
1665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
2292 .loc 1 1665 3 view .LVU726
2293 .loc 1 1665 24 is_stmt 0 view .LVU727
2294 0000 2023 movs r3, #32
2295 0002 C35C ldrb r3, [r0, r3]
2296 .LVL184:
1666:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Check function parameters */
1668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** assert_param(IS_CAN_IT(InactiveITs));
2297 .loc 1 1668 3 is_stmt 1 view .LVU728
1669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
2298 .loc 1 1670 3 view .LVU729
2299 .loc 1 1670 38 is_stmt 0 view .LVU730
2300 0004 013B subs r3, r3, #1
2301 .LVL185:
2302 .loc 1 1670 38 view .LVU731
2303 0006 DBB2 uxtb r3, r3
2304 .LVL186:
2305 .loc 1 1670 6 view .LVU732
2306 0008 012B cmp r3, #1
2307 000a 06D9 bls .L146
1671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
1672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Disable the selected interrupts */
1674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** __HAL_CAN_DISABLE_IT(hcan, InactiveITs);
1675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Return function status */
1677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** return HAL_OK;
1678:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** else
1680:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Update error code */
1682:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_NOT_INITIALIZED;
2308 .loc 1 1682 5 is_stmt 1 view .LVU733
2309 .loc 1 1682 9 is_stmt 0 view .LVU734
2310 000c 426A ldr r2, [r0, #36]
2311 .loc 1 1682 21 view .LVU735
2312 000e 8023 movs r3, #128
2313 0010 DB02 lsls r3, r3, #11
2314 0012 1343 orrs r3, r2
2315 0014 4362 str r3, [r0, #36]
1683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** return HAL_ERROR;
2316 .loc 1 1684 5 is_stmt 1 view .LVU736
2317 .loc 1 1684 12 is_stmt 0 view .LVU737
ARM GAS /tmp/ccftcnYc.s page 77
2318 0016 0120 movs r0, #1
2319 .LVL187:
2320 .L145:
1685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
2321 .loc 1 1686 1 view .LVU738
2322 @ sp needed
2323 0018 7047 bx lr
2324 .LVL188:
2325 .L146:
1674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
2326 .loc 1 1674 5 is_stmt 1 view .LVU739
2327 001a 0268 ldr r2, [r0]
2328 001c 5369 ldr r3, [r2, #20]
2329 001e 8B43 bics r3, r1
2330 0020 5361 str r3, [r2, #20]
1677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
2331 .loc 1 1677 5 view .LVU740
1677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
2332 .loc 1 1677 12 is_stmt 0 view .LVU741
2333 0022 0020 movs r0, #0
2334 .LVL189:
1677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
2335 .loc 1 1677 12 view .LVU742
2336 0024 F8E7 b .L145
2337 .cfi_endproc
2338 .LFE58:
2340 .section .text.HAL_CAN_TxMailbox0CompleteCallback,"ax",%progbits
2341 .align 1
2342 .weak HAL_CAN_TxMailbox0CompleteCallback
2343 .syntax unified
2344 .code 16
2345 .thumb_func
2347 HAL_CAN_TxMailbox0CompleteCallback:
2348 .LVL190:
2349 .LFB60:
1687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /**
1689:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @brief Handles CAN interrupt request
1690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
1691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * the configuration information for the specified CAN.
1692:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @retval None
1693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** */
1694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** void HAL_CAN_IRQHandler(CAN_HandleTypeDef *hcan)
1695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** uint32_t errorcode = HAL_CAN_ERROR_NONE;
1697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** uint32_t interrupts = READ_REG(hcan->Instance->IER);
1698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** uint32_t msrflags = READ_REG(hcan->Instance->MSR);
1699:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** uint32_t tsrflags = READ_REG(hcan->Instance->TSR);
1700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** uint32_t rf0rflags = READ_REG(hcan->Instance->RF0R);
1701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** uint32_t rf1rflags = READ_REG(hcan->Instance->RF1R);
1702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** uint32_t esrflags = READ_REG(hcan->Instance->ESR);
1703:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Transmit Mailbox empty interrupt management *****************************/
1705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if ((interrupts & CAN_IT_TX_MAILBOX_EMPTY) != 0U)
1706:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1707:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Transmit Mailbox 0 management *****************************************/
ARM GAS /tmp/ccftcnYc.s page 78
1708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if ((tsrflags & CAN_TSR_RQCP0) != 0U)
1709:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Clear the Transmission Complete flag (and TXOK0,ALST0,TERR0 bits) */
1711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** __HAL_CAN_CLEAR_FLAG(hcan, CAN_FLAG_RQCP0);
1712:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if ((tsrflags & CAN_TSR_TXOK0) != 0U)
1714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Transmission Mailbox 0 complete callback */
1716:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
1717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Call registered callback*/
1718:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->TxMailbox0CompleteCallback(hcan);
1719:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** #else
1720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Call weak (surcharged) callback */
1721:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** HAL_CAN_TxMailbox0CompleteCallback(hcan);
1722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
1723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1724:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** else
1725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if ((tsrflags & CAN_TSR_ALST0) != 0U)
1727:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1728:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Update error code */
1729:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_TX_ALST0;
1730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1731:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** else if ((tsrflags & CAN_TSR_TERR0) != 0U)
1732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Update error code */
1734:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_TX_TERR0;
1735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1736:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** else
1737:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Transmission Mailbox 0 abort callback */
1739:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
1740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Call registered callback*/
1741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->TxMailbox0AbortCallback(hcan);
1742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** #else
1743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Call weak (surcharged) callback */
1744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** HAL_CAN_TxMailbox0AbortCallback(hcan);
1745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
1746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1748:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1749:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Transmit Mailbox 1 management *****************************************/
1751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if ((tsrflags & CAN_TSR_RQCP1) != 0U)
1752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Clear the Transmission Complete flag (and TXOK1,ALST1,TERR1 bits) */
1754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** __HAL_CAN_CLEAR_FLAG(hcan, CAN_FLAG_RQCP1);
1755:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1756:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if ((tsrflags & CAN_TSR_TXOK1) != 0U)
1757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1758:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Transmission Mailbox 1 complete callback */
1759:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
1760:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Call registered callback*/
1761:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->TxMailbox1CompleteCallback(hcan);
1762:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** #else
1763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Call weak (surcharged) callback */
1764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** HAL_CAN_TxMailbox1CompleteCallback(hcan);
ARM GAS /tmp/ccftcnYc.s page 79
1765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
1766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** else
1768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if ((tsrflags & CAN_TSR_ALST1) != 0U)
1770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1771:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Update error code */
1772:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_TX_ALST1;
1773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** else if ((tsrflags & CAN_TSR_TERR1) != 0U)
1775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1776:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Update error code */
1777:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_TX_TERR1;
1778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1779:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** else
1780:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Transmission Mailbox 1 abort callback */
1782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
1783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Call registered callback*/
1784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->TxMailbox1AbortCallback(hcan);
1785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** #else
1786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Call weak (surcharged) callback */
1787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** HAL_CAN_TxMailbox1AbortCallback(hcan);
1788:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
1789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1791:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1792:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Transmit Mailbox 2 management *****************************************/
1794:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if ((tsrflags & CAN_TSR_RQCP2) != 0U)
1795:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1796:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Clear the Transmission Complete flag (and TXOK2,ALST2,TERR2 bits) */
1797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** __HAL_CAN_CLEAR_FLAG(hcan, CAN_FLAG_RQCP2);
1798:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if ((tsrflags & CAN_TSR_TXOK2) != 0U)
1800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1801:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Transmission Mailbox 2 complete callback */
1802:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
1803:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Call registered callback*/
1804:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->TxMailbox2CompleteCallback(hcan);
1805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** #else
1806:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Call weak (surcharged) callback */
1807:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** HAL_CAN_TxMailbox2CompleteCallback(hcan);
1808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
1809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1810:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** else
1811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if ((tsrflags & CAN_TSR_ALST2) != 0U)
1813:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Update error code */
1815:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_TX_ALST2;
1816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1817:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** else if ((tsrflags & CAN_TSR_TERR2) != 0U)
1818:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Update error code */
1820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_TX_TERR2;
1821:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
ARM GAS /tmp/ccftcnYc.s page 80
1822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** else
1823:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Transmission Mailbox 2 abort callback */
1825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
1826:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Call registered callback*/
1827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->TxMailbox2AbortCallback(hcan);
1828:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** #else
1829:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Call weak (surcharged) callback */
1830:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** HAL_CAN_TxMailbox2AbortCallback(hcan);
1831:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
1832:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1833:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1834:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1835:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Receive FIFO 0 overrun interrupt management *****************************/
1838:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if ((interrupts & CAN_IT_RX_FIFO0_OVERRUN) != 0U)
1839:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1840:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if ((rf0rflags & CAN_RF0R_FOVR0) != 0U)
1841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Set CAN error code to Rx Fifo 0 overrun error */
1843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_RX_FOV0;
1844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1845:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Clear FIFO0 Overrun Flag */
1846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** __HAL_CAN_CLEAR_FLAG(hcan, CAN_FLAG_FOV0);
1847:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1848:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1849:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1850:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Receive FIFO 0 full interrupt management ********************************/
1851:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if ((interrupts & CAN_IT_RX_FIFO0_FULL) != 0U)
1852:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1853:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if ((rf0rflags & CAN_RF0R_FULL0) != 0U)
1854:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1855:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Clear FIFO 0 full Flag */
1856:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** __HAL_CAN_CLEAR_FLAG(hcan, CAN_FLAG_FF0);
1857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Receive FIFO 0 full Callback */
1859:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
1860:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Call registered callback*/
1861:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->RxFifo0FullCallback(hcan);
1862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** #else
1863:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Call weak (surcharged) callback */
1864:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** HAL_CAN_RxFifo0FullCallback(hcan);
1865:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
1866:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1867:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1868:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1869:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Receive FIFO 0 message pending interrupt management *********************/
1870:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if ((interrupts & CAN_IT_RX_FIFO0_MSG_PENDING) != 0U)
1871:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1872:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Check if message is still pending */
1873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if ((hcan->Instance->RF0R & CAN_RF0R_FMP0) != 0U)
1874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1875:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Receive FIFO 0 message pending Callback */
1876:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
1877:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Call registered callback*/
1878:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->RxFifo0MsgPendingCallback(hcan);
ARM GAS /tmp/ccftcnYc.s page 81
1879:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** #else
1880:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Call weak (surcharged) callback */
1881:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** HAL_CAN_RxFifo0MsgPendingCallback(hcan);
1882:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
1883:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1884:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1885:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Receive FIFO 1 overrun interrupt management *****************************/
1887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if ((interrupts & CAN_IT_RX_FIFO1_OVERRUN) != 0U)
1888:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1889:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if ((rf1rflags & CAN_RF1R_FOVR1) != 0U)
1890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Set CAN error code to Rx Fifo 1 overrun error */
1892:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_RX_FOV1;
1893:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Clear FIFO1 Overrun Flag */
1895:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** __HAL_CAN_CLEAR_FLAG(hcan, CAN_FLAG_FOV1);
1896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1898:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1899:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Receive FIFO 1 full interrupt management ********************************/
1900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if ((interrupts & CAN_IT_RX_FIFO1_FULL) != 0U)
1901:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1902:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if ((rf1rflags & CAN_RF1R_FULL1) != 0U)
1903:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1904:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Clear FIFO 1 full Flag */
1905:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** __HAL_CAN_CLEAR_FLAG(hcan, CAN_FLAG_FF1);
1906:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1907:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Receive FIFO 1 full Callback */
1908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
1909:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Call registered callback*/
1910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->RxFifo1FullCallback(hcan);
1911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** #else
1912:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Call weak (surcharged) callback */
1913:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** HAL_CAN_RxFifo1FullCallback(hcan);
1914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
1915:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1916:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1917:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Receive FIFO 1 message pending interrupt management *********************/
1919:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if ((interrupts & CAN_IT_RX_FIFO1_MSG_PENDING) != 0U)
1920:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Check if message is still pending */
1922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if ((hcan->Instance->RF1R & CAN_RF1R_FMP1) != 0U)
1923:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1924:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Receive FIFO 1 message pending Callback */
1925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
1926:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Call registered callback*/
1927:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->RxFifo1MsgPendingCallback(hcan);
1928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** #else
1929:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Call weak (surcharged) callback */
1930:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** HAL_CAN_RxFifo1MsgPendingCallback(hcan);
1931:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
1932:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1933:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1934:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1935:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Sleep interrupt management *********************************************/
ARM GAS /tmp/ccftcnYc.s page 82
1936:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if ((interrupts & CAN_IT_SLEEP_ACK) != 0U)
1937:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if ((msrflags & CAN_MSR_SLAKI) != 0U)
1939:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1940:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Clear Sleep interrupt Flag */
1941:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** __HAL_CAN_CLEAR_FLAG(hcan, CAN_FLAG_SLAKI);
1942:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1943:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Sleep Callback */
1944:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
1945:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Call registered callback*/
1946:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->SleepCallback(hcan);
1947:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** #else
1948:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Call weak (surcharged) callback */
1949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** HAL_CAN_SleepCallback(hcan);
1950:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
1951:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1952:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1953:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* WakeUp interrupt management *********************************************/
1955:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if ((interrupts & CAN_IT_WAKEUP) != 0U)
1956:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if ((msrflags & CAN_MSR_WKUI) != 0U)
1958:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1959:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Clear WakeUp Flag */
1960:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** __HAL_CAN_CLEAR_FLAG(hcan, CAN_FLAG_WKU);
1961:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1962:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* WakeUp Callback */
1963:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
1964:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Call registered callback*/
1965:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->WakeUpFromRxMsgCallback(hcan);
1966:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** #else
1967:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Call weak (surcharged) callback */
1968:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** HAL_CAN_WakeUpFromRxMsgCallback(hcan);
1969:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
1970:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1971:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1972:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1973:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Error interrupts management *********************************************/
1974:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if ((interrupts & CAN_IT_ERROR) != 0U)
1975:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if ((msrflags & CAN_MSR_ERRI) != 0U)
1977:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1978:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Check Error Warning Flag */
1979:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if (((interrupts & CAN_IT_ERROR_WARNING) != 0U) &&
1980:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** ((esrflags & CAN_ESR_EWGF) != 0U))
1981:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1982:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Set CAN error code to Error Warning */
1983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_EWG;
1984:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* No need for clear of Error Warning Flag as read-only */
1986:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1987:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1988:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Check Error Passive Flag */
1989:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if (((interrupts & CAN_IT_ERROR_PASSIVE) != 0U) &&
1990:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** ((esrflags & CAN_ESR_EPVF) != 0U))
1991:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
1992:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Set CAN error code to Error Passive */
ARM GAS /tmp/ccftcnYc.s page 83
1993:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_EPV;
1994:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1995:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* No need for clear of Error Passive Flag as read-only */
1996:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
1997:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
1998:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Check Bus-off Flag */
1999:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if (((interrupts & CAN_IT_BUSOFF) != 0U) &&
2000:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** ((esrflags & CAN_ESR_BOFF) != 0U))
2001:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2002:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Set CAN error code to Bus-Off */
2003:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_BOF;
2004:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
2005:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* No need for clear of Error Bus-Off as read-only */
2006:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
2007:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
2008:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Check Last Error Code Flag */
2009:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if (((interrupts & CAN_IT_LAST_ERROR_CODE) != 0U) &&
2010:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** ((esrflags & CAN_ESR_LEC) != 0U))
2011:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2012:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** switch (esrflags & CAN_ESR_LEC)
2013:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2014:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** case (CAN_ESR_LEC_0):
2015:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Set CAN error code to Stuff error */
2016:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_STF;
2017:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** break;
2018:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** case (CAN_ESR_LEC_1):
2019:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Set CAN error code to Form error */
2020:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_FOR;
2021:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** break;
2022:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** case (CAN_ESR_LEC_1 | CAN_ESR_LEC_0):
2023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Set CAN error code to Acknowledgement error */
2024:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_ACK;
2025:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** break;
2026:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** case (CAN_ESR_LEC_2):
2027:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Set CAN error code to Bit recessive error */
2028:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_BR;
2029:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** break;
2030:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** case (CAN_ESR_LEC_2 | CAN_ESR_LEC_0):
2031:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Set CAN error code to Bit Dominant error */
2032:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_BD;
2033:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** break;
2034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** case (CAN_ESR_LEC_2 | CAN_ESR_LEC_1):
2035:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Set CAN error code to CRC error */
2036:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_CRC;
2037:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** break;
2038:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** default:
2039:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** break;
2040:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
2041:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
2042:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Clear Last error code Flag */
2043:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** CLEAR_BIT(hcan->Instance->ESR, CAN_ESR_LEC);
2044:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
2045:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
2046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
2047:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Clear ERRI Flag */
2048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** __HAL_CAN_CLEAR_FLAG(hcan, CAN_FLAG_ERRI);
2049:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
ARM GAS /tmp/ccftcnYc.s page 84
2050:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
2051:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Call the Error call Back in case of Errors */
2052:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if (errorcode != HAL_CAN_ERROR_NONE)
2053:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2054:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Update error code in handle */
2055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->ErrorCode |= errorcode;
2056:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
2057:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Call Error callback function */
2058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
2059:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Call registered callback*/
2060:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->ErrorCallback(hcan);
2061:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** #else
2062:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Call weak (surcharged) callback */
2063:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** HAL_CAN_ErrorCallback(hcan);
2064:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
2065:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
2066:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
2067:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
2068:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /**
2069:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @}
2070:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** */
2071:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
2072:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /** @defgroup CAN_Exported_Functions_Group5 Callback functions
2073:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @brief CAN Callback functions
2074:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** *
2075:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** @verbatim
2076:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** ==============================================================================
2077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** ##### Callback functions #####
2078:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** ==============================================================================
2079:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** [..]
2080:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** This subsection provides the following callback functions:
2081:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (+) HAL_CAN_TxMailbox0CompleteCallback
2082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (+) HAL_CAN_TxMailbox1CompleteCallback
2083:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (+) HAL_CAN_TxMailbox2CompleteCallback
2084:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (+) HAL_CAN_TxMailbox0AbortCallback
2085:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (+) HAL_CAN_TxMailbox1AbortCallback
2086:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (+) HAL_CAN_TxMailbox2AbortCallback
2087:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (+) HAL_CAN_RxFifo0MsgPendingCallback
2088:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (+) HAL_CAN_RxFifo0FullCallback
2089:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (+) HAL_CAN_RxFifo1MsgPendingCallback
2090:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (+) HAL_CAN_RxFifo1FullCallback
2091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (+) HAL_CAN_SleepCallback
2092:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (+) HAL_CAN_WakeUpFromRxMsgCallback
2093:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (+) HAL_CAN_ErrorCallback
2094:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
2095:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** @endverbatim
2096:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @{
2097:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** */
2098:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
2099:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /**
2100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @brief Transmission Mailbox 0 complete callback.
2101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
2102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * the configuration information for the specified CAN.
2103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @retval None
2104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** */
2105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** __weak void HAL_CAN_TxMailbox0CompleteCallback(CAN_HandleTypeDef *hcan)
2106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
ARM GAS /tmp/ccftcnYc.s page 85
2350 .loc 1 2106 1 is_stmt 1 view -0
2351 .cfi_startproc
2352 @ args = 0, pretend = 0, frame = 0
2353 @ frame_needed = 0, uses_anonymous_args = 0
2354 @ link register save eliminated.
2107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
2108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** UNUSED(hcan);
2355 .loc 1 2108 3 view .LVU744
2109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
2110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
2111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** the HAL_CAN_TxMailbox0CompleteCallback could be implemented in the
2112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** user file
2113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** */
2114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
2356 .loc 1 2114 1 is_stmt 0 view .LVU745
2357 @ sp needed
2358 0000 7047 bx lr
2359 .cfi_endproc
2360 .LFE60:
2362 .section .text.HAL_CAN_TxMailbox1CompleteCallback,"ax",%progbits
2363 .align 1
2364 .weak HAL_CAN_TxMailbox1CompleteCallback
2365 .syntax unified
2366 .code 16
2367 .thumb_func
2369 HAL_CAN_TxMailbox1CompleteCallback:
2370 .LVL191:
2371 .LFB61:
2115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
2116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /**
2117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @brief Transmission Mailbox 1 complete callback.
2118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
2119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * the configuration information for the specified CAN.
2120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @retval None
2121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** */
2122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** __weak void HAL_CAN_TxMailbox1CompleteCallback(CAN_HandleTypeDef *hcan)
2123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2372 .loc 1 2123 1 is_stmt 1 view -0
2373 .cfi_startproc
2374 @ args = 0, pretend = 0, frame = 0
2375 @ frame_needed = 0, uses_anonymous_args = 0
2376 @ link register save eliminated.
2124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
2125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** UNUSED(hcan);
2377 .loc 1 2125 3 view .LVU747
2126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
2127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
2128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** the HAL_CAN_TxMailbox1CompleteCallback could be implemented in the
2129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** user file
2130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** */
2131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
2378 .loc 1 2131 1 is_stmt 0 view .LVU748
2379 @ sp needed
2380 0000 7047 bx lr
2381 .cfi_endproc
2382 .LFE61:
2384 .section .text.HAL_CAN_TxMailbox2CompleteCallback,"ax",%progbits
ARM GAS /tmp/ccftcnYc.s page 86
2385 .align 1
2386 .weak HAL_CAN_TxMailbox2CompleteCallback
2387 .syntax unified
2388 .code 16
2389 .thumb_func
2391 HAL_CAN_TxMailbox2CompleteCallback:
2392 .LVL192:
2393 .LFB62:
2132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
2133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /**
2134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @brief Transmission Mailbox 2 complete callback.
2135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
2136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * the configuration information for the specified CAN.
2137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @retval None
2138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** */
2139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** __weak void HAL_CAN_TxMailbox2CompleteCallback(CAN_HandleTypeDef *hcan)
2140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2394 .loc 1 2140 1 is_stmt 1 view -0
2395 .cfi_startproc
2396 @ args = 0, pretend = 0, frame = 0
2397 @ frame_needed = 0, uses_anonymous_args = 0
2398 @ link register save eliminated.
2141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
2142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** UNUSED(hcan);
2399 .loc 1 2142 3 view .LVU750
2143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
2144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
2145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** the HAL_CAN_TxMailbox2CompleteCallback could be implemented in the
2146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** user file
2147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** */
2148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
2400 .loc 1 2148 1 is_stmt 0 view .LVU751
2401 @ sp needed
2402 0000 7047 bx lr
2403 .cfi_endproc
2404 .LFE62:
2406 .section .text.HAL_CAN_TxMailbox0AbortCallback,"ax",%progbits
2407 .align 1
2408 .weak HAL_CAN_TxMailbox0AbortCallback
2409 .syntax unified
2410 .code 16
2411 .thumb_func
2413 HAL_CAN_TxMailbox0AbortCallback:
2414 .LVL193:
2415 .LFB63:
2149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
2150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /**
2151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @brief Transmission Mailbox 0 Cancellation callback.
2152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @param hcan pointer to an CAN_HandleTypeDef structure that contains
2153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * the configuration information for the specified CAN.
2154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @retval None
2155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** */
2156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** __weak void HAL_CAN_TxMailbox0AbortCallback(CAN_HandleTypeDef *hcan)
2157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2416 .loc 1 2157 1 is_stmt 1 view -0
2417 .cfi_startproc
2418 @ args = 0, pretend = 0, frame = 0
ARM GAS /tmp/ccftcnYc.s page 87
2419 @ frame_needed = 0, uses_anonymous_args = 0
2420 @ link register save eliminated.
2158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
2159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** UNUSED(hcan);
2421 .loc 1 2159 3 view .LVU753
2160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
2161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
2162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** the HAL_CAN_TxMailbox0AbortCallback could be implemented in the
2163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** user file
2164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** */
2165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
2422 .loc 1 2165 1 is_stmt 0 view .LVU754
2423 @ sp needed
2424 0000 7047 bx lr
2425 .cfi_endproc
2426 .LFE63:
2428 .section .text.HAL_CAN_TxMailbox1AbortCallback,"ax",%progbits
2429 .align 1
2430 .weak HAL_CAN_TxMailbox1AbortCallback
2431 .syntax unified
2432 .code 16
2433 .thumb_func
2435 HAL_CAN_TxMailbox1AbortCallback:
2436 .LVL194:
2437 .LFB64:
2166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
2167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /**
2168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @brief Transmission Mailbox 1 Cancellation callback.
2169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @param hcan pointer to an CAN_HandleTypeDef structure that contains
2170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * the configuration information for the specified CAN.
2171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @retval None
2172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** */
2173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** __weak void HAL_CAN_TxMailbox1AbortCallback(CAN_HandleTypeDef *hcan)
2174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2438 .loc 1 2174 1 is_stmt 1 view -0
2439 .cfi_startproc
2440 @ args = 0, pretend = 0, frame = 0
2441 @ frame_needed = 0, uses_anonymous_args = 0
2442 @ link register save eliminated.
2175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
2176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** UNUSED(hcan);
2443 .loc 1 2176 3 view .LVU756
2177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
2178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
2179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** the HAL_CAN_TxMailbox1AbortCallback could be implemented in the
2180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** user file
2181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** */
2182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
2444 .loc 1 2182 1 is_stmt 0 view .LVU757
2445 @ sp needed
2446 0000 7047 bx lr
2447 .cfi_endproc
2448 .LFE64:
2450 .section .text.HAL_CAN_TxMailbox2AbortCallback,"ax",%progbits
2451 .align 1
2452 .weak HAL_CAN_TxMailbox2AbortCallback
2453 .syntax unified
ARM GAS /tmp/ccftcnYc.s page 88
2454 .code 16
2455 .thumb_func
2457 HAL_CAN_TxMailbox2AbortCallback:
2458 .LVL195:
2459 .LFB65:
2183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
2184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /**
2185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @brief Transmission Mailbox 2 Cancellation callback.
2186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @param hcan pointer to an CAN_HandleTypeDef structure that contains
2187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * the configuration information for the specified CAN.
2188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @retval None
2189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** */
2190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** __weak void HAL_CAN_TxMailbox2AbortCallback(CAN_HandleTypeDef *hcan)
2191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2460 .loc 1 2191 1 is_stmt 1 view -0
2461 .cfi_startproc
2462 @ args = 0, pretend = 0, frame = 0
2463 @ frame_needed = 0, uses_anonymous_args = 0
2464 @ link register save eliminated.
2192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
2193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** UNUSED(hcan);
2465 .loc 1 2193 3 view .LVU759
2194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
2195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
2196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** the HAL_CAN_TxMailbox2AbortCallback could be implemented in the
2197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** user file
2198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** */
2199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
2466 .loc 1 2199 1 is_stmt 0 view .LVU760
2467 @ sp needed
2468 0000 7047 bx lr
2469 .cfi_endproc
2470 .LFE65:
2472 .section .text.HAL_CAN_RxFifo0MsgPendingCallback,"ax",%progbits
2473 .align 1
2474 .weak HAL_CAN_RxFifo0MsgPendingCallback
2475 .syntax unified
2476 .code 16
2477 .thumb_func
2479 HAL_CAN_RxFifo0MsgPendingCallback:
2480 .LVL196:
2481 .LFB66:
2200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
2201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /**
2202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @brief Rx FIFO 0 message pending callback.
2203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
2204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * the configuration information for the specified CAN.
2205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @retval None
2206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** */
2207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** __weak void HAL_CAN_RxFifo0MsgPendingCallback(CAN_HandleTypeDef *hcan)
2208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2482 .loc 1 2208 1 is_stmt 1 view -0
2483 .cfi_startproc
2484 @ args = 0, pretend = 0, frame = 0
2485 @ frame_needed = 0, uses_anonymous_args = 0
2486 @ link register save eliminated.
2209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
ARM GAS /tmp/ccftcnYc.s page 89
2210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** UNUSED(hcan);
2487 .loc 1 2210 3 view .LVU762
2211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
2212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
2213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** the HAL_CAN_RxFifo0MsgPendingCallback could be implemented in the
2214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** user file
2215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** */
2216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
2488 .loc 1 2216 1 is_stmt 0 view .LVU763
2489 @ sp needed
2490 0000 7047 bx lr
2491 .cfi_endproc
2492 .LFE66:
2494 .section .text.HAL_CAN_RxFifo0FullCallback,"ax",%progbits
2495 .align 1
2496 .weak HAL_CAN_RxFifo0FullCallback
2497 .syntax unified
2498 .code 16
2499 .thumb_func
2501 HAL_CAN_RxFifo0FullCallback:
2502 .LVL197:
2503 .LFB67:
2217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
2218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /**
2219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @brief Rx FIFO 0 full callback.
2220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
2221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * the configuration information for the specified CAN.
2222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @retval None
2223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** */
2224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** __weak void HAL_CAN_RxFifo0FullCallback(CAN_HandleTypeDef *hcan)
2225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2504 .loc 1 2225 1 is_stmt 1 view -0
2505 .cfi_startproc
2506 @ args = 0, pretend = 0, frame = 0
2507 @ frame_needed = 0, uses_anonymous_args = 0
2508 @ link register save eliminated.
2226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
2227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** UNUSED(hcan);
2509 .loc 1 2227 3 view .LVU765
2228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
2229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
2230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** the HAL_CAN_RxFifo0FullCallback could be implemented in the user
2231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** file
2232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** */
2233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
2510 .loc 1 2233 1 is_stmt 0 view .LVU766
2511 @ sp needed
2512 0000 7047 bx lr
2513 .cfi_endproc
2514 .LFE67:
2516 .section .text.HAL_CAN_RxFifo1MsgPendingCallback,"ax",%progbits
2517 .align 1
2518 .weak HAL_CAN_RxFifo1MsgPendingCallback
2519 .syntax unified
2520 .code 16
2521 .thumb_func
2523 HAL_CAN_RxFifo1MsgPendingCallback:
ARM GAS /tmp/ccftcnYc.s page 90
2524 .LVL198:
2525 .LFB68:
2234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
2235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /**
2236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @brief Rx FIFO 1 message pending callback.
2237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
2238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * the configuration information for the specified CAN.
2239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @retval None
2240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** */
2241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** __weak void HAL_CAN_RxFifo1MsgPendingCallback(CAN_HandleTypeDef *hcan)
2242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2526 .loc 1 2242 1 is_stmt 1 view -0
2527 .cfi_startproc
2528 @ args = 0, pretend = 0, frame = 0
2529 @ frame_needed = 0, uses_anonymous_args = 0
2530 @ link register save eliminated.
2243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
2244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** UNUSED(hcan);
2531 .loc 1 2244 3 view .LVU768
2245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
2246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
2247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** the HAL_CAN_RxFifo1MsgPendingCallback could be implemented in the
2248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** user file
2249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** */
2250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
2532 .loc 1 2250 1 is_stmt 0 view .LVU769
2533 @ sp needed
2534 0000 7047 bx lr
2535 .cfi_endproc
2536 .LFE68:
2538 .section .text.HAL_CAN_RxFifo1FullCallback,"ax",%progbits
2539 .align 1
2540 .weak HAL_CAN_RxFifo1FullCallback
2541 .syntax unified
2542 .code 16
2543 .thumb_func
2545 HAL_CAN_RxFifo1FullCallback:
2546 .LVL199:
2547 .LFB69:
2251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
2252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /**
2253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @brief Rx FIFO 1 full callback.
2254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
2255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * the configuration information for the specified CAN.
2256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @retval None
2257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** */
2258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** __weak void HAL_CAN_RxFifo1FullCallback(CAN_HandleTypeDef *hcan)
2259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2548 .loc 1 2259 1 is_stmt 1 view -0
2549 .cfi_startproc
2550 @ args = 0, pretend = 0, frame = 0
2551 @ frame_needed = 0, uses_anonymous_args = 0
2552 @ link register save eliminated.
2260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
2261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** UNUSED(hcan);
2553 .loc 1 2261 3 view .LVU771
2262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
ARM GAS /tmp/ccftcnYc.s page 91
2263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
2264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** the HAL_CAN_RxFifo1FullCallback could be implemented in the user
2265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** file
2266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** */
2267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
2554 .loc 1 2267 1 is_stmt 0 view .LVU772
2555 @ sp needed
2556 0000 7047 bx lr
2557 .cfi_endproc
2558 .LFE69:
2560 .section .text.HAL_CAN_SleepCallback,"ax",%progbits
2561 .align 1
2562 .weak HAL_CAN_SleepCallback
2563 .syntax unified
2564 .code 16
2565 .thumb_func
2567 HAL_CAN_SleepCallback:
2568 .LVL200:
2569 .LFB70:
2268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
2269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /**
2270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @brief Sleep callback.
2271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
2272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * the configuration information for the specified CAN.
2273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @retval None
2274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** */
2275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** __weak void HAL_CAN_SleepCallback(CAN_HandleTypeDef *hcan)
2276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2570 .loc 1 2276 1 is_stmt 1 view -0
2571 .cfi_startproc
2572 @ args = 0, pretend = 0, frame = 0
2573 @ frame_needed = 0, uses_anonymous_args = 0
2574 @ link register save eliminated.
2277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
2278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** UNUSED(hcan);
2575 .loc 1 2278 3 view .LVU774
2279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
2280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
2281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** the HAL_CAN_SleepCallback could be implemented in the user file
2282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** */
2283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
2576 .loc 1 2283 1 is_stmt 0 view .LVU775
2577 @ sp needed
2578 0000 7047 bx lr
2579 .cfi_endproc
2580 .LFE70:
2582 .section .text.HAL_CAN_WakeUpFromRxMsgCallback,"ax",%progbits
2583 .align 1
2584 .weak HAL_CAN_WakeUpFromRxMsgCallback
2585 .syntax unified
2586 .code 16
2587 .thumb_func
2589 HAL_CAN_WakeUpFromRxMsgCallback:
2590 .LVL201:
2591 .LFB71:
2284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
2285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /**
ARM GAS /tmp/ccftcnYc.s page 92
2286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @brief WakeUp from Rx message callback.
2287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
2288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * the configuration information for the specified CAN.
2289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @retval None
2290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** */
2291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** __weak void HAL_CAN_WakeUpFromRxMsgCallback(CAN_HandleTypeDef *hcan)
2292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2592 .loc 1 2292 1 is_stmt 1 view -0
2593 .cfi_startproc
2594 @ args = 0, pretend = 0, frame = 0
2595 @ frame_needed = 0, uses_anonymous_args = 0
2596 @ link register save eliminated.
2293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
2294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** UNUSED(hcan);
2597 .loc 1 2294 3 view .LVU777
2295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
2296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
2297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** the HAL_CAN_WakeUpFromRxMsgCallback could be implemented in the
2298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** user file
2299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** */
2300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
2598 .loc 1 2300 1 is_stmt 0 view .LVU778
2599 @ sp needed
2600 0000 7047 bx lr
2601 .cfi_endproc
2602 .LFE71:
2604 .section .text.HAL_CAN_ErrorCallback,"ax",%progbits
2605 .align 1
2606 .weak HAL_CAN_ErrorCallback
2607 .syntax unified
2608 .code 16
2609 .thumb_func
2611 HAL_CAN_ErrorCallback:
2612 .LVL202:
2613 .LFB72:
2301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
2302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /**
2303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @brief Error CAN callback.
2304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
2305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * the configuration information for the specified CAN.
2306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @retval None
2307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** */
2308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** __weak void HAL_CAN_ErrorCallback(CAN_HandleTypeDef *hcan)
2309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2614 .loc 1 2309 1 is_stmt 1 view -0
2615 .cfi_startproc
2616 @ args = 0, pretend = 0, frame = 0
2617 @ frame_needed = 0, uses_anonymous_args = 0
2618 @ link register save eliminated.
2310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
2311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** UNUSED(hcan);
2619 .loc 1 2311 3 view .LVU780
2312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
2313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
2314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** the HAL_CAN_ErrorCallback could be implemented in the user file
2315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** */
2316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
ARM GAS /tmp/ccftcnYc.s page 93
2620 .loc 1 2316 1 is_stmt 0 view .LVU781
2621 @ sp needed
2622 0000 7047 bx lr
2623 .cfi_endproc
2624 .LFE72:
2626 .section .text.HAL_CAN_IRQHandler,"ax",%progbits
2627 .align 1
2628 .global HAL_CAN_IRQHandler
2629 .syntax unified
2630 .code 16
2631 .thumb_func
2633 HAL_CAN_IRQHandler:
2634 .LVL203:
2635 .LFB59:
1695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** uint32_t errorcode = HAL_CAN_ERROR_NONE;
2636 .loc 1 1695 1 is_stmt 1 view -0
2637 .cfi_startproc
2638 @ args = 0, pretend = 0, frame = 0
2639 @ frame_needed = 0, uses_anonymous_args = 0
1695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** uint32_t errorcode = HAL_CAN_ERROR_NONE;
2640 .loc 1 1695 1 is_stmt 0 view .LVU783
2641 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
2642 .cfi_def_cfa_offset 24
2643 .cfi_offset 3, -24
2644 .cfi_offset 4, -20
2645 .cfi_offset 5, -16
2646 .cfi_offset 6, -12
2647 .cfi_offset 7, -8
2648 .cfi_offset 14, -4
2649 0002 DE46 mov lr, fp
2650 0004 5746 mov r7, r10
2651 0006 4E46 mov r6, r9
2652 0008 4546 mov r5, r8
2653 000a E0B5 push {r5, r6, r7, lr}
2654 .cfi_def_cfa_offset 40
2655 .cfi_offset 8, -40
2656 .cfi_offset 9, -36
2657 .cfi_offset 10, -32
2658 .cfi_offset 11, -28
2659 000c 0500 movs r5, r0
1696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** uint32_t interrupts = READ_REG(hcan->Instance->IER);
2660 .loc 1 1696 3 is_stmt 1 view .LVU784
2661 .LVL204:
1697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** uint32_t msrflags = READ_REG(hcan->Instance->MSR);
2662 .loc 1 1697 3 view .LVU785
1697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** uint32_t msrflags = READ_REG(hcan->Instance->MSR);
2663 .loc 1 1697 25 is_stmt 0 view .LVU786
2664 000e 0368 ldr r3, [r0]
1697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** uint32_t msrflags = READ_REG(hcan->Instance->MSR);
2665 .loc 1 1697 12 view .LVU787
2666 0010 5C69 ldr r4, [r3, #20]
2667 .LVL205:
1698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** uint32_t tsrflags = READ_REG(hcan->Instance->TSR);
2668 .loc 1 1698 3 is_stmt 1 view .LVU788
1698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** uint32_t tsrflags = READ_REG(hcan->Instance->TSR);
2669 .loc 1 1698 12 is_stmt 0 view .LVU789
2670 0012 5A68 ldr r2, [r3, #4]
ARM GAS /tmp/ccftcnYc.s page 94
2671 0014 9046 mov r8, r2
2672 .LVL206:
1699:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** uint32_t rf0rflags = READ_REG(hcan->Instance->RF0R);
2673 .loc 1 1699 3 is_stmt 1 view .LVU790
1699:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** uint32_t rf0rflags = READ_REG(hcan->Instance->RF0R);
2674 .loc 1 1699 12 is_stmt 0 view .LVU791
2675 0016 9F68 ldr r7, [r3, #8]
2676 .LVL207:
1700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** uint32_t rf1rflags = READ_REG(hcan->Instance->RF1R);
2677 .loc 1 1700 3 is_stmt 1 view .LVU792
1700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** uint32_t rf1rflags = READ_REG(hcan->Instance->RF1R);
2678 .loc 1 1700 12 is_stmt 0 view .LVU793
2679 0018 DA68 ldr r2, [r3, #12]
2680 .LVL208:
1700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** uint32_t rf1rflags = READ_REG(hcan->Instance->RF1R);
2681 .loc 1 1700 12 view .LVU794
2682 001a 9246 mov r10, r2
2683 .LVL209:
1701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** uint32_t esrflags = READ_REG(hcan->Instance->ESR);
2684 .loc 1 1701 3 is_stmt 1 view .LVU795
1701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** uint32_t esrflags = READ_REG(hcan->Instance->ESR);
2685 .loc 1 1701 12 is_stmt 0 view .LVU796
2686 001c 1A69 ldr r2, [r3, #16]
2687 .LVL210:
1701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** uint32_t esrflags = READ_REG(hcan->Instance->ESR);
2688 .loc 1 1701 12 view .LVU797
2689 001e 9146 mov r9, r2
2690 .LVL211:
1702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
2691 .loc 1 1702 3 is_stmt 1 view .LVU798
1702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
2692 .loc 1 1702 12 is_stmt 0 view .LVU799
2693 0020 9A69 ldr r2, [r3, #24]
2694 .LVL212:
1702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
2695 .loc 1 1702 12 view .LVU800
2696 0022 9346 mov fp, r2
2697 .LVL213:
1705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2698 .loc 1 1705 3 is_stmt 1 view .LVU801
1705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2699 .loc 1 1705 19 is_stmt 0 view .LVU802
2700 0024 0122 movs r2, #1
2701 .LVL214:
1705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2702 .loc 1 1705 19 view .LVU803
2703 0026 1600 movs r6, r2
2704 0028 2640 ands r6, r4
1705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2705 .loc 1 1705 6 view .LVU804
2706 002a 2242 tst r2, r4
2707 002c 37D0 beq .L161
1708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2708 .loc 1 1708 5 is_stmt 1 view .LVU805
1708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2709 .loc 1 1708 19 is_stmt 0 view .LVU806
2710 002e 1600 movs r6, r2
ARM GAS /tmp/ccftcnYc.s page 95
2711 0030 3E40 ands r6, r7
1708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2712 .loc 1 1708 8 view .LVU807
2713 0032 3A42 tst r2, r7
2714 0034 15D0 beq .L162
1711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
2715 .loc 1 1711 7 is_stmt 1 view .LVU808
2716 0036 9A60 str r2, [r3, #8]
1713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2717 .loc 1 1713 7 view .LVU809
1713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2718 .loc 1 1713 10 is_stmt 0 view .LVU810
2719 0038 BB07 lsls r3, r7, #30
2720 003a 09D4 bmi .L222
1726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2721 .loc 1 1726 9 is_stmt 1 view .LVU811
1726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2722 .loc 1 1726 12 is_stmt 0 view .LVU812
2723 003c 7B07 lsls r3, r7, #29
2724 003e 0ED4 bmi .L193
1731:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2725 .loc 1 1731 14 is_stmt 1 view .LVU813
1731:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2726 .loc 1 1731 28 is_stmt 0 view .LVU814
2727 0040 0823 movs r3, #8
2728 0042 1E00 movs r6, r3
2729 0044 3E40 ands r6, r7
1731:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2730 .loc 1 1731 17 view .LVU815
2731 0046 3B42 tst r3, r7
2732 0048 06D0 beq .L223
1734:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
2733 .loc 1 1734 21 view .LVU816
2734 004a 8026 movs r6, #128
2735 004c 7601 lsls r6, r6, #5
2736 004e 08E0 b .L162
2737 .L222:
1721:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
2738 .loc 1 1721 9 is_stmt 1 view .LVU817
2739 0050 FFF7FEFF bl HAL_CAN_TxMailbox0CompleteCallback
2740 .LVL215:
1696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** uint32_t interrupts = READ_REG(hcan->Instance->IER);
2741 .loc 1 1696 12 is_stmt 0 view .LVU818
2742 0054 0026 movs r6, #0
2743 0056 04E0 b .L162
2744 .LVL216:
2745 .L223:
1744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
2746 .loc 1 1744 11 is_stmt 1 view .LVU819
2747 0058 FFF7FEFF bl HAL_CAN_TxMailbox0AbortCallback
2748 .LVL217:
1744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
2749 .loc 1 1744 11 is_stmt 0 view .LVU820
2750 005c 01E0 b .L162
2751 .LVL218:
2752 .L193:
1729:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
ARM GAS /tmp/ccftcnYc.s page 96
2753 .loc 1 1729 21 view .LVU821
2754 005e 8026 movs r6, #128
2755 0060 3601 lsls r6, r6, #4
2756 .LVL219:
2757 .L162:
1751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2758 .loc 1 1751 5 is_stmt 1 view .LVU822
1751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2759 .loc 1 1751 8 is_stmt 0 view .LVU823
2760 0062 FB05 lsls r3, r7, #23
2761 0064 0CD5 bpl .L164
1754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
2762 .loc 1 1754 7 is_stmt 1 view .LVU824
2763 0066 2B68 ldr r3, [r5]
2764 0068 8022 movs r2, #128
2765 006a 5200 lsls r2, r2, #1
2766 006c 9A60 str r2, [r3, #8]
1756:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2767 .loc 1 1756 7 view .LVU825
1756:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2768 .loc 1 1756 10 is_stmt 0 view .LVU826
2769 006e BB05 lsls r3, r7, #22
2770 0070 00D5 bpl .LCB2318
2771 0072 8DE0 b .L224 @long jump
2772 .LCB2318:
1769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2773 .loc 1 1769 9 is_stmt 1 view .LVU827
1769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2774 .loc 1 1769 12 is_stmt 0 view .LVU828
2775 0074 7B05 lsls r3, r7, #21
2776 0076 00D4 bmi .LCB2323
2777 0078 8EE0 b .L166 @long jump
2778 .LCB2323:
1772:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
2779 .loc 1 1772 11 is_stmt 1 view .LVU829
1772:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
2780 .loc 1 1772 21 is_stmt 0 view .LVU830
2781 007a 8023 movs r3, #128
2782 007c 9B01 lsls r3, r3, #6
2783 007e 1E43 orrs r6, r3
2784 .LVL220:
2785 .L164:
1794:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2786 .loc 1 1794 5 is_stmt 1 view .LVU831
1794:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2787 .loc 1 1794 8 is_stmt 0 view .LVU832
2788 0080 FB03 lsls r3, r7, #15
2789 0082 0CD5 bpl .L161
1797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
2790 .loc 1 1797 7 is_stmt 1 view .LVU833
2791 0084 2B68 ldr r3, [r5]
2792 0086 8022 movs r2, #128
2793 0088 5202 lsls r2, r2, #9
2794 008a 9A60 str r2, [r3, #8]
1799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2795 .loc 1 1799 7 view .LVU834
1799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
ARM GAS /tmp/ccftcnYc.s page 97
2796 .loc 1 1799 10 is_stmt 0 view .LVU835
2797 008c BB03 lsls r3, r7, #14
2798 008e 00D5 bpl .LCB2350
2799 0090 8CE0 b .L225 @long jump
2800 .LCB2350:
1812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2801 .loc 1 1812 9 is_stmt 1 view .LVU836
1812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2802 .loc 1 1812 12 is_stmt 0 view .LVU837
2803 0092 7B03 lsls r3, r7, #13
2804 0094 00D4 bmi .LCB2355
2805 0096 8DE0 b .L169 @long jump
2806 .LCB2355:
1815:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
2807 .loc 1 1815 11 is_stmt 1 view .LVU838
1815:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
2808 .loc 1 1815 21 is_stmt 0 view .LVU839
2809 0098 8023 movs r3, #128
2810 009a 1B02 lsls r3, r3, #8
2811 009c 1E43 orrs r6, r3
2812 .LVL221:
2813 .L161:
1838:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2814 .loc 1 1838 3 is_stmt 1 view .LVU840
1838:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2815 .loc 1 1838 6 is_stmt 0 view .LVU841
2816 009e 2307 lsls r3, r4, #28
2817 00a0 08D5 bpl .L171
1840:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2818 .loc 1 1840 5 is_stmt 1 view .LVU842
1840:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2819 .loc 1 1840 8 is_stmt 0 view .LVU843
2820 00a2 5346 mov r3, r10
2821 00a4 DB06 lsls r3, r3, #27
2822 00a6 05D5 bpl .L171
1843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
2823 .loc 1 1843 7 is_stmt 1 view .LVU844
1843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
2824 .loc 1 1843 17 is_stmt 0 view .LVU845
2825 00a8 8023 movs r3, #128
2826 00aa 9B00 lsls r3, r3, #2
2827 00ac 1E43 orrs r6, r3
2828 .LVL222:
1846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
2829 .loc 1 1846 7 is_stmt 1 view .LVU846
2830 00ae 2B68 ldr r3, [r5]
2831 00b0 1022 movs r2, #16
2832 00b2 DA60 str r2, [r3, #12]
2833 .L171:
1851:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2834 .loc 1 1851 3 view .LVU847
1851:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2835 .loc 1 1851 6 is_stmt 0 view .LVU848
2836 00b4 6307 lsls r3, r4, #29
2837 00b6 03D5 bpl .L172
1853:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2838 .loc 1 1853 5 is_stmt 1 view .LVU849
ARM GAS /tmp/ccftcnYc.s page 98
1853:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2839 .loc 1 1853 8 is_stmt 0 view .LVU850
2840 00b8 5346 mov r3, r10
2841 00ba 1B07 lsls r3, r3, #28
2842 00bc 00D5 bpl .LCB2406
2843 00be 83E0 b .L226 @long jump
2844 .LCB2406:
2845 .L172:
1870:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2846 .loc 1 1870 3 is_stmt 1 view .LVU851
1870:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2847 .loc 1 1870 6 is_stmt 0 view .LVU852
2848 00c0 A307 lsls r3, r4, #30
2849 00c2 04D5 bpl .L173
1873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2850 .loc 1 1873 5 is_stmt 1 view .LVU853
1873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2851 .loc 1 1873 14 is_stmt 0 view .LVU854
2852 00c4 2B68 ldr r3, [r5]
1873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2853 .loc 1 1873 24 view .LVU855
2854 00c6 DB68 ldr r3, [r3, #12]
1873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2855 .loc 1 1873 8 view .LVU856
2856 00c8 9B07 lsls r3, r3, #30
2857 00ca 00D0 beq .LCB2420
2858 00cc 83E0 b .L227 @long jump
2859 .LCB2420:
2860 .L173:
1887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2861 .loc 1 1887 3 is_stmt 1 view .LVU857
1887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2862 .loc 1 1887 6 is_stmt 0 view .LVU858
2863 00ce 6306 lsls r3, r4, #25
2864 00d0 08D5 bpl .L174
1889:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2865 .loc 1 1889 5 is_stmt 1 view .LVU859
1889:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2866 .loc 1 1889 8 is_stmt 0 view .LVU860
2867 00d2 4B46 mov r3, r9
2868 00d4 DB06 lsls r3, r3, #27
2869 00d6 05D5 bpl .L174
1892:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
2870 .loc 1 1892 7 is_stmt 1 view .LVU861
1892:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
2871 .loc 1 1892 17 is_stmt 0 view .LVU862
2872 00d8 8023 movs r3, #128
2873 00da DB00 lsls r3, r3, #3
2874 00dc 1E43 orrs r6, r3
2875 .LVL223:
1895:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
2876 .loc 1 1895 7 is_stmt 1 view .LVU863
2877 00de 2B68 ldr r3, [r5]
2878 00e0 1022 movs r2, #16
2879 00e2 1A61 str r2, [r3, #16]
2880 .L174:
1900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
ARM GAS /tmp/ccftcnYc.s page 99
2881 .loc 1 1900 3 view .LVU864
1900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2882 .loc 1 1900 6 is_stmt 0 view .LVU865
2883 00e4 A306 lsls r3, r4, #26
2884 00e6 03D5 bpl .L175
1902:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2885 .loc 1 1902 5 is_stmt 1 view .LVU866
1902:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2886 .loc 1 1902 8 is_stmt 0 view .LVU867
2887 00e8 4B46 mov r3, r9
2888 00ea 1B07 lsls r3, r3, #28
2889 00ec 00D5 bpl .LCB2461
2890 00ee 76E0 b .L228 @long jump
2891 .LCB2461:
2892 .L175:
1919:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2893 .loc 1 1919 3 is_stmt 1 view .LVU868
1919:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2894 .loc 1 1919 6 is_stmt 0 view .LVU869
2895 00f0 E306 lsls r3, r4, #27
2896 00f2 04D5 bpl .L176
1922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2897 .loc 1 1922 5 is_stmt 1 view .LVU870
1922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2898 .loc 1 1922 14 is_stmt 0 view .LVU871
2899 00f4 2B68 ldr r3, [r5]
1922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2900 .loc 1 1922 24 view .LVU872
2901 00f6 1B69 ldr r3, [r3, #16]
1922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2902 .loc 1 1922 8 view .LVU873
2903 00f8 9B07 lsls r3, r3, #30
2904 00fa 00D0 beq .LCB2475
2905 00fc 76E0 b .L229 @long jump
2906 .LCB2475:
2907 .L176:
1936:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2908 .loc 1 1936 3 is_stmt 1 view .LVU874
1936:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2909 .loc 1 1936 6 is_stmt 0 view .LVU875
2910 00fe A303 lsls r3, r4, #14
2911 0100 03D5 bpl .L177
1938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2912 .loc 1 1938 5 is_stmt 1 view .LVU876
1938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2913 .loc 1 1938 8 is_stmt 0 view .LVU877
2914 0102 4346 mov r3, r8
2915 0104 DB06 lsls r3, r3, #27
2916 0106 00D5 bpl .LCB2488
2917 0108 74E0 b .L230 @long jump
2918 .LCB2488:
2919 .L177:
1955:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2920 .loc 1 1955 3 is_stmt 1 view .LVU878
1955:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2921 .loc 1 1955 6 is_stmt 0 view .LVU879
2922 010a E303 lsls r3, r4, #15
ARM GAS /tmp/ccftcnYc.s page 100
2923 010c 03D5 bpl .L178
1957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2924 .loc 1 1957 5 is_stmt 1 view .LVU880
1957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2925 .loc 1 1957 8 is_stmt 0 view .LVU881
2926 010e 4346 mov r3, r8
2927 0110 1B07 lsls r3, r3, #28
2928 0112 00D5 bpl .LCB2501
2929 0114 75E0 b .L231 @long jump
2930 .LCB2501:
2931 .L178:
1974:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2932 .loc 1 1974 3 is_stmt 1 view .LVU882
1974:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2933 .loc 1 1974 6 is_stmt 0 view .LVU883
2934 0116 2304 lsls r3, r4, #16
2935 0118 32D5 bpl .L179
1976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2936 .loc 1 1976 5 is_stmt 1 view .LVU884
1976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2937 .loc 1 1976 8 is_stmt 0 view .LVU885
2938 011a 4346 mov r3, r8
2939 011c 5B07 lsls r3, r3, #29
2940 011e 2CD5 bpl .L180
1979:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** ((esrflags & CAN_ESR_EWGF) != 0U))
2941 .loc 1 1979 7 is_stmt 1 view .LVU886
1979:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** ((esrflags & CAN_ESR_EWGF) != 0U))
2942 .loc 1 1979 10 is_stmt 0 view .LVU887
2943 0120 E305 lsls r3, r4, #23
2944 0122 04D5 bpl .L181
1979:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** ((esrflags & CAN_ESR_EWGF) != 0U))
2945 .loc 1 1979 55 discriminator 1 view .LVU888
2946 0124 5B46 mov r3, fp
2947 0126 DB07 lsls r3, r3, #31
2948 0128 01D5 bpl .L181
1983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
2949 .loc 1 1983 9 is_stmt 1 view .LVU889
1983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
2950 .loc 1 1983 19 is_stmt 0 view .LVU890
2951 012a 0123 movs r3, #1
2952 012c 1E43 orrs r6, r3
2953 .LVL224:
2954 .L181:
1989:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** ((esrflags & CAN_ESR_EPVF) != 0U))
2955 .loc 1 1989 7 is_stmt 1 view .LVU891
1989:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** ((esrflags & CAN_ESR_EPVF) != 0U))
2956 .loc 1 1989 10 is_stmt 0 view .LVU892
2957 012e A305 lsls r3, r4, #22
2958 0130 04D5 bpl .L182
1989:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** ((esrflags & CAN_ESR_EPVF) != 0U))
2959 .loc 1 1989 55 discriminator 1 view .LVU893
2960 0132 5B46 mov r3, fp
2961 0134 9B07 lsls r3, r3, #30
2962 0136 01D5 bpl .L182
1993:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
2963 .loc 1 1993 9 is_stmt 1 view .LVU894
1993:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
ARM GAS /tmp/ccftcnYc.s page 101
2964 .loc 1 1993 19 is_stmt 0 view .LVU895
2965 0138 0223 movs r3, #2
2966 013a 1E43 orrs r6, r3
2967 .LVL225:
2968 .L182:
1999:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** ((esrflags & CAN_ESR_BOFF) != 0U))
2969 .loc 1 1999 7 is_stmt 1 view .LVU896
1999:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** ((esrflags & CAN_ESR_BOFF) != 0U))
2970 .loc 1 1999 10 is_stmt 0 view .LVU897
2971 013c 6305 lsls r3, r4, #21
2972 013e 04D5 bpl .L183
1999:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** ((esrflags & CAN_ESR_BOFF) != 0U))
2973 .loc 1 1999 48 discriminator 1 view .LVU898
2974 0140 5B46 mov r3, fp
2975 0142 5B07 lsls r3, r3, #29
2976 0144 01D5 bpl .L183
2003:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
2977 .loc 1 2003 9 is_stmt 1 view .LVU899
2003:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
2978 .loc 1 2003 19 is_stmt 0 view .LVU900
2979 0146 0423 movs r3, #4
2980 0148 1E43 orrs r6, r3
2981 .LVL226:
2982 .L183:
2009:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** ((esrflags & CAN_ESR_LEC) != 0U))
2983 .loc 1 2009 7 is_stmt 1 view .LVU901
2009:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** ((esrflags & CAN_ESR_LEC) != 0U))
2984 .loc 1 2009 10 is_stmt 0 view .LVU902
2985 014a 2405 lsls r4, r4, #20
2986 014c 15D5 bpl .L180
2987 .LVL227:
2010:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2988 .loc 1 2010 22 view .LVU903
2989 014e 7023 movs r3, #112
2990 0150 5A46 mov r2, fp
2991 0152 1A40 ands r2, r3
2009:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** ((esrflags & CAN_ESR_LEC) != 0U))
2992 .loc 1 2009 57 discriminator 1 view .LVU904
2993 0154 5946 mov r1, fp
2994 0156 0B42 tst r3, r1
2995 0158 0FD0 beq .L180
2996 .LVL228:
2012:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2997 .loc 1 2012 9 is_stmt 1 view .LVU905
2998 015a 402A cmp r2, #64
2999 015c 66D0 beq .L184
3000 015e 57D8 bhi .L185
3001 0160 202A cmp r2, #32
3002 0162 5DD0 beq .L186
3003 0164 302A cmp r2, #48
3004 0166 5ED0 beq .L187
3005 0168 102A cmp r2, #16
3006 016a 01D1 bne .L189
2016:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** break;
3007 .loc 1 2016 13 view .LVU906
2016:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** break;
3008 .loc 1 2016 23 is_stmt 0 view .LVU907
ARM GAS /tmp/ccftcnYc.s page 102
3009 016c 0823 movs r3, #8
3010 016e 1E43 orrs r6, r3
3011 .LVL229:
2017:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** case (CAN_ESR_LEC_1):
3012 .loc 1 2017 13 is_stmt 1 view .LVU908
3013 .L189:
2043:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
3014 .loc 1 2043 9 view .LVU909
3015 0170 2A68 ldr r2, [r5]
3016 0172 9369 ldr r3, [r2, #24]
3017 0174 7021 movs r1, #112
3018 .LVL230:
2043:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
3019 .loc 1 2043 9 is_stmt 0 view .LVU910
3020 0176 8B43 bics r3, r1
3021 0178 9361 str r3, [r2, #24]
3022 .L180:
2048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
3023 .loc 1 2048 5 is_stmt 1 view .LVU911
3024 017a 2B68 ldr r3, [r5]
3025 017c 0422 movs r2, #4
3026 017e 5A60 str r2, [r3, #4]
3027 .L179:
2052:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
3028 .loc 1 2052 3 view .LVU912
2052:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
3029 .loc 1 2052 6 is_stmt 0 view .LVU913
3030 0180 002E cmp r6, #0
3031 0182 59D1 bne .L232
3032 .L160:
2066:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
3033 .loc 1 2066 1 view .LVU914
3034 @ sp needed
3035 .LVL231:
3036 .LVL232:
3037 .LVL233:
3038 .LVL234:
3039 .LVL235:
3040 .LVL236:
2066:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
3041 .loc 1 2066 1 view .LVU915
3042 0184 F0BC pop {r4, r5, r6, r7}
3043 0186 BB46 mov fp, r7
3044 0188 B246 mov r10, r6
3045 018a A946 mov r9, r5
3046 018c A046 mov r8, r4
3047 018e F8BD pop {r3, r4, r5, r6, r7, pc}
3048 .LVL237:
3049 .L224:
1764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
3050 .loc 1 1764 9 is_stmt 1 view .LVU916
3051 0190 2800 movs r0, r5
3052 0192 FFF7FEFF bl HAL_CAN_TxMailbox1CompleteCallback
3053 .LVL238:
3054 0196 73E7 b .L164
3055 .L166:
1774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
ARM GAS /tmp/ccftcnYc.s page 103
3056 .loc 1 1774 14 view .LVU917
1774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
3057 .loc 1 1774 17 is_stmt 0 view .LVU918
3058 0198 3B05 lsls r3, r7, #20
3059 019a 03D5 bpl .L167
1777:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
3060 .loc 1 1777 11 is_stmt 1 view .LVU919
1777:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
3061 .loc 1 1777 21 is_stmt 0 view .LVU920
3062 019c 8023 movs r3, #128
3063 019e DB01 lsls r3, r3, #7
3064 01a0 1E43 orrs r6, r3
3065 .LVL239:
1777:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
3066 .loc 1 1777 21 view .LVU921
3067 01a2 6DE7 b .L164
3068 .L167:
1787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
3069 .loc 1 1787 11 is_stmt 1 view .LVU922
3070 01a4 2800 movs r0, r5
3071 01a6 FFF7FEFF bl HAL_CAN_TxMailbox1AbortCallback
3072 .LVL240:
3073 01aa 69E7 b .L164
3074 .L225:
1807:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
3075 .loc 1 1807 9 view .LVU923
3076 01ac 2800 movs r0, r5
3077 01ae FFF7FEFF bl HAL_CAN_TxMailbox2CompleteCallback
3078 .LVL241:
3079 01b2 74E7 b .L161
3080 .L169:
1817:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
3081 .loc 1 1817 14 view .LVU924
1817:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
3082 .loc 1 1817 17 is_stmt 0 view .LVU925
3083 01b4 3F03 lsls r7, r7, #12
3084 01b6 03D5 bpl .L170
3085 .LVL242:
1820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
3086 .loc 1 1820 11 is_stmt 1 view .LVU926
1820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
3087 .loc 1 1820 21 is_stmt 0 view .LVU927
3088 01b8 8023 movs r3, #128
3089 01ba 5B02 lsls r3, r3, #9
3090 01bc 1E43 orrs r6, r3
3091 .LVL243:
1820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
3092 .loc 1 1820 21 view .LVU928
3093 01be 6EE7 b .L161
3094 .L170:
1830:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
3095 .loc 1 1830 11 is_stmt 1 view .LVU929
3096 01c0 2800 movs r0, r5
3097 01c2 FFF7FEFF bl HAL_CAN_TxMailbox2AbortCallback
3098 .LVL244:
3099 01c6 6AE7 b .L161
3100 .L226:
ARM GAS /tmp/ccftcnYc.s page 104
1856:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
3101 .loc 1 1856 7 view .LVU930
3102 01c8 2B68 ldr r3, [r5]
3103 01ca 0822 movs r2, #8
3104 01cc DA60 str r2, [r3, #12]
1864:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
3105 .loc 1 1864 7 view .LVU931
3106 01ce 2800 movs r0, r5
3107 01d0 FFF7FEFF bl HAL_CAN_RxFifo0FullCallback
3108 .LVL245:
3109 01d4 74E7 b .L172
3110 .L227:
1881:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
3111 .loc 1 1881 7 view .LVU932
3112 01d6 2800 movs r0, r5
3113 01d8 FFF7FEFF bl HAL_CAN_RxFifo0MsgPendingCallback
3114 .LVL246:
3115 01dc 77E7 b .L173
3116 .L228:
1905:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
3117 .loc 1 1905 7 view .LVU933
3118 01de 2B68 ldr r3, [r5]
3119 01e0 0822 movs r2, #8
3120 01e2 1A61 str r2, [r3, #16]
1913:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
3121 .loc 1 1913 7 view .LVU934
3122 01e4 2800 movs r0, r5
3123 01e6 FFF7FEFF bl HAL_CAN_RxFifo1FullCallback
3124 .LVL247:
3125 01ea 81E7 b .L175
3126 .L229:
1930:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
3127 .loc 1 1930 7 view .LVU935
3128 01ec 2800 movs r0, r5
3129 01ee FFF7FEFF bl HAL_CAN_RxFifo1MsgPendingCallback
3130 .LVL248:
3131 01f2 84E7 b .L176
3132 .L230:
1941:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
3133 .loc 1 1941 7 view .LVU936
3134 01f4 2B68 ldr r3, [r5]
3135 01f6 1022 movs r2, #16
3136 01f8 5A60 str r2, [r3, #4]
1949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
3137 .loc 1 1949 7 view .LVU937
3138 01fa 2800 movs r0, r5
3139 01fc FFF7FEFF bl HAL_CAN_SleepCallback
3140 .LVL249:
3141 0200 83E7 b .L177
3142 .L231:
1960:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
3143 .loc 1 1960 7 view .LVU938
3144 0202 2B68 ldr r3, [r5]
3145 0204 0822 movs r2, #8
3146 0206 5A60 str r2, [r3, #4]
1968:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
3147 .loc 1 1968 7 view .LVU939
ARM GAS /tmp/ccftcnYc.s page 105
3148 0208 2800 movs r0, r5
3149 020a FFF7FEFF bl HAL_CAN_WakeUpFromRxMsgCallback
3150 .LVL250:
3151 020e 82E7 b .L178
3152 .LVL251:
3153 .L185:
2012:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
3154 .loc 1 2012 9 is_stmt 0 view .LVU940
3155 0210 502A cmp r2, #80
3156 0212 0ED0 beq .L190
3157 0214 602A cmp r2, #96
3158 0216 ABD1 bne .L189
2036:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** break;
3159 .loc 1 2036 13 is_stmt 1 view .LVU941
2036:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** break;
3160 .loc 1 2036 23 is_stmt 0 view .LVU942
3161 0218 8023 movs r3, #128
3162 021a 5B00 lsls r3, r3, #1
3163 021c 1E43 orrs r6, r3
3164 .LVL252:
2037:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** default:
3165 .loc 1 2037 13 is_stmt 1 view .LVU943
3166 021e A7E7 b .L189
3167 .L186:
2020:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** break;
3168 .loc 1 2020 13 view .LVU944
2020:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** break;
3169 .loc 1 2020 23 is_stmt 0 view .LVU945
3170 0220 1023 movs r3, #16
3171 0222 1E43 orrs r6, r3
3172 .LVL253:
2021:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** case (CAN_ESR_LEC_1 | CAN_ESR_LEC_0):
3173 .loc 1 2021 13 is_stmt 1 view .LVU946
3174 0224 A4E7 b .L189
3175 .L187:
2024:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** break;
3176 .loc 1 2024 13 view .LVU947
2024:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** break;
3177 .loc 1 2024 23 is_stmt 0 view .LVU948
3178 0226 2023 movs r3, #32
3179 0228 1E43 orrs r6, r3
3180 .LVL254:
2025:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** case (CAN_ESR_LEC_2):
3181 .loc 1 2025 13 is_stmt 1 view .LVU949
3182 022a A1E7 b .L189
3183 .L184:
2028:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** break;
3184 .loc 1 2028 13 view .LVU950
2028:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** break;
3185 .loc 1 2028 23 is_stmt 0 view .LVU951
3186 022c 4023 movs r3, #64
3187 022e 1E43 orrs r6, r3
3188 .LVL255:
2029:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** case (CAN_ESR_LEC_2 | CAN_ESR_LEC_0):
3189 .loc 1 2029 13 is_stmt 1 view .LVU952
3190 0230 9EE7 b .L189
3191 .L190:
ARM GAS /tmp/ccftcnYc.s page 106
2032:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** break;
3192 .loc 1 2032 13 view .LVU953
2032:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** break;
3193 .loc 1 2032 23 is_stmt 0 view .LVU954
3194 0232 8023 movs r3, #128
3195 0234 1E43 orrs r6, r3
3196 .LVL256:
2033:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** case (CAN_ESR_LEC_2 | CAN_ESR_LEC_1):
3197 .loc 1 2033 13 is_stmt 1 view .LVU955
3198 0236 9BE7 b .L189
3199 .LVL257:
3200 .L232:
2055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
3201 .loc 1 2055 5 view .LVU956
2055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
3202 .loc 1 2055 9 is_stmt 0 view .LVU957
3203 0238 6B6A ldr r3, [r5, #36]
2055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
3204 .loc 1 2055 21 view .LVU958
3205 023a 3343 orrs r3, r6
3206 023c 6B62 str r3, [r5, #36]
2063:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
3207 .loc 1 2063 5 is_stmt 1 view .LVU959
3208 023e 2800 movs r0, r5
3209 0240 FFF7FEFF bl HAL_CAN_ErrorCallback
3210 .LVL258:
2066:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
3211 .loc 1 2066 1 is_stmt 0 view .LVU960
3212 0244 9EE7 b .L160
3213 .cfi_endproc
3214 .LFE59:
3216 .section .text.HAL_CAN_GetState,"ax",%progbits
3217 .align 1
3218 .global HAL_CAN_GetState
3219 .syntax unified
3220 .code 16
3221 .thumb_func
3223 HAL_CAN_GetState:
3224 .LVL259:
3225 .LFB73:
2317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
2318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /**
2319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @}
2320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** */
2321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
2322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /** @defgroup CAN_Exported_Functions_Group6 Peripheral State and Error functions
2323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @brief CAN Peripheral State functions
2324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** *
2325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** @verbatim
2326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** ==============================================================================
2327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** ##### Peripheral State and Error functions #####
2328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** ==============================================================================
2329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** [..]
2330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** This subsection provides functions allowing to :
2331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (+) HAL_CAN_GetState() : Return the CAN state.
2332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (+) HAL_CAN_GetError() : Return the CAN error codes if any.
2333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (+) HAL_CAN_ResetError(): Reset the CAN error codes if any.
ARM GAS /tmp/ccftcnYc.s page 107
2334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
2335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** @endverbatim
2336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @{
2337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** */
2338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
2339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /**
2340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @brief Return the CAN state.
2341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
2342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * the configuration information for the specified CAN.
2343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @retval HAL state
2344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** */
2345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** HAL_CAN_StateTypeDef HAL_CAN_GetState(const CAN_HandleTypeDef *hcan)
2346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
3226 .loc 1 2346 1 is_stmt 1 view -0
3227 .cfi_startproc
3228 @ args = 0, pretend = 0, frame = 0
3229 @ frame_needed = 0, uses_anonymous_args = 0
3230 @ link register save eliminated.
3231 .loc 1 2346 1 is_stmt 0 view .LVU962
3232 0000 0200 movs r2, r0
2347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
3233 .loc 1 2347 3 is_stmt 1 view .LVU963
3234 .loc 1 2347 24 is_stmt 0 view .LVU964
3235 0002 2023 movs r3, #32
3236 0004 C35C ldrb r3, [r0, r3]
3237 0006 D8B2 uxtb r0, r3
3238 .LVL260:
2348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
2349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
3239 .loc 1 2349 3 is_stmt 1 view .LVU965
3240 .loc 1 2349 38 is_stmt 0 view .LVU966
3241 0008 013B subs r3, r3, #1
3242 000a DBB2 uxtb r3, r3
3243 .loc 1 2349 6 view .LVU967
3244 000c 012B cmp r3, #1
3245 000e 00D9 bls .L238
3246 .LVL261:
3247 .L234:
2350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
2351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Check sleep mode acknowledge flag */
2353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if ((hcan->Instance->MSR & CAN_MSR_SLAK) != 0U)
2354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Sleep mode is active */
2356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** state = HAL_CAN_STATE_SLEEP_ACTIVE;
2357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
2358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Check sleep mode request flag */
2359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** else if ((hcan->Instance->MCR & CAN_MCR_SLEEP) != 0U)
2360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Sleep mode request is pending */
2362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** state = HAL_CAN_STATE_SLEEP_PENDING;
2363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
2364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** else
2365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Neither sleep mode request nor sleep mode acknowledge */
2367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
3248 .loc 1 2367 5 is_stmt 1 view .LVU968
ARM GAS /tmp/ccftcnYc.s page 108
2368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
2369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
2370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Return CAN state */
2371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** return state;
3249 .loc 1 2371 3 view .LVU969
2372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
3250 .loc 1 2372 1 is_stmt 0 view .LVU970
3251 @ sp needed
3252 0010 7047 bx lr
3253 .LVL262:
3254 .L238:
2353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
3255 .loc 1 2353 5 is_stmt 1 view .LVU971
2353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
3256 .loc 1 2353 14 is_stmt 0 view .LVU972
3257 0012 1268 ldr r2, [r2]
3258 .LVL263:
2353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
3259 .loc 1 2353 24 view .LVU973
3260 0014 5368 ldr r3, [r2, #4]
2353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
3261 .loc 1 2353 8 view .LVU974
3262 0016 9B07 lsls r3, r3, #30
3263 0018 04D4 bmi .L235
2359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
3264 .loc 1 2359 10 is_stmt 1 view .LVU975
2359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
3265 .loc 1 2359 29 is_stmt 0 view .LVU976
3266 001a 1368 ldr r3, [r2]
2359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
3267 .loc 1 2359 13 view .LVU977
3268 001c 9B07 lsls r3, r3, #30
3269 001e F7D5 bpl .L234
2362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
3270 .loc 1 2362 13 view .LVU978
3271 0020 0320 movs r0, #3
3272 .LVL264:
2362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
3273 .loc 1 2362 13 view .LVU979
3274 0022 F5E7 b .L234
3275 .LVL265:
3276 .L235:
2356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
3277 .loc 1 2356 13 view .LVU980
3278 0024 0420 movs r0, #4
3279 .LVL266:
2356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
3280 .loc 1 2356 13 view .LVU981
3281 0026 F3E7 b .L234
3282 .cfi_endproc
3283 .LFE73:
3285 .section .text.HAL_CAN_GetError,"ax",%progbits
3286 .align 1
3287 .global HAL_CAN_GetError
3288 .syntax unified
3289 .code 16
3290 .thumb_func
ARM GAS /tmp/ccftcnYc.s page 109
3292 HAL_CAN_GetError:
3293 .LVL267:
3294 .LFB74:
2373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
2374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /**
2375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @brief Return the CAN error code.
2376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
2377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * the configuration information for the specified CAN.
2378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @retval CAN Error Code
2379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** */
2380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** uint32_t HAL_CAN_GetError(const CAN_HandleTypeDef *hcan)
2381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
3295 .loc 1 2381 1 is_stmt 1 view -0
3296 .cfi_startproc
3297 @ args = 0, pretend = 0, frame = 0
3298 @ frame_needed = 0, uses_anonymous_args = 0
3299 @ link register save eliminated.
2382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Return CAN error code */
2383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** return hcan->ErrorCode;
3300 .loc 1 2383 3 view .LVU983
3301 .loc 1 2383 14 is_stmt 0 view .LVU984
3302 0000 406A ldr r0, [r0, #36]
3303 .LVL268:
2384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
3304 .loc 1 2384 1 view .LVU985
3305 @ sp needed
3306 0002 7047 bx lr
3307 .cfi_endproc
3308 .LFE74:
3310 .section .text.HAL_CAN_ResetError,"ax",%progbits
3311 .align 1
3312 .global HAL_CAN_ResetError
3313 .syntax unified
3314 .code 16
3315 .thumb_func
3317 HAL_CAN_ResetError:
3318 .LVL269:
3319 .LFB75:
2385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
2386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /**
2387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @brief Reset the CAN error code.
2388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
2389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * the configuration information for the specified CAN.
2390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** * @retval HAL status
2391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** */
2392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_ResetError(CAN_HandleTypeDef *hcan)
2393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
3320 .loc 1 2393 1 is_stmt 1 view -0
3321 .cfi_startproc
3322 @ args = 0, pretend = 0, frame = 0
3323 @ frame_needed = 0, uses_anonymous_args = 0
3324 @ link register save eliminated.
2394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** HAL_StatusTypeDef status = HAL_OK;
3325 .loc 1 2394 3 view .LVU987
2395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
3326 .loc 1 2395 3 view .LVU988
3327 .loc 1 2395 24 is_stmt 0 view .LVU989
ARM GAS /tmp/ccftcnYc.s page 110
3328 0000 2023 movs r3, #32
3329 0002 C35C ldrb r3, [r0, r3]
3330 .LVL270:
2396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
2397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
3331 .loc 1 2397 3 is_stmt 1 view .LVU990
3332 .loc 1 2397 38 is_stmt 0 view .LVU991
3333 0004 013B subs r3, r3, #1
3334 .LVL271:
3335 .loc 1 2397 38 view .LVU992
3336 0006 DBB2 uxtb r3, r3
3337 .LVL272:
3338 .loc 1 2397 6 view .LVU993
3339 0008 012B cmp r3, #1
3340 000a 06D9 bls .L243
2398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
2399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Reset CAN error code */
2401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->ErrorCode = 0U;
2402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
2403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** else
2404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** {
2405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Update error code */
2406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_NOT_INITIALIZED;
3341 .loc 1 2406 5 is_stmt 1 view .LVU994
3342 .loc 1 2406 9 is_stmt 0 view .LVU995
3343 000c 426A ldr r2, [r0, #36]
3344 .loc 1 2406 21 view .LVU996
3345 000e 8023 movs r3, #128
3346 0010 DB02 lsls r3, r3, #11
3347 0012 1343 orrs r3, r2
3348 0014 4362 str r3, [r0, #36]
2407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
2408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** status = HAL_ERROR;
3349 .loc 1 2408 5 is_stmt 1 view .LVU997
3350 .LVL273:
3351 .loc 1 2408 12 is_stmt 0 view .LVU998
3352 0016 0120 movs r0, #1
3353 .LVL274:
3354 .L242:
2409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
2410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c ****
2411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** /* Return the status */
2412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** return status;
3355 .loc 1 2412 3 is_stmt 1 view .LVU999
2413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
3356 .loc 1 2413 1 is_stmt 0 view .LVU1000
3357 @ sp needed
3358 0018 7047 bx lr
3359 .LVL275:
3360 .L243:
2401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
3361 .loc 1 2401 5 is_stmt 1 view .LVU1001
2401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** }
3362 .loc 1 2401 21 is_stmt 0 view .LVU1002
3363 001a 0023 movs r3, #0
3364 001c 4362 str r3, [r0, #36]
ARM GAS /tmp/ccftcnYc.s page 111
2394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
3365 .loc 1 2394 21 view .LVU1003
3366 001e 0020 movs r0, #0
3367 .LVL276:
2394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
3368 .loc 1 2394 21 view .LVU1004
3369 0020 FAE7 b .L242
3370 .cfi_endproc
3371 .LFE75:
3373 .text
3374 .Letext0:
3375 .file 2 "/home/chiangni/.config/VSCodium/User/globalStorage/bmd.stm32-for-vscode/@xpack-dev-tools/
3376 .file 3 "/home/chiangni/.config/VSCodium/User/globalStorage/bmd.stm32-for-vscode/@xpack-dev-tools/
3377 .file 4 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f042x6.h"
3378 .file 5 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h"
3379 .file 6 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h"
3380 .file 7 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_can.h"
3381 .file 8 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h"
ARM GAS /tmp/ccftcnYc.s page 112
DEFINED SYMBOLS
*ABS*:00000000 stm32f0xx_hal_can.c
/tmp/ccftcnYc.s:19 .text.HAL_CAN_MspInit:00000000 $t
/tmp/ccftcnYc.s:25 .text.HAL_CAN_MspInit:00000000 HAL_CAN_MspInit
/tmp/ccftcnYc.s:41 .text.HAL_CAN_Init:00000000 $t
/tmp/ccftcnYc.s:47 .text.HAL_CAN_Init:00000000 HAL_CAN_Init
/tmp/ccftcnYc.s:361 .text.HAL_CAN_MspDeInit:00000000 $t
/tmp/ccftcnYc.s:367 .text.HAL_CAN_MspDeInit:00000000 HAL_CAN_MspDeInit
/tmp/ccftcnYc.s:383 .text.HAL_CAN_ConfigFilter:00000000 $t
/tmp/ccftcnYc.s:389 .text.HAL_CAN_ConfigFilter:00000000 HAL_CAN_ConfigFilter
/tmp/ccftcnYc.s:655 .text.HAL_CAN_Start:00000000 $t
/tmp/ccftcnYc.s:661 .text.HAL_CAN_Start:00000000 HAL_CAN_Start
/tmp/ccftcnYc.s:772 .text.HAL_CAN_Stop:00000000 $t
/tmp/ccftcnYc.s:778 .text.HAL_CAN_Stop:00000000 HAL_CAN_Stop
/tmp/ccftcnYc.s:889 .text.HAL_CAN_DeInit:00000000 $t
/tmp/ccftcnYc.s:895 .text.HAL_CAN_DeInit:00000000 HAL_CAN_DeInit
/tmp/ccftcnYc.s:955 .text.HAL_CAN_RequestSleep:00000000 $t
/tmp/ccftcnYc.s:961 .text.HAL_CAN_RequestSleep:00000000 HAL_CAN_RequestSleep
/tmp/ccftcnYc.s:1018 .text.HAL_CAN_WakeUp:00000000 $t
/tmp/ccftcnYc.s:1024 .text.HAL_CAN_WakeUp:00000000 HAL_CAN_WakeUp
/tmp/ccftcnYc.s:1127 .text.HAL_CAN_WakeUp:00000054 $d
/tmp/ccftcnYc.s:1132 .text.HAL_CAN_IsSleepActive:00000000 $t
/tmp/ccftcnYc.s:1138 .text.HAL_CAN_IsSleepActive:00000000 HAL_CAN_IsSleepActive
/tmp/ccftcnYc.s:1195 .text.HAL_CAN_AddTxMessage:00000000 $t
/tmp/ccftcnYc.s:1201 .text.HAL_CAN_AddTxMessage:00000000 HAL_CAN_AddTxMessage
/tmp/ccftcnYc.s:1438 .text.HAL_CAN_AbortTxRequest:00000000 $t
/tmp/ccftcnYc.s:1444 .text.HAL_CAN_AbortTxRequest:00000000 HAL_CAN_AbortTxRequest
/tmp/ccftcnYc.s:1536 .text.HAL_CAN_GetTxMailboxesFreeLevel:00000000 $t
/tmp/ccftcnYc.s:1542 .text.HAL_CAN_GetTxMailboxesFreeLevel:00000000 HAL_CAN_GetTxMailboxesFreeLevel
/tmp/ccftcnYc.s:1622 .text.HAL_CAN_IsTxMessagePending:00000000 $t
/tmp/ccftcnYc.s:1628 .text.HAL_CAN_IsTxMessagePending:00000000 HAL_CAN_IsTxMessagePending
/tmp/ccftcnYc.s:1692 .text.HAL_CAN_GetTxTimestamp:00000000 $t
/tmp/ccftcnYc.s:1698 .text.HAL_CAN_GetTxTimestamp:00000000 HAL_CAN_GetTxTimestamp
/tmp/ccftcnYc.s:1777 .text.HAL_CAN_GetRxMessage:00000000 $t
/tmp/ccftcnYc.s:1783 .text.HAL_CAN_GetRxMessage:00000000 HAL_CAN_GetRxMessage
/tmp/ccftcnYc.s:2138 .text.HAL_CAN_GetRxFifoFillLevel:00000000 $t
/tmp/ccftcnYc.s:2144 .text.HAL_CAN_GetRxFifoFillLevel:00000000 HAL_CAN_GetRxFifoFillLevel
/tmp/ccftcnYc.s:2215 .text.HAL_CAN_ActivateNotification:00000000 $t
/tmp/ccftcnYc.s:2221 .text.HAL_CAN_ActivateNotification:00000000 HAL_CAN_ActivateNotification
/tmp/ccftcnYc.s:2278 .text.HAL_CAN_DeactivateNotification:00000000 $t
/tmp/ccftcnYc.s:2284 .text.HAL_CAN_DeactivateNotification:00000000 HAL_CAN_DeactivateNotification
/tmp/ccftcnYc.s:2341 .text.HAL_CAN_TxMailbox0CompleteCallback:00000000 $t
/tmp/ccftcnYc.s:2347 .text.HAL_CAN_TxMailbox0CompleteCallback:00000000 HAL_CAN_TxMailbox0CompleteCallback
/tmp/ccftcnYc.s:2363 .text.HAL_CAN_TxMailbox1CompleteCallback:00000000 $t
/tmp/ccftcnYc.s:2369 .text.HAL_CAN_TxMailbox1CompleteCallback:00000000 HAL_CAN_TxMailbox1CompleteCallback
/tmp/ccftcnYc.s:2385 .text.HAL_CAN_TxMailbox2CompleteCallback:00000000 $t
/tmp/ccftcnYc.s:2391 .text.HAL_CAN_TxMailbox2CompleteCallback:00000000 HAL_CAN_TxMailbox2CompleteCallback
/tmp/ccftcnYc.s:2407 .text.HAL_CAN_TxMailbox0AbortCallback:00000000 $t
/tmp/ccftcnYc.s:2413 .text.HAL_CAN_TxMailbox0AbortCallback:00000000 HAL_CAN_TxMailbox0AbortCallback
/tmp/ccftcnYc.s:2429 .text.HAL_CAN_TxMailbox1AbortCallback:00000000 $t
/tmp/ccftcnYc.s:2435 .text.HAL_CAN_TxMailbox1AbortCallback:00000000 HAL_CAN_TxMailbox1AbortCallback
/tmp/ccftcnYc.s:2451 .text.HAL_CAN_TxMailbox2AbortCallback:00000000 $t
/tmp/ccftcnYc.s:2457 .text.HAL_CAN_TxMailbox2AbortCallback:00000000 HAL_CAN_TxMailbox2AbortCallback
/tmp/ccftcnYc.s:2473 .text.HAL_CAN_RxFifo0MsgPendingCallback:00000000 $t
/tmp/ccftcnYc.s:2479 .text.HAL_CAN_RxFifo0MsgPendingCallback:00000000 HAL_CAN_RxFifo0MsgPendingCallback
/tmp/ccftcnYc.s:2495 .text.HAL_CAN_RxFifo0FullCallback:00000000 $t
/tmp/ccftcnYc.s:2501 .text.HAL_CAN_RxFifo0FullCallback:00000000 HAL_CAN_RxFifo0FullCallback
ARM GAS /tmp/ccftcnYc.s page 113
/tmp/ccftcnYc.s:2517 .text.HAL_CAN_RxFifo1MsgPendingCallback:00000000 $t
/tmp/ccftcnYc.s:2523 .text.HAL_CAN_RxFifo1MsgPendingCallback:00000000 HAL_CAN_RxFifo1MsgPendingCallback
/tmp/ccftcnYc.s:2539 .text.HAL_CAN_RxFifo1FullCallback:00000000 $t
/tmp/ccftcnYc.s:2545 .text.HAL_CAN_RxFifo1FullCallback:00000000 HAL_CAN_RxFifo1FullCallback
/tmp/ccftcnYc.s:2561 .text.HAL_CAN_SleepCallback:00000000 $t
/tmp/ccftcnYc.s:2567 .text.HAL_CAN_SleepCallback:00000000 HAL_CAN_SleepCallback
/tmp/ccftcnYc.s:2583 .text.HAL_CAN_WakeUpFromRxMsgCallback:00000000 $t
/tmp/ccftcnYc.s:2589 .text.HAL_CAN_WakeUpFromRxMsgCallback:00000000 HAL_CAN_WakeUpFromRxMsgCallback
/tmp/ccftcnYc.s:2605 .text.HAL_CAN_ErrorCallback:00000000 $t
/tmp/ccftcnYc.s:2611 .text.HAL_CAN_ErrorCallback:00000000 HAL_CAN_ErrorCallback
/tmp/ccftcnYc.s:2627 .text.HAL_CAN_IRQHandler:00000000 $t
/tmp/ccftcnYc.s:2633 .text.HAL_CAN_IRQHandler:00000000 HAL_CAN_IRQHandler
/tmp/ccftcnYc.s:3217 .text.HAL_CAN_GetState:00000000 $t
/tmp/ccftcnYc.s:3223 .text.HAL_CAN_GetState:00000000 HAL_CAN_GetState
/tmp/ccftcnYc.s:3286 .text.HAL_CAN_GetError:00000000 $t
/tmp/ccftcnYc.s:3292 .text.HAL_CAN_GetError:00000000 HAL_CAN_GetError
/tmp/ccftcnYc.s:3311 .text.HAL_CAN_ResetError:00000000 $t
/tmp/ccftcnYc.s:3317 .text.HAL_CAN_ResetError:00000000 HAL_CAN_ResetError
UNDEFINED SYMBOLS
HAL_GetTick