SLS/Software/build/stm32f0xx_hal_can.lst

6706 lines
413 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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