PDU_Code/build/stm32f3xx_hal_can.lst

7273 lines
473 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 C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 1
1 .cpu cortex-m4
2 .arch armv7e-m
3 .fpu fpv4-sp-d16
4 .eabi_attribute 27, 1
5 .eabi_attribute 28, 1
6 .eabi_attribute 20, 1
7 .eabi_attribute 21, 1
8 .eabi_attribute 23, 3
9 .eabi_attribute 24, 1
10 .eabi_attribute 25, 1
11 .eabi_attribute 26, 1
12 .eabi_attribute 30, 1
13 .eabi_attribute 34, 1
14 .eabi_attribute 18, 4
15 .file "stm32f3xx_hal_can.c"
16 .text
17 .Ltext0:
18 .cfi_sections .debug_frame
19 .file 1 "Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c"
20 .section .text.HAL_CAN_MspInit,"ax",%progbits
21 .align 1
22 .weak HAL_CAN_MspInit
23 .syntax unified
24 .thumb
25 .thumb_func
27 HAL_CAN_MspInit:
28 .LVL0:
29 .LFB132:
1:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
2:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ******************************************************************************
3:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @file stm32f3xx_hal_can.c
4:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @author MCD Application Team
5:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief CAN HAL module driver.
6:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * This file provides firmware functions to manage the following
7:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * functionalities of the Controller Area Network (CAN) peripheral:
8:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * + Initialization and de-initialization functions
9:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * + Configuration functions
10:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * + Control functions
11:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * + Interrupts management
12:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * + Callbacks functions
13:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * + Peripheral State and Error functions
14:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** *
15:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ******************************************************************************
16:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @attention
17:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** *
18:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * Copyright (c) 2016 STMicroelectronics.
19:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * All rights reserved.
20:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** *
21:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * This software is licensed under terms that can be found in the LICENSE file
22:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * in the root directory of this software component.
23:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * If no LICENSE file comes with this software, it is provided AS-IS.
24:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** *
25:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ******************************************************************************
26:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** @verbatim
27:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ==============================================================================
28:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ##### How to use this driver #####
29:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ==============================================================================
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 2
30:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** [..]
31:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (#) Initialize the CAN low level resources by implementing the
32:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_MspInit():
33:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (++) Enable the CAN interface clock using __HAL_RCC_CANx_CLK_ENABLE()
34:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (++) Configure CAN pins
35:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+++) Enable the clock for the CAN GPIOs
36:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+++) Configure CAN pins as alternate function open-drain
37:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (++) In case of using interrupts (e.g. HAL_CAN_ActivateNotification())
38:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+++) Configure the CAN interrupt priority using
39:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_NVIC_SetPriority()
40:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+++) Enable the CAN IRQ handler using HAL_NVIC_EnableIRQ()
41:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+++) In CAN IRQ handler, call HAL_CAN_IRQHandler()
42:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
43:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (#) Initialize the CAN peripheral using HAL_CAN_Init() function. This
44:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** function resorts to HAL_CAN_MspInit() for low-level initialization.
45:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
46:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (#) Configure the reception filters using the following configuration
47:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** functions:
48:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (++) HAL_CAN_ConfigFilter()
49:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
50:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (#) Start the CAN module using HAL_CAN_Start() function. At this level
51:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** the node is active on the bus: it receive messages, and can send
52:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** messages.
53:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
54:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (#) To manage messages transmission, the following Tx control functions
55:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** can be used:
56:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (++) HAL_CAN_AddTxMessage() to request transmission of a new
57:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** message.
58:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (++) HAL_CAN_AbortTxRequest() to abort transmission of a pending
59:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** message.
60:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (++) HAL_CAN_GetTxMailboxesFreeLevel() to get the number of free Tx
61:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** mailboxes.
62:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (++) HAL_CAN_IsTxMessagePending() to check if a message is pending
63:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** in a Tx mailbox.
64:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (++) HAL_CAN_GetTxTimestamp() to get the timestamp of Tx message
65:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** sent, if time triggered communication mode is enabled.
66:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
67:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (#) When a message is received into the CAN Rx FIFOs, it can be retrieved
68:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** using the HAL_CAN_GetRxMessage() function. The function
69:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_GetRxFifoFillLevel() allows to know how many Rx message are
70:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** stored in the Rx Fifo.
71:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
72:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (#) Calling the HAL_CAN_Stop() function stops the CAN module.
73:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
74:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (#) The deinitialization is achieved with HAL_CAN_DeInit() function.
75:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
76:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
77:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** *** Polling mode operation ***
78:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ==============================
79:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** [..]
80:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (#) Reception:
81:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (++) Monitor reception of message using HAL_CAN_GetRxFifoFillLevel()
82:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** until at least one message is received.
83:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (++) Then get the message using HAL_CAN_GetRxMessage().
84:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
85:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (#) Transmission:
86:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (++) Monitor the Tx mailboxes availability until at least one Tx
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 3
87:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** mailbox is free, using HAL_CAN_GetTxMailboxesFreeLevel().
88:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (++) Then request transmission of a message using
89:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_AddTxMessage().
90:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
91:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
92:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** *** Interrupt mode operation ***
93:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ================================
94:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** [..]
95:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (#) Notifications are activated using HAL_CAN_ActivateNotification()
96:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** function. Then, the process can be controlled through the
97:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** available user callbacks: HAL_CAN_xxxCallback(), using same APIs
98:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_GetRxMessage() and HAL_CAN_AddTxMessage().
99:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (#) Notifications can be deactivated using
101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_DeactivateNotification() function.
102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (#) Special care should be taken for CAN_IT_RX_FIFO0_MSG_PENDING and
104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** CAN_IT_RX_FIFO1_MSG_PENDING notifications. These notifications trig
105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** the callbacks HAL_CAN_RxFIFO0MsgPendingCallback() and
106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_RxFIFO1MsgPendingCallback(). User has two possible options
107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** here.
108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (++) Directly get the Rx message in the callback, using
109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_GetRxMessage().
110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (++) Or deactivate the notification in the callback without
111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** getting the Rx message. The Rx message can then be got later
112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** using HAL_CAN_GetRxMessage(). Once the Rx message have been
113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** read, the notification can be activated again.
114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** *** Sleep mode ***
117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ==================
118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** [..]
119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (#) The CAN peripheral can be put in sleep mode (low power), using
120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_RequestSleep(). The sleep mode will be entered as soon as the
121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** current CAN activity (transmission or reception of a CAN frame) will
122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** be completed.
123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (#) A notification can be activated to be informed when the sleep mode
125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** will be entered.
126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (#) It can be checked if the sleep mode is entered using
128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_IsSleepActive().
129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** Note that the CAN state (accessible from the API HAL_CAN_GetState())
130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** is HAL_CAN_STATE_SLEEP_PENDING as soon as the sleep mode request is
131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** submitted (the sleep mode is not yet entered), and become
132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_STATE_SLEEP_ACTIVE when the sleep mode is effective.
133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (#) The wake-up from sleep mode can be triggered by two ways:
135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (++) Using HAL_CAN_WakeUp(). When returning from this function,
136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** the sleep mode is exited (if return status is HAL_OK).
137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (++) When a start of Rx CAN frame is detected by the CAN peripheral,
138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if automatic wake up mode is enabled.
139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** *** Callback registration ***
141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** =============================================
142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** The compilation define USE_HAL_CAN_REGISTER_CALLBACKS when set to 1
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 4
144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** allows the user to configure dynamically the driver callbacks.
145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** Use Function HAL_CAN_RegisterCallback() to register an interrupt callback.
146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** Function HAL_CAN_RegisterCallback() allows to register following callbacks:
148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) TxMailbox0CompleteCallback : Tx Mailbox 0 Complete Callback.
149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) TxMailbox1CompleteCallback : Tx Mailbox 1 Complete Callback.
150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) TxMailbox2CompleteCallback : Tx Mailbox 2 Complete Callback.
151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) TxMailbox0AbortCallback : Tx Mailbox 0 Abort Callback.
152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) TxMailbox1AbortCallback : Tx Mailbox 1 Abort Callback.
153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) TxMailbox2AbortCallback : Tx Mailbox 2 Abort Callback.
154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) RxFifo0MsgPendingCallback : Rx Fifo 0 Message Pending Callback.
155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) RxFifo0FullCallback : Rx Fifo 0 Full Callback.
156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) RxFifo1MsgPendingCallback : Rx Fifo 1 Message Pending Callback.
157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) RxFifo1FullCallback : Rx Fifo 1 Full Callback.
158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) SleepCallback : Sleep Callback.
159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) WakeUpFromRxMsgCallback : Wake Up From Rx Message Callback.
160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) ErrorCallback : Error Callback.
161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) MspInitCallback : CAN MspInit.
162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) MspDeInitCallback : CAN MspDeInit.
163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** This function takes as parameters the HAL peripheral handle, the Callback ID
164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** and a pointer to the user callback function.
165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** Use function HAL_CAN_UnRegisterCallback() to reset a callback to the default
167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** weak function.
168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_UnRegisterCallback takes as parameters the HAL peripheral handle,
169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** and the Callback ID.
170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** This function allows to reset following callbacks:
171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) TxMailbox0CompleteCallback : Tx Mailbox 0 Complete Callback.
172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) TxMailbox1CompleteCallback : Tx Mailbox 1 Complete Callback.
173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) TxMailbox2CompleteCallback : Tx Mailbox 2 Complete Callback.
174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) TxMailbox0AbortCallback : Tx Mailbox 0 Abort Callback.
175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) TxMailbox1AbortCallback : Tx Mailbox 1 Abort Callback.
176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) TxMailbox2AbortCallback : Tx Mailbox 2 Abort Callback.
177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) RxFifo0MsgPendingCallback : Rx Fifo 0 Message Pending Callback.
178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) RxFifo0FullCallback : Rx Fifo 0 Full Callback.
179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) RxFifo1MsgPendingCallback : Rx Fifo 1 Message Pending Callback.
180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) RxFifo1FullCallback : Rx Fifo 1 Full Callback.
181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) SleepCallback : Sleep Callback.
182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) WakeUpFromRxMsgCallback : Wake Up From Rx Message Callback.
183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) ErrorCallback : Error Callback.
184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) MspInitCallback : CAN MspInit.
185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) MspDeInitCallback : CAN MspDeInit.
186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** By default, after the HAL_CAN_Init() and when the state is HAL_CAN_STATE_RESET,
188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** all callbacks are set to the corresponding weak functions:
189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** example HAL_CAN_ErrorCallback().
190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** Exception done for MspInit and MspDeInit functions that are
191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** reset to the legacy weak function in the HAL_CAN_Init()/ HAL_CAN_DeInit() only when
192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** these callbacks are null (not registered beforehand).
193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if not, MspInit or MspDeInit are not null, the HAL_CAN_Init()/ HAL_CAN_DeInit()
194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** keep and use the user MspInit/MspDeInit callbacks (registered beforehand)
195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** Callbacks can be registered/unregistered in HAL_CAN_STATE_READY state only.
197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** Exception done MspInit/MspDeInit that can be registered/unregistered
198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** in HAL_CAN_STATE_READY or HAL_CAN_STATE_RESET state,
199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** thus registered (user) MspInit/DeInit callbacks can be used during the Init/DeInit.
200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** In that case first register the MspInit/MspDeInit user callbacks
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 5
201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** using HAL_CAN_RegisterCallback() before calling HAL_CAN_DeInit()
202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** or HAL_CAN_Init() function.
203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** When The compilation define USE_HAL_CAN_REGISTER_CALLBACKS is set to 0 or
205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** not defined, the callback registration feature is not available and all callbacks
206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** are set to the corresponding weak functions.
207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** @endverbatim
209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ******************************************************************************
210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Includes ------------------------------------------------------------------*/
213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #include "stm32f3xx_hal.h"
214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /** @addtogroup STM32F3xx_HAL_Driver
216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @{
217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if defined(CAN)
220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /** @defgroup CAN CAN
222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief CAN driver modules
223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @{
224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #ifdef HAL_CAN_MODULE_ENABLED
227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #ifdef HAL_CAN_LEGACY_MODULE_ENABLED
229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #error "The CAN driver cannot be used with its legacy, Please enable only one CAN module at once"
230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* HAL_CAN_LEGACY_MODULE_ENABLED */
231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Private typedef -----------------------------------------------------------*/
233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Private define ------------------------------------------------------------*/
234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /** @defgroup CAN_Private_Constants CAN Private Constants
235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @{
236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #define CAN_TIMEOUT_VALUE 10U
238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @}
240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Private macro -------------------------------------------------------------*/
242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Private variables ---------------------------------------------------------*/
243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Private function prototypes -----------------------------------------------*/
244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Exported functions --------------------------------------------------------*/
245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /** @defgroup CAN_Exported_Functions CAN Exported Functions
247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @{
248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /** @defgroup CAN_Exported_Functions_Group1 Initialization and de-initialization functions
251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Initialization and Configuration functions
252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** *
253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** @verbatim
254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ==============================================================================
255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ##### Initialization and de-initialization functions #####
256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ==============================================================================
257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** [..] This section provides functions allowing to:
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 6
258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_Init : Initialize and configure the CAN.
259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_DeInit : De-initialize the CAN.
260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_MspInit : Initialize the CAN MSP.
261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_MspDeInit : DeInitialize the CAN MSP.
262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** @endverbatim
264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @{
265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Initializes the CAN peripheral according to the specified
269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * parameters in the CAN_InitStruct.
270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval HAL status
273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_Init(CAN_HandleTypeDef *hcan)
275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t tickstart;
277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check CAN handle */
279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (hcan == NULL)
280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check the parameters */
285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_ALL_INSTANCE(hcan->Instance));
286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_FUNCTIONAL_STATE(hcan->Init.TimeTriggeredMode));
287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_FUNCTIONAL_STATE(hcan->Init.AutoBusOff));
288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_FUNCTIONAL_STATE(hcan->Init.AutoWakeUp));
289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_FUNCTIONAL_STATE(hcan->Init.AutoRetransmission));
290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_FUNCTIONAL_STATE(hcan->Init.ReceiveFifoLocked));
291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_FUNCTIONAL_STATE(hcan->Init.TransmitFifoPriority));
292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_MODE(hcan->Init.Mode));
293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_SJW(hcan->Init.SyncJumpWidth));
294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_BS1(hcan->Init.TimeSeg1));
295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_BS2(hcan->Init.TimeSeg2));
296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_PRESCALER(hcan->Init.Prescaler));
297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (hcan->State == HAL_CAN_STATE_RESET)
300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Reset callbacks to legacy functions */
302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->RxFifo0MsgPendingCallback = HAL_CAN_RxFifo0MsgPendingCallback; /* Legacy weak RxFifo0M
303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->RxFifo0FullCallback = HAL_CAN_RxFifo0FullCallback; /* Legacy weak RxFifo0F
304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->RxFifo1MsgPendingCallback = HAL_CAN_RxFifo1MsgPendingCallback; /* Legacy weak RxFifo1M
305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->RxFifo1FullCallback = HAL_CAN_RxFifo1FullCallback; /* Legacy weak RxFifo1F
306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox0CompleteCallback = HAL_CAN_TxMailbox0CompleteCallback; /* Legacy weak TxMailbo
307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox1CompleteCallback = HAL_CAN_TxMailbox1CompleteCallback; /* Legacy weak TxMailbo
308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox2CompleteCallback = HAL_CAN_TxMailbox2CompleteCallback; /* Legacy weak TxMailbo
309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox0AbortCallback = HAL_CAN_TxMailbox0AbortCallback; /* Legacy weak TxMailbo
310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox1AbortCallback = HAL_CAN_TxMailbox1AbortCallback; /* Legacy weak TxMailbo
311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox2AbortCallback = HAL_CAN_TxMailbox2AbortCallback; /* Legacy weak TxMailbo
312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->SleepCallback = HAL_CAN_SleepCallback; /* Legacy weak SleepCal
313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->WakeUpFromRxMsgCallback = HAL_CAN_WakeUpFromRxMsgCallback; /* Legacy weak WakeUpFr
314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCallback = HAL_CAN_ErrorCallback; /* Legacy weak ErrorCal
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 7
315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (hcan->MspInitCallback == NULL)
317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->MspInitCallback = HAL_CAN_MspInit; /* Legacy weak MspInit */
319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Init the low level hardware: CLOCK, NVIC */
322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->MspInitCallback(hcan);
323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #else
326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (hcan->State == HAL_CAN_STATE_RESET)
327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Init the low level hardware: CLOCK, NVIC */
329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_MspInit(hcan);
330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* (USE_HAL_CAN_REGISTER_CALLBACKS) */
332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Request initialisation */
334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(hcan->Instance->MCR, CAN_MCR_INRQ);
335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Get tick */
337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** tickstart = HAL_GetTick();
338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Wait initialisation acknowledge */
340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** while ((hcan->Instance->MSR & CAN_MSR_INAK) == 0U)
341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((HAL_GetTick() - tickstart) > CAN_TIMEOUT_VALUE)
343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_TIMEOUT;
346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Change CAN state */
348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->State = HAL_CAN_STATE_ERROR;
349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Exit from sleep mode */
355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** CLEAR_BIT(hcan->Instance->MCR, CAN_MCR_SLEEP);
356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Get tick */
358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** tickstart = HAL_GetTick();
359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check Sleep mode leave acknowledge */
361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** while ((hcan->Instance->MSR & CAN_MSR_SLAK) != 0U)
362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((HAL_GetTick() - tickstart) > CAN_TIMEOUT_VALUE)
364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_TIMEOUT;
367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Change CAN state */
369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->State = HAL_CAN_STATE_ERROR;
370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 8
372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set the time triggered communication mode */
376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (hcan->Init.TimeTriggeredMode == ENABLE)
377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(hcan->Instance->MCR, CAN_MCR_TTCM);
379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** CLEAR_BIT(hcan->Instance->MCR, CAN_MCR_TTCM);
383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set the automatic bus-off management */
386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (hcan->Init.AutoBusOff == ENABLE)
387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(hcan->Instance->MCR, CAN_MCR_ABOM);
389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** CLEAR_BIT(hcan->Instance->MCR, CAN_MCR_ABOM);
393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set the automatic wake-up mode */
396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (hcan->Init.AutoWakeUp == ENABLE)
397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(hcan->Instance->MCR, CAN_MCR_AWUM);
399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** CLEAR_BIT(hcan->Instance->MCR, CAN_MCR_AWUM);
403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set the automatic retransmission */
406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (hcan->Init.AutoRetransmission == ENABLE)
407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** CLEAR_BIT(hcan->Instance->MCR, CAN_MCR_NART);
409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(hcan->Instance->MCR, CAN_MCR_NART);
413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set the receive FIFO locked mode */
416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (hcan->Init.ReceiveFifoLocked == ENABLE)
417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(hcan->Instance->MCR, CAN_MCR_RFLM);
419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** CLEAR_BIT(hcan->Instance->MCR, CAN_MCR_RFLM);
423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set the transmit FIFO priority */
426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (hcan->Init.TransmitFifoPriority == ENABLE)
427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(hcan->Instance->MCR, CAN_MCR_TXFP);
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 9
429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** CLEAR_BIT(hcan->Instance->MCR, CAN_MCR_TXFP);
433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set the bit timing register */
436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** WRITE_REG(hcan->Instance->BTR, (uint32_t)(hcan->Init.Mode |
437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->Init.SyncJumpWidth |
438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->Init.TimeSeg1 |
439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->Init.TimeSeg2 |
440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (hcan->Init.Prescaler - 1U)));
441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Initialize the error code */
443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode = HAL_CAN_ERROR_NONE;
444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Initialize the CAN state */
446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->State = HAL_CAN_STATE_READY;
447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return function status */
449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_OK;
450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Deinitializes the CAN peripheral registers to their default
454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * reset values.
455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval HAL status
458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_DeInit(CAN_HandleTypeDef *hcan)
460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check CAN handle */
462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (hcan == NULL)
463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check the parameters */
468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_ALL_INSTANCE(hcan->Instance));
469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Stop the CAN module */
471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (void)HAL_CAN_Stop(hcan);
472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (hcan->MspDeInitCallback == NULL)
475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->MspDeInitCallback = HAL_CAN_MspDeInit; /* Legacy weak MspDeInit */
477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* DeInit the low level hardware: CLOCK, NVIC */
480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->MspDeInitCallback(hcan);
481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #else
483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* DeInit the low level hardware: CLOCK, NVIC */
484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_MspDeInit(hcan);
485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* (USE_HAL_CAN_REGISTER_CALLBACKS) */
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 10
486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Reset the CAN peripheral */
488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(hcan->Instance->MCR, CAN_MCR_RESET);
489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Reset the CAN ErrorCode */
491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode = HAL_CAN_ERROR_NONE;
492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Change CAN state */
494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->State = HAL_CAN_STATE_RESET;
495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return function status */
497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_OK;
498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Initializes the CAN MSP.
502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval None
505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __weak void HAL_CAN_MspInit(CAN_HandleTypeDef *hcan)
507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
30 .loc 1 507 1 view -0
31 .cfi_startproc
32 @ args = 0, pretend = 0, frame = 0
33 @ frame_needed = 0, uses_anonymous_args = 0
34 @ link register save eliminated.
508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** UNUSED(hcan);
35 .loc 1 509 3 view .LVU1
510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** the HAL_CAN_MspInit could be implemented in the user file
513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
36 .loc 1 514 1 is_stmt 0 view .LVU2
37 0000 7047 bx lr
38 .cfi_endproc
39 .LFE132:
41 .section .text.HAL_CAN_Init,"ax",%progbits
42 .align 1
43 .global HAL_CAN_Init
44 .syntax unified
45 .thumb
46 .thumb_func
48 HAL_CAN_Init:
49 .LVL1:
50 .LFB130:
275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t tickstart;
51 .loc 1 275 1 is_stmt 1 view -0
52 .cfi_startproc
53 @ args = 0, pretend = 0, frame = 0
54 @ frame_needed = 0, uses_anonymous_args = 0
276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
55 .loc 1 276 3 view .LVU4
279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
56 .loc 1 279 3 view .LVU5
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 11
279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
57 .loc 1 279 6 is_stmt 0 view .LVU6
58 0000 0028 cmp r0, #0
59 0002 00F0A180 beq .L21
275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t tickstart;
60 .loc 1 275 1 view .LVU7
61 0006 38B5 push {r3, r4, r5, lr}
62 .cfi_def_cfa_offset 16
63 .cfi_offset 3, -16
64 .cfi_offset 4, -12
65 .cfi_offset 5, -8
66 .cfi_offset 14, -4
67 0008 0446 mov r4, r0
285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_FUNCTIONAL_STATE(hcan->Init.TimeTriggeredMode));
68 .loc 1 285 3 is_stmt 1 view .LVU8
286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_FUNCTIONAL_STATE(hcan->Init.AutoBusOff));
69 .loc 1 286 3 view .LVU9
287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_FUNCTIONAL_STATE(hcan->Init.AutoWakeUp));
70 .loc 1 287 3 view .LVU10
288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_FUNCTIONAL_STATE(hcan->Init.AutoRetransmission));
71 .loc 1 288 3 view .LVU11
289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_FUNCTIONAL_STATE(hcan->Init.ReceiveFifoLocked));
72 .loc 1 289 3 view .LVU12
290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_FUNCTIONAL_STATE(hcan->Init.TransmitFifoPriority));
73 .loc 1 290 3 view .LVU13
291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_MODE(hcan->Init.Mode));
74 .loc 1 291 3 view .LVU14
292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_SJW(hcan->Init.SyncJumpWidth));
75 .loc 1 292 3 view .LVU15
293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_BS1(hcan->Init.TimeSeg1));
76 .loc 1 293 3 view .LVU16
294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_BS2(hcan->Init.TimeSeg2));
77 .loc 1 294 3 view .LVU17
295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_PRESCALER(hcan->Init.Prescaler));
78 .loc 1 295 3 view .LVU18
296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
79 .loc 1 296 3 view .LVU19
326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
80 .loc 1 326 3 view .LVU20
326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
81 .loc 1 326 11 is_stmt 0 view .LVU21
82 000a 90F82030 ldrb r3, [r0, #32] @ zero_extendqisi2
326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
83 .loc 1 326 6 view .LVU22
84 000e D3B1 cbz r3, .L26
85 .LVL2:
86 .L4:
334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
87 .loc 1 334 3 is_stmt 1 view .LVU23
88 0010 2268 ldr r2, [r4]
89 0012 1368 ldr r3, [r2]
90 0014 43F00103 orr r3, r3, #1
91 0018 1360 str r3, [r2]
337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
92 .loc 1 337 3 view .LVU24
337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
93 .loc 1 337 15 is_stmt 0 view .LVU25
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 12
94 001a FFF7FEFF bl HAL_GetTick
95 .LVL3:
96 001e 0546 mov r5, r0
97 .LVL4:
340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
98 .loc 1 340 3 is_stmt 1 view .LVU26
99 .L5:
340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
100 .loc 1 340 47 view .LVU27
340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
101 .loc 1 340 15 is_stmt 0 view .LVU28
102 0020 2368 ldr r3, [r4]
340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
103 .loc 1 340 25 view .LVU29
104 0022 5A68 ldr r2, [r3, #4]
340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
105 .loc 1 340 47 view .LVU30
106 0024 12F0010F tst r2, #1
107 0028 10D1 bne .L27
342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
108 .loc 1 342 5 is_stmt 1 view .LVU31
342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
109 .loc 1 342 10 is_stmt 0 view .LVU32
110 002a FFF7FEFF bl HAL_GetTick
111 .LVL5:
342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
112 .loc 1 342 24 view .LVU33
113 002e 401B subs r0, r0, r5
342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
114 .loc 1 342 8 view .LVU34
115 0030 0A28 cmp r0, #10
116 0032 F5D9 bls .L5
345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
117 .loc 1 345 7 is_stmt 1 view .LVU35
345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
118 .loc 1 345 11 is_stmt 0 view .LVU36
119 0034 636A ldr r3, [r4, #36]
345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
120 .loc 1 345 23 view .LVU37
121 0036 43F40033 orr r3, r3, #131072
122 003a 6362 str r3, [r4, #36]
348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
123 .loc 1 348 7 is_stmt 1 view .LVU38
348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
124 .loc 1 348 19 is_stmt 0 view .LVU39
125 003c 0523 movs r3, #5
126 003e 84F82030 strb r3, [r4, #32]
350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
127 .loc 1 350 7 is_stmt 1 view .LVU40
350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
128 .loc 1 350 14 is_stmt 0 view .LVU41
129 0042 0120 movs r0, #1
130 .L3:
450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
131 .loc 1 450 1 view .LVU42
132 0044 38BD pop {r3, r4, r5, pc}
133 .LVL6:
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 13
134 .L26:
329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
135 .loc 1 329 5 is_stmt 1 view .LVU43
136 0046 FFF7FEFF bl HAL_CAN_MspInit
137 .LVL7:
329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
138 .loc 1 329 5 is_stmt 0 view .LVU44
139 004a E1E7 b .L4
140 .LVL8:
141 .L27:
355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
142 .loc 1 355 3 is_stmt 1 view .LVU45
143 004c 1A68 ldr r2, [r3]
144 004e 22F00202 bic r2, r2, #2
145 0052 1A60 str r2, [r3]
358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
146 .loc 1 358 3 view .LVU46
358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
147 .loc 1 358 15 is_stmt 0 view .LVU47
148 0054 FFF7FEFF bl HAL_GetTick
149 .LVL9:
150 0058 0546 mov r5, r0
151 .LVL10:
361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
152 .loc 1 361 3 is_stmt 1 view .LVU48
153 .L7:
361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
154 .loc 1 361 47 view .LVU49
361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
155 .loc 1 361 15 is_stmt 0 view .LVU50
156 005a 2368 ldr r3, [r4]
361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
157 .loc 1 361 25 view .LVU51
158 005c 5A68 ldr r2, [r3, #4]
361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
159 .loc 1 361 47 view .LVU52
160 005e 12F0020F tst r2, #2
161 0062 0DD0 beq .L28
363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
162 .loc 1 363 5 is_stmt 1 view .LVU53
363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
163 .loc 1 363 10 is_stmt 0 view .LVU54
164 0064 FFF7FEFF bl HAL_GetTick
165 .LVL11:
363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
166 .loc 1 363 24 view .LVU55
167 0068 401B subs r0, r0, r5
363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
168 .loc 1 363 8 view .LVU56
169 006a 0A28 cmp r0, #10
170 006c F5D9 bls .L7
366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
171 .loc 1 366 7 is_stmt 1 view .LVU57
366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
172 .loc 1 366 11 is_stmt 0 view .LVU58
173 006e 636A ldr r3, [r4, #36]
366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 14
174 .loc 1 366 23 view .LVU59
175 0070 43F40033 orr r3, r3, #131072
176 0074 6362 str r3, [r4, #36]
369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
177 .loc 1 369 7 is_stmt 1 view .LVU60
369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
178 .loc 1 369 19 is_stmt 0 view .LVU61
179 0076 0523 movs r3, #5
180 0078 84F82030 strb r3, [r4, #32]
371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
181 .loc 1 371 7 is_stmt 1 view .LVU62
371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
182 .loc 1 371 14 is_stmt 0 view .LVU63
183 007c 0120 movs r0, #1
184 007e E1E7 b .L3
185 .L28:
376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
186 .loc 1 376 3 is_stmt 1 view .LVU64
376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
187 .loc 1 376 17 is_stmt 0 view .LVU65
188 0080 227E ldrb r2, [r4, #24] @ zero_extendqisi2
376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
189 .loc 1 376 6 view .LVU66
190 0082 012A cmp r2, #1
191 0084 3DD0 beq .L29
382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
192 .loc 1 382 5 is_stmt 1 view .LVU67
193 0086 1A68 ldr r2, [r3]
194 0088 22F08002 bic r2, r2, #128
195 008c 1A60 str r2, [r3]
196 .L10:
386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
197 .loc 1 386 3 view .LVU68
386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
198 .loc 1 386 17 is_stmt 0 view .LVU69
199 008e 637E ldrb r3, [r4, #25] @ zero_extendqisi2
386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
200 .loc 1 386 6 view .LVU70
201 0090 012B cmp r3, #1
202 0092 3BD0 beq .L30
392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
203 .loc 1 392 5 is_stmt 1 view .LVU71
204 0094 2268 ldr r2, [r4]
205 0096 1368 ldr r3, [r2]
206 0098 23F04003 bic r3, r3, #64
207 009c 1360 str r3, [r2]
208 .L12:
396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
209 .loc 1 396 3 view .LVU72
396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
210 .loc 1 396 17 is_stmt 0 view .LVU73
211 009e A37E ldrb r3, [r4, #26] @ zero_extendqisi2
396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
212 .loc 1 396 6 view .LVU74
213 00a0 012B cmp r3, #1
214 00a2 39D0 beq .L31
402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 15
215 .loc 1 402 5 is_stmt 1 view .LVU75
216 00a4 2268 ldr r2, [r4]
217 00a6 1368 ldr r3, [r2]
218 00a8 23F02003 bic r3, r3, #32
219 00ac 1360 str r3, [r2]
220 .L14:
406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
221 .loc 1 406 3 view .LVU76
406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
222 .loc 1 406 17 is_stmt 0 view .LVU77
223 00ae E37E ldrb r3, [r4, #27] @ zero_extendqisi2
406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
224 .loc 1 406 6 view .LVU78
225 00b0 012B cmp r3, #1
226 00b2 37D0 beq .L32
412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
227 .loc 1 412 5 is_stmt 1 view .LVU79
228 00b4 2268 ldr r2, [r4]
229 00b6 1368 ldr r3, [r2]
230 00b8 43F01003 orr r3, r3, #16
231 00bc 1360 str r3, [r2]
232 .L16:
416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
233 .loc 1 416 3 view .LVU80
416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
234 .loc 1 416 17 is_stmt 0 view .LVU81
235 00be 237F ldrb r3, [r4, #28] @ zero_extendqisi2
416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
236 .loc 1 416 6 view .LVU82
237 00c0 012B cmp r3, #1
238 00c2 35D0 beq .L33
422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
239 .loc 1 422 5 is_stmt 1 view .LVU83
240 00c4 2268 ldr r2, [r4]
241 00c6 1368 ldr r3, [r2]
242 00c8 23F00803 bic r3, r3, #8
243 00cc 1360 str r3, [r2]
244 .L18:
426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
245 .loc 1 426 3 view .LVU84
426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
246 .loc 1 426 17 is_stmt 0 view .LVU85
247 00ce 637F ldrb r3, [r4, #29] @ zero_extendqisi2
426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
248 .loc 1 426 6 view .LVU86
249 00d0 012B cmp r3, #1
250 00d2 33D0 beq .L34
432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
251 .loc 1 432 5 is_stmt 1 view .LVU87
252 00d4 2268 ldr r2, [r4]
253 00d6 1368 ldr r3, [r2]
254 00d8 23F00403 bic r3, r3, #4
255 00dc 1360 str r3, [r2]
256 .L20:
436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->Init.SyncJumpWidth |
257 .loc 1 436 3 view .LVU88
258 00de A368 ldr r3, [r4, #8]
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 16
259 00e0 E268 ldr r2, [r4, #12]
260 00e2 1343 orrs r3, r3, r2
261 00e4 2269 ldr r2, [r4, #16]
262 00e6 1343 orrs r3, r3, r2
263 00e8 6269 ldr r2, [r4, #20]
264 00ea 1343 orrs r3, r3, r2
265 00ec 6268 ldr r2, [r4, #4]
266 00ee 013A subs r2, r2, #1
267 00f0 2168 ldr r1, [r4]
268 00f2 1343 orrs r3, r3, r2
269 00f4 CB61 str r3, [r1, #28]
443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
270 .loc 1 443 3 view .LVU89
443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
271 .loc 1 443 19 is_stmt 0 view .LVU90
272 00f6 0020 movs r0, #0
273 00f8 6062 str r0, [r4, #36]
446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
274 .loc 1 446 3 is_stmt 1 view .LVU91
446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
275 .loc 1 446 15 is_stmt 0 view .LVU92
276 00fa 0123 movs r3, #1
277 00fc 84F82030 strb r3, [r4, #32]
449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
278 .loc 1 449 3 is_stmt 1 view .LVU93
449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
279 .loc 1 449 10 is_stmt 0 view .LVU94
280 0100 A0E7 b .L3
281 .L29:
378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
282 .loc 1 378 5 is_stmt 1 view .LVU95
283 0102 1A68 ldr r2, [r3]
284 0104 42F08002 orr r2, r2, #128
285 0108 1A60 str r2, [r3]
286 010a C0E7 b .L10
287 .L30:
388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
288 .loc 1 388 5 view .LVU96
289 010c 2268 ldr r2, [r4]
290 010e 1368 ldr r3, [r2]
291 0110 43F04003 orr r3, r3, #64
292 0114 1360 str r3, [r2]
293 0116 C2E7 b .L12
294 .L31:
398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
295 .loc 1 398 5 view .LVU97
296 0118 2268 ldr r2, [r4]
297 011a 1368 ldr r3, [r2]
298 011c 43F02003 orr r3, r3, #32
299 0120 1360 str r3, [r2]
300 0122 C4E7 b .L14
301 .L32:
408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
302 .loc 1 408 5 view .LVU98
303 0124 2268 ldr r2, [r4]
304 0126 1368 ldr r3, [r2]
305 0128 23F01003 bic r3, r3, #16
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 17
306 012c 1360 str r3, [r2]
307 012e C6E7 b .L16
308 .L33:
418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
309 .loc 1 418 5 view .LVU99
310 0130 2268 ldr r2, [r4]
311 0132 1368 ldr r3, [r2]
312 0134 43F00803 orr r3, r3, #8
313 0138 1360 str r3, [r2]
314 013a C8E7 b .L18
315 .L34:
428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
316 .loc 1 428 5 view .LVU100
317 013c 2268 ldr r2, [r4]
318 013e 1368 ldr r3, [r2]
319 0140 43F00403 orr r3, r3, #4
320 0144 1360 str r3, [r2]
321 0146 CAE7 b .L20
322 .LVL12:
323 .L21:
324 .cfi_def_cfa_offset 0
325 .cfi_restore 3
326 .cfi_restore 4
327 .cfi_restore 5
328 .cfi_restore 14
281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
329 .loc 1 281 12 is_stmt 0 view .LVU101
330 0148 0120 movs r0, #1
331 .LVL13:
450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
332 .loc 1 450 1 view .LVU102
333 014a 7047 bx lr
334 .cfi_endproc
335 .LFE130:
337 .section .text.HAL_CAN_MspDeInit,"ax",%progbits
338 .align 1
339 .weak HAL_CAN_MspDeInit
340 .syntax unified
341 .thumb
342 .thumb_func
344 HAL_CAN_MspDeInit:
345 .LVL14:
346 .LFB133:
515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief DeInitializes the CAN MSP.
518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval None
521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __weak void HAL_CAN_MspDeInit(CAN_HandleTypeDef *hcan)
523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
347 .loc 1 523 1 is_stmt 1 view -0
348 .cfi_startproc
349 @ args = 0, pretend = 0, frame = 0
350 @ frame_needed = 0, uses_anonymous_args = 0
351 @ link register save eliminated.
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 18
524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** UNUSED(hcan);
352 .loc 1 525 3 view .LVU104
526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** the HAL_CAN_MspDeInit could be implemented in the user file
529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
353 .loc 1 530 1 is_stmt 0 view .LVU105
354 0000 7047 bx lr
355 .cfi_endproc
356 .LFE133:
358 .section .text.HAL_CAN_ConfigFilter,"ax",%progbits
359 .align 1
360 .global HAL_CAN_ConfigFilter
361 .syntax unified
362 .thumb
363 .thumb_func
365 HAL_CAN_ConfigFilter:
366 .LVL15:
367 .LFB134:
531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Register a CAN CallBack.
535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * To be used instead of the weak predefined callback
536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for CAN module
538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param CallbackID ID of the callback to be registered
539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * This parameter can be one of the following values:
540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_TX_MAILBOX0_COMPLETE_CB_ID Tx Mailbox 0 Complete callback ID
541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_TX_MAILBOX1_COMPLETE_CB_ID Tx Mailbox 1 Complete callback ID
542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_TX_MAILBOX2_COMPLETE_CB_ID Tx Mailbox 2 Complete callback ID
543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_TX_MAILBOX0_ABORT_CB_ID Tx Mailbox 0 Abort callback ID
544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_TX_MAILBOX1_ABORT_CB_ID Tx Mailbox 1 Abort callback ID
545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_TX_MAILBOX2_ABORT_CB_ID Tx Mailbox 2 Abort callback ID
546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_RX_FIFO0_MSG_PENDING_CB_ID Rx Fifo 0 message pending callback ID
547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_RX_FIFO0_FULL_CB_ID Rx Fifo 0 full callback ID
548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_RX_FIFO1_MSG_PENDING_CB_ID Rx Fifo 1 message pending callback ID
549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_RX_FIFO1_FULL_CB_ID Rx Fifo 1 full callback ID
550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_SLEEP_CB_ID Sleep callback ID
551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_WAKEUP_FROM_RX_MSG_CB_ID Wake Up from Rx message callback ID
552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_ERROR_CB_ID Error callback ID
553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_MSPINIT_CB_ID MspInit callback ID
554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_MSPDEINIT_CB_ID MspDeInit callback ID
555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param pCallback pointer to the Callback function
556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval HAL status
557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_RegisterCallback(CAN_HandleTypeDef *hcan, HAL_CAN_CallbackIDTypeDef Callb
559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** void (* pCallback)(CAN_HandleTypeDef *_hcan))
560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
561:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef status = HAL_OK;
562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (pCallback == NULL)
564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update the error code */
566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_INVALID_CALLBACK;
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 19
567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (hcan->State == HAL_CAN_STATE_READY)
572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** switch (CallbackID)
574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_TX_MAILBOX0_COMPLETE_CB_ID :
576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox0CompleteCallback = pCallback;
577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_TX_MAILBOX1_COMPLETE_CB_ID :
580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox1CompleteCallback = pCallback;
581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_TX_MAILBOX2_COMPLETE_CB_ID :
584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox2CompleteCallback = pCallback;
585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_TX_MAILBOX0_ABORT_CB_ID :
588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox0AbortCallback = pCallback;
589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_TX_MAILBOX1_ABORT_CB_ID :
592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox1AbortCallback = pCallback;
593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_TX_MAILBOX2_ABORT_CB_ID :
596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox2AbortCallback = pCallback;
597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_RX_FIFO0_MSG_PENDING_CB_ID :
600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->RxFifo0MsgPendingCallback = pCallback;
601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_RX_FIFO0_FULL_CB_ID :
604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->RxFifo0FullCallback = pCallback;
605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_RX_FIFO1_MSG_PENDING_CB_ID :
608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->RxFifo1MsgPendingCallback = pCallback;
609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_RX_FIFO1_FULL_CB_ID :
612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->RxFifo1FullCallback = pCallback;
613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_SLEEP_CB_ID :
616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->SleepCallback = pCallback;
617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_WAKEUP_FROM_RX_MSG_CB_ID :
620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->WakeUpFromRxMsgCallback = pCallback;
621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_ERROR_CB_ID :
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 20
624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCallback = pCallback;
625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_MSPINIT_CB_ID :
628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->MspInitCallback = pCallback;
629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_MSPDEINIT_CB_ID :
632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->MspDeInitCallback = pCallback;
633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** default :
636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update the error code */
637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_INVALID_CALLBACK;
638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return error status */
640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** status = HAL_ERROR;
641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else if (hcan->State == HAL_CAN_STATE_RESET)
645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** switch (CallbackID)
647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_MSPINIT_CB_ID :
649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->MspInitCallback = pCallback;
650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_MSPDEINIT_CB_ID :
653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->MspDeInitCallback = pCallback;
654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** default :
657:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update the error code */
658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_INVALID_CALLBACK;
659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return error status */
661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** status = HAL_ERROR;
662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update the error code */
668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_INVALID_CALLBACK;
669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return error status */
671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** status = HAL_ERROR;
672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return status;
675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Unregister a CAN CallBack.
679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * CAN callback is redirected to the weak predefined callback
680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 21
681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for CAN module
682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param CallbackID ID of the callback to be unregistered
683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * This parameter can be one of the following values:
684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_TX_MAILBOX0_COMPLETE_CB_ID Tx Mailbox 0 Complete callback ID
685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_TX_MAILBOX1_COMPLETE_CB_ID Tx Mailbox 1 Complete callback ID
686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_TX_MAILBOX2_COMPLETE_CB_ID Tx Mailbox 2 Complete callback ID
687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_TX_MAILBOX0_ABORT_CB_ID Tx Mailbox 0 Abort callback ID
688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_TX_MAILBOX1_ABORT_CB_ID Tx Mailbox 1 Abort callback ID
689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_TX_MAILBOX2_ABORT_CB_ID Tx Mailbox 2 Abort callback ID
690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_RX_FIFO0_MSG_PENDING_CB_ID Rx Fifo 0 message pending callback ID
691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_RX_FIFO0_FULL_CB_ID Rx Fifo 0 full callback ID
692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_RX_FIFO1_MSG_PENDING_CB_ID Rx Fifo 1 message pending callback ID
693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_RX_FIFO1_FULL_CB_ID Rx Fifo 1 full callback ID
694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_SLEEP_CB_ID Sleep callback ID
695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_WAKEUP_FROM_RX_MSG_CB_ID Wake Up from Rx message callback ID
696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_ERROR_CB_ID Error callback ID
697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_MSPINIT_CB_ID MspInit callback ID
698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @arg @ref HAL_CAN_MSPDEINIT_CB_ID MspDeInit callback ID
699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval HAL status
700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_UnRegisterCallback(CAN_HandleTypeDef *hcan, HAL_CAN_CallbackIDTypeDef Cal
702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
703:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef status = HAL_OK;
704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
705:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (hcan->State == HAL_CAN_STATE_READY)
706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** switch (CallbackID)
708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_TX_MAILBOX0_COMPLETE_CB_ID :
710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox0CompleteCallback = HAL_CAN_TxMailbox0CompleteCallback;
711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_TX_MAILBOX1_COMPLETE_CB_ID :
714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox1CompleteCallback = HAL_CAN_TxMailbox1CompleteCallback;
715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_TX_MAILBOX2_COMPLETE_CB_ID :
718:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox2CompleteCallback = HAL_CAN_TxMailbox2CompleteCallback;
719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_TX_MAILBOX0_ABORT_CB_ID :
722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox0AbortCallback = HAL_CAN_TxMailbox0AbortCallback;
723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_TX_MAILBOX1_ABORT_CB_ID :
726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox1AbortCallback = HAL_CAN_TxMailbox1AbortCallback;
727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_TX_MAILBOX2_ABORT_CB_ID :
730:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox2AbortCallback = HAL_CAN_TxMailbox2AbortCallback;
731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_RX_FIFO0_MSG_PENDING_CB_ID :
734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->RxFifo0MsgPendingCallback = HAL_CAN_RxFifo0MsgPendingCallback;
735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_RX_FIFO0_FULL_CB_ID :
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 22
738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->RxFifo0FullCallback = HAL_CAN_RxFifo0FullCallback;
739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_RX_FIFO1_MSG_PENDING_CB_ID :
742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->RxFifo1MsgPendingCallback = HAL_CAN_RxFifo1MsgPendingCallback;
743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_RX_FIFO1_FULL_CB_ID :
746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->RxFifo1FullCallback = HAL_CAN_RxFifo1FullCallback;
747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_SLEEP_CB_ID :
750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->SleepCallback = HAL_CAN_SleepCallback;
751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_WAKEUP_FROM_RX_MSG_CB_ID :
754:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->WakeUpFromRxMsgCallback = HAL_CAN_WakeUpFromRxMsgCallback;
755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_ERROR_CB_ID :
758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCallback = HAL_CAN_ErrorCallback;
759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_MSPINIT_CB_ID :
762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->MspInitCallback = HAL_CAN_MspInit;
763:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_MSPDEINIT_CB_ID :
766:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->MspDeInitCallback = HAL_CAN_MspDeInit;
767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** default :
770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update the error code */
771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_INVALID_CALLBACK;
772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return error status */
774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** status = HAL_ERROR;
775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
776:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else if (hcan->State == HAL_CAN_STATE_RESET)
779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** switch (CallbackID)
781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_MSPINIT_CB_ID :
783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->MspInitCallback = HAL_CAN_MspInit;
784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
786:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case HAL_CAN_MSPDEINIT_CB_ID :
787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->MspDeInitCallback = HAL_CAN_MspDeInit;
788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** default :
791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update the error code */
792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_INVALID_CALLBACK;
793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return error status */
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 23
795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** status = HAL_ERROR;
796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update the error code */
802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_INVALID_CALLBACK;
803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return error status */
805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** status = HAL_ERROR;
806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return status;
809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
812:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @}
814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /** @defgroup CAN_Exported_Functions_Group2 Configuration functions
817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Configuration functions.
818:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** *
819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** @verbatim
820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ==============================================================================
821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ##### Configuration functions #####
822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ==============================================================================
823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** [..] This section provides functions allowing to:
824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_ConfigFilter : Configure the CAN reception filters
825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** @endverbatim
827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @{
828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Configures the CAN reception filter according to the specified
832:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * parameters in the CAN_FilterInitStruct.
833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param sFilterConfig pointer to a CAN_FilterTypeDef structure that
836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * contains the filter configuration information.
837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval None
838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_ConfigFilter(CAN_HandleTypeDef *hcan, const CAN_FilterTypeDef *sFilterCon
840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
368 .loc 1 840 1 is_stmt 1 view -0
369 .cfi_startproc
370 @ args = 0, pretend = 0, frame = 0
371 @ frame_needed = 0, uses_anonymous_args = 0
372 @ link register save eliminated.
841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t filternbrbitpos;
373 .loc 1 841 3 view .LVU107
842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** CAN_TypeDef *can_ip = hcan->Instance;
374 .loc 1 842 3 view .LVU108
375 .loc 1 842 16 is_stmt 0 view .LVU109
376 0000 0268 ldr r2, [r0]
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 24
377 .LVL16:
843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
378 .loc 1 843 3 is_stmt 1 view .LVU110
379 .loc 1 843 24 is_stmt 0 view .LVU111
380 0002 90F82030 ldrb r3, [r0, #32] @ zero_extendqisi2
381 .LVL17:
844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
382 .loc 1 845 3 is_stmt 1 view .LVU112
383 .loc 1 845 38 is_stmt 0 view .LVU113
384 0006 013B subs r3, r3, #1
385 .LVL18:
386 .loc 1 845 38 view .LVU114
387 0008 DBB2 uxtb r3, r3
388 .loc 1 845 6 view .LVU115
389 000a 012B cmp r3, #1
390 000c 05D9 bls .L50
846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check the parameters */
849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_FILTER_ID_HALFWORD(sFilterConfig->FilterIdHigh));
850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_FILTER_ID_HALFWORD(sFilterConfig->FilterIdLow));
851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_FILTER_ID_HALFWORD(sFilterConfig->FilterMaskIdHigh));
852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_FILTER_ID_HALFWORD(sFilterConfig->FilterMaskIdLow));
853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_FILTER_MODE(sFilterConfig->FilterMode));
854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_FILTER_SCALE(sFilterConfig->FilterScale));
855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_FILTER_FIFO(sFilterConfig->FilterFIFOAssignment));
856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_FILTER_ACTIVATION(sFilterConfig->FilterActivation));
857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* CAN is single instance with 14 dedicated filters banks */
859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check the parameters */
861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_FILTER_BANK_SINGLE(sFilterConfig->FilterBank));
862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Initialisation mode for the filter */
864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(can_ip->FMR, CAN_FMR_FINIT);
865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Convert filter number into bit position */
867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** filternbrbitpos = (uint32_t)1 << (sFilterConfig->FilterBank & 0x1FU);
868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Filter Deactivation */
870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** CLEAR_BIT(can_ip->FA1R, filternbrbitpos);
871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Filter Scale */
873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (sFilterConfig->FilterScale == CAN_FILTERSCALE_16BIT)
874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* 16-bit scale for the filter */
876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** CLEAR_BIT(can_ip->FS1R, filternbrbitpos);
877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* First 16-bit identifier and First 16-bit mask */
879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Or First 16-bit identifier and Second 16-bit identifier */
880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** can_ip->sFilterRegister[sFilterConfig->FilterBank].FR1 =
881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdLow) << 16U) |
882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (0x0000FFFFU & (uint32_t)sFilterConfig->FilterIdLow);
883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Second 16-bit identifier and Second 16-bit mask */
885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Or Third 16-bit identifier and Fourth 16-bit identifier */
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 25
886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** can_ip->sFilterRegister[sFilterConfig->FilterBank].FR2 =
887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdHigh) << 16U) |
888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (0x0000FFFFU & (uint32_t)sFilterConfig->FilterIdHigh);
889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (sFilterConfig->FilterScale == CAN_FILTERSCALE_32BIT)
892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* 32-bit scale for the filter */
894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(can_ip->FS1R, filternbrbitpos);
895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* 32-bit identifier or First 32-bit identifier */
897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** can_ip->sFilterRegister[sFilterConfig->FilterBank].FR1 =
898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterIdHigh) << 16U) |
899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (0x0000FFFFU & (uint32_t)sFilterConfig->FilterIdLow);
900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* 32-bit mask or Second 32-bit identifier */
902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** can_ip->sFilterRegister[sFilterConfig->FilterBank].FR2 =
903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdHigh) << 16U) |
904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdLow);
905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
906:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Filter Mode */
908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (sFilterConfig->FilterMode == CAN_FILTERMODE_IDMASK)
909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Id/Mask mode for the filter*/
911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** CLEAR_BIT(can_ip->FM1R, filternbrbitpos);
912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else /* CAN_FilterInitStruct->CAN_FilterMode == CAN_FilterMode_IdList */
914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Identifier list mode for the filter*/
916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(can_ip->FM1R, filternbrbitpos);
917:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
918:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Filter FIFO assignment */
920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (sFilterConfig->FilterFIFOAssignment == CAN_FILTER_FIFO0)
921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* FIFO 0 assignation for the filter */
923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** CLEAR_BIT(can_ip->FFA1R, filternbrbitpos);
924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* FIFO 1 assignation for the filter */
928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(can_ip->FFA1R, filternbrbitpos);
929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Filter activation */
932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (sFilterConfig->FilterActivation == CAN_FILTER_ENABLE)
933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(can_ip->FA1R, filternbrbitpos);
935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Leave the initialisation mode for the filter */
938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** CLEAR_BIT(can_ip->FMR, CAN_FMR_FINIT);
939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return function status */
941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_OK;
942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 26
943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_NOT_INITIALIZED;
391 .loc 1 946 5 is_stmt 1 view .LVU116
392 .loc 1 946 9 is_stmt 0 view .LVU117
393 000e 436A ldr r3, [r0, #36]
394 .loc 1 946 21 view .LVU118
395 0010 43F48023 orr r3, r3, #262144
396 0014 4362 str r3, [r0, #36]
947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
397 .loc 1 948 5 is_stmt 1 view .LVU119
398 .loc 1 948 12 is_stmt 0 view .LVU120
399 0016 0120 movs r0, #1
400 .LVL19:
949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
401 .loc 1 950 1 view .LVU121
402 0018 7047 bx lr
403 .LVL20:
404 .L50:
840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t filternbrbitpos;
405 .loc 1 840 1 view .LVU122
406 001a 30B4 push {r4, r5}
407 .cfi_def_cfa_offset 8
408 .cfi_offset 4, -8
409 .cfi_offset 5, -4
849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_FILTER_ID_HALFWORD(sFilterConfig->FilterIdLow));
410 .loc 1 849 5 is_stmt 1 view .LVU123
850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_FILTER_ID_HALFWORD(sFilterConfig->FilterMaskIdHigh));
411 .loc 1 850 5 view .LVU124
851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_FILTER_ID_HALFWORD(sFilterConfig->FilterMaskIdLow));
412 .loc 1 851 5 view .LVU125
852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_FILTER_MODE(sFilterConfig->FilterMode));
413 .loc 1 852 5 view .LVU126
853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_FILTER_SCALE(sFilterConfig->FilterScale));
414 .loc 1 853 5 view .LVU127
854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_FILTER_FIFO(sFilterConfig->FilterFIFOAssignment));
415 .loc 1 854 5 view .LVU128
855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_FILTER_ACTIVATION(sFilterConfig->FilterActivation));
416 .loc 1 855 5 view .LVU129
856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
417 .loc 1 856 5 view .LVU130
861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
418 .loc 1 861 5 view .LVU131
864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
419 .loc 1 864 5 view .LVU132
420 001c D2F80032 ldr r3, [r2, #512]
421 0020 43F00103 orr r3, r3, #1
422 0024 C2F80032 str r3, [r2, #512]
867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
423 .loc 1 867 5 view .LVU133
867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
424 .loc 1 867 52 is_stmt 0 view .LVU134
425 0028 4B69 ldr r3, [r1, #20]
867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 27
426 .loc 1 867 65 view .LVU135
427 002a 03F01F03 and r3, r3, #31
867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
428 .loc 1 867 21 view .LVU136
429 002e 0120 movs r0, #1
430 .LVL21:
867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
431 .loc 1 867 21 view .LVU137
432 0030 00FA03F3 lsl r3, r0, r3
433 .LVL22:
870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
434 .loc 1 870 5 is_stmt 1 view .LVU138
435 0034 D2F81C02 ldr r0, [r2, #540]
436 0038 6FEA030C mvn ip, r3
437 003c 20EA0300 bic r0, r0, r3
438 0040 C2F81C02 str r0, [r2, #540]
873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
439 .loc 1 873 5 view .LVU139
873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
440 .loc 1 873 22 is_stmt 0 view .LVU140
441 0044 C869 ldr r0, [r1, #28]
873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
442 .loc 1 873 8 view .LVU141
443 0046 B0B9 cbnz r0, .L38
876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
444 .loc 1 876 7 is_stmt 1 view .LVU142
445 0048 D2F80C02 ldr r0, [r2, #524]
446 004c 0CEA0000 and r0, ip, r0
447 0050 C2F80C02 str r0, [r2, #524]
880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdLow) << 16U) |
448 .loc 1 880 7 view .LVU143
882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
449 .loc 1 882 22 is_stmt 0 view .LVU144
450 0054 8C88 ldrh r4, [r1, #4]
880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdLow) << 16U) |
451 .loc 1 880 44 view .LVU145
452 0056 4869 ldr r0, [r1, #20]
881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (0x0000FFFFU & (uint32_t)sFilterConfig->FilterIdLow);
453 .loc 1 881 75 view .LVU146
454 0058 CD68 ldr r5, [r1, #12]
455 005a 44EA0544 orr r4, r4, r5, lsl #16
880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdLow) << 16U) |
456 .loc 1 880 62 view .LVU147
457 005e 4830 adds r0, r0, #72
458 0060 42F83040 str r4, [r2, r0, lsl #3]
886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdHigh) << 16U) |
459 .loc 1 886 7 is_stmt 1 view .LVU148
888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
460 .loc 1 888 22 is_stmt 0 view .LVU149
461 0064 0C88 ldrh r4, [r1]
886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdHigh) << 16U) |
462 .loc 1 886 44 view .LVU150
463 0066 4869 ldr r0, [r1, #20]
887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (0x0000FFFFU & (uint32_t)sFilterConfig->FilterIdHigh);
464 .loc 1 887 76 view .LVU151
465 0068 8D68 ldr r5, [r1, #8]
466 006a 44EA0544 orr r4, r4, r5, lsl #16
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 28
886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdHigh) << 16U) |
467 .loc 1 886 62 view .LVU152
468 006e 4830 adds r0, r0, #72
469 0070 02EBC000 add r0, r2, r0, lsl #3
470 0074 4460 str r4, [r0, #4]
471 .L38:
891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
472 .loc 1 891 5 is_stmt 1 view .LVU153
891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
473 .loc 1 891 22 is_stmt 0 view .LVU154
474 0076 C869 ldr r0, [r1, #28]
891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
475 .loc 1 891 8 view .LVU155
476 0078 0128 cmp r0, #1
477 007a 1BD0 beq .L51
478 .L39:
908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
479 .loc 1 908 5 is_stmt 1 view .LVU156
908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
480 .loc 1 908 22 is_stmt 0 view .LVU157
481 007c 8869 ldr r0, [r1, #24]
908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
482 .loc 1 908 8 view .LVU158
483 007e 80BB cbnz r0, .L40
911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
484 .loc 1 911 7 is_stmt 1 view .LVU159
485 0080 D2F80402 ldr r0, [r2, #516]
486 0084 0CEA0000 and r0, ip, r0
487 0088 C2F80402 str r0, [r2, #516]
488 .L41:
920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
489 .loc 1 920 5 view .LVU160
920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
490 .loc 1 920 22 is_stmt 0 view .LVU161
491 008c 0869 ldr r0, [r1, #16]
920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
492 .loc 1 920 8 view .LVU162
493 008e 70BB cbnz r0, .L42
923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
494 .loc 1 923 7 is_stmt 1 view .LVU163
495 0090 D2F81402 ldr r0, [r2, #532]
496 0094 0CEA0000 and r0, ip, r0
497 0098 C2F81402 str r0, [r2, #532]
498 .L43:
932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
499 .loc 1 932 5 view .LVU164
932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
500 .loc 1 932 22 is_stmt 0 view .LVU165
501 009c 096A ldr r1, [r1, #32]
502 .LVL23:
932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
503 .loc 1 932 8 view .LVU166
504 009e 0129 cmp r1, #1
505 00a0 2BD0 beq .L52
506 .LVL24:
507 .L44:
938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 29
508 .loc 1 938 5 is_stmt 1 view .LVU167
509 00a2 D2F80032 ldr r3, [r2, #512]
510 00a6 23F00103 bic r3, r3, #1
511 00aa C2F80032 str r3, [r2, #512]
941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
512 .loc 1 941 5 view .LVU168
941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
513 .loc 1 941 12 is_stmt 0 view .LVU169
514 00ae 0020 movs r0, #0
515 .loc 1 950 1 view .LVU170
516 00b0 30BC pop {r4, r5}
517 .cfi_remember_state
518 .cfi_restore 5
519 .cfi_restore 4
520 .cfi_def_cfa_offset 0
521 00b2 7047 bx lr
522 .LVL25:
523 .L51:
524 .cfi_restore_state
894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
525 .loc 1 894 7 is_stmt 1 view .LVU171
526 00b4 D2F80C02 ldr r0, [r2, #524]
527 00b8 1843 orrs r0, r0, r3
528 00ba C2F80C02 str r0, [r2, #524]
897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterIdHigh) << 16U) |
529 .loc 1 897 7 view .LVU172
899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
530 .loc 1 899 22 is_stmt 0 view .LVU173
531 00be 8C88 ldrh r4, [r1, #4]
897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterIdHigh) << 16U) |
532 .loc 1 897 44 view .LVU174
533 00c0 4869 ldr r0, [r1, #20]
898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (0x0000FFFFU & (uint32_t)sFilterConfig->FilterIdLow);
534 .loc 1 898 72 view .LVU175
535 00c2 0D68 ldr r5, [r1]
536 00c4 44EA0544 orr r4, r4, r5, lsl #16
897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterIdHigh) << 16U) |
537 .loc 1 897 62 view .LVU176
538 00c8 4830 adds r0, r0, #72
539 00ca 42F83040 str r4, [r2, r0, lsl #3]
902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdHigh) << 16U) |
540 .loc 1 902 7 is_stmt 1 view .LVU177
904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
541 .loc 1 904 22 is_stmt 0 view .LVU178
542 00ce 8C89 ldrh r4, [r1, #12]
902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdHigh) << 16U) |
543 .loc 1 902 44 view .LVU179
544 00d0 4869 ldr r0, [r1, #20]
903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdLow);
545 .loc 1 903 76 view .LVU180
546 00d2 8D68 ldr r5, [r1, #8]
547 00d4 44EA0544 orr r4, r4, r5, lsl #16
902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdHigh) << 16U) |
548 .loc 1 902 62 view .LVU181
549 00d8 4830 adds r0, r0, #72
550 00da 02EBC000 add r0, r2, r0, lsl #3
551 00de 4460 str r4, [r0, #4]
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 30
552 00e0 CCE7 b .L39
553 .L40:
916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
554 .loc 1 916 7 is_stmt 1 view .LVU182
555 00e2 D2F80402 ldr r0, [r2, #516]
556 00e6 1843 orrs r0, r0, r3
557 00e8 C2F80402 str r0, [r2, #516]
558 00ec CEE7 b .L41
559 .L42:
928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
560 .loc 1 928 7 view .LVU183
561 00ee D2F81402 ldr r0, [r2, #532]
562 00f2 1843 orrs r0, r0, r3
563 00f4 C2F81402 str r0, [r2, #532]
564 00f8 D0E7 b .L43
565 .LVL26:
566 .L52:
934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
567 .loc 1 934 7 view .LVU184
568 00fa D2F81C12 ldr r1, [r2, #540]
569 00fe 0B43 orrs r3, r3, r1
570 .LVL27:
934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
571 .loc 1 934 7 is_stmt 0 view .LVU185
572 0100 C2F81C32 str r3, [r2, #540]
573 0104 CDE7 b .L44
574 .cfi_endproc
575 .LFE134:
577 .section .text.HAL_CAN_Start,"ax",%progbits
578 .align 1
579 .global HAL_CAN_Start
580 .syntax unified
581 .thumb
582 .thumb_func
584 HAL_CAN_Start:
585 .LVL28:
586 .LFB135:
951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @}
954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /** @defgroup CAN_Exported_Functions_Group3 Control functions
957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Control functions
958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** *
959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** @verbatim
960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ==============================================================================
961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ##### Control functions #####
962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ==============================================================================
963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** [..] This section provides functions allowing to:
964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_Start : Start the CAN module
965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_Stop : Stop the CAN module
966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_RequestSleep : Request sleep mode entry.
967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_WakeUp : Wake up from sleep mode.
968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_IsSleepActive : Check is sleep mode is active.
969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_AddTxMessage : Add a message to the Tx mailboxes
970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** and activate the corresponding
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 31
971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** transmission request
972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_AbortTxRequest : Abort transmission request
973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_GetTxMailboxesFreeLevel : Return Tx mailboxes free level
974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_IsTxMessagePending : Check if a transmission request is
975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pending on the selected Tx mailbox
976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_GetRxMessage : Get a CAN frame from the Rx FIFO
977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_GetRxFifoFillLevel : Return Rx FIFO fill level
978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** @endverbatim
980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @{
981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Start the CAN module.
985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to an CAN_HandleTypeDef structure that contains
986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval HAL status
988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_Start(CAN_HandleTypeDef *hcan)
990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
587 .loc 1 990 1 is_stmt 1 view -0
588 .cfi_startproc
589 @ args = 0, pretend = 0, frame = 0
590 @ frame_needed = 0, uses_anonymous_args = 0
591 .loc 1 990 1 is_stmt 0 view .LVU187
592 0000 70B5 push {r4, r5, r6, lr}
593 .cfi_def_cfa_offset 16
594 .cfi_offset 4, -16
595 .cfi_offset 5, -12
596 .cfi_offset 6, -8
597 .cfi_offset 14, -4
598 0002 0446 mov r4, r0
991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t tickstart;
599 .loc 1 991 3 is_stmt 1 view .LVU188
992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (hcan->State == HAL_CAN_STATE_READY)
600 .loc 1 993 3 view .LVU189
601 .loc 1 993 11 is_stmt 0 view .LVU190
602 0004 90F82050 ldrb r5, [r0, #32] @ zero_extendqisi2
603 0008 EDB2 uxtb r5, r5
604 .loc 1 993 6 view .LVU191
605 000a 012D cmp r5, #1
606 000c 06D0 beq .L59
994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Change CAN peripheral state */
996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->State = HAL_CAN_STATE_LISTENING;
997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Request leave initialisation */
999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** CLEAR_BIT(hcan->Instance->MCR, CAN_MCR_INRQ);
1000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Get tick */
1002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** tickstart = HAL_GetTick();
1003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Wait the acknowledge */
1005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** while ((hcan->Instance->MSR & CAN_MSR_INAK) != 0U)
1006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1007:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check for the Timeout */
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 32
1008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((HAL_GetTick() - tickstart) > CAN_TIMEOUT_VALUE)
1009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
1011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_TIMEOUT;
1012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Change CAN state */
1014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->State = HAL_CAN_STATE_ERROR;
1015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
1017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Reset the CAN ErrorCode */
1021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode = HAL_CAN_ERROR_NONE;
1022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return function status */
1024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_OK;
1025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
1027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
1029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_NOT_READY;
607 .loc 1 1029 5 is_stmt 1 view .LVU192
608 .loc 1 1029 9 is_stmt 0 view .LVU193
609 000e 436A ldr r3, [r0, #36]
610 .loc 1 1029 21 view .LVU194
611 0010 43F40023 orr r3, r3, #524288
612 0014 4362 str r3, [r0, #36]
1030:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
613 .loc 1 1031 5 is_stmt 1 view .LVU195
614 .loc 1 1031 12 is_stmt 0 view .LVU196
615 0016 0125 movs r5, #1
616 .LVL29:
617 .L56:
1032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1033:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
618 .loc 1 1033 1 view .LVU197
619 0018 2846 mov r0, r5
620 001a 70BD pop {r4, r5, r6, pc}
621 .LVL30:
622 .L59:
996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
623 .loc 1 996 5 is_stmt 1 view .LVU198
996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
624 .loc 1 996 17 is_stmt 0 view .LVU199
625 001c 0223 movs r3, #2
626 001e 80F82030 strb r3, [r0, #32]
999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
627 .loc 1 999 5 is_stmt 1 view .LVU200
628 0022 0268 ldr r2, [r0]
629 0024 1368 ldr r3, [r2]
630 0026 23F00103 bic r3, r3, #1
631 002a 1360 str r3, [r2]
1002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
632 .loc 1 1002 5 view .LVU201
1002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 33
633 .loc 1 1002 17 is_stmt 0 view .LVU202
634 002c FFF7FEFF bl HAL_GetTick
635 .LVL31:
1002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
636 .loc 1 1002 17 view .LVU203
637 0030 0646 mov r6, r0
638 .LVL32:
1005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
639 .loc 1 1005 5 is_stmt 1 view .LVU204
640 .L55:
1005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
641 .loc 1 1005 49 view .LVU205
1005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
642 .loc 1 1005 17 is_stmt 0 view .LVU206
643 0032 2368 ldr r3, [r4]
1005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
644 .loc 1 1005 27 view .LVU207
645 0034 5B68 ldr r3, [r3, #4]
1005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
646 .loc 1 1005 49 view .LVU208
647 0036 13F0010F tst r3, #1
648 003a 0CD0 beq .L60
1008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
649 .loc 1 1008 7 is_stmt 1 view .LVU209
1008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
650 .loc 1 1008 12 is_stmt 0 view .LVU210
651 003c FFF7FEFF bl HAL_GetTick
652 .LVL33:
1008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
653 .loc 1 1008 26 view .LVU211
654 0040 831B subs r3, r0, r6
1008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
655 .loc 1 1008 10 view .LVU212
656 0042 0A2B cmp r3, #10
657 0044 F5D9 bls .L55
1011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
658 .loc 1 1011 9 is_stmt 1 view .LVU213
1011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
659 .loc 1 1011 13 is_stmt 0 view .LVU214
660 0046 636A ldr r3, [r4, #36]
1011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
661 .loc 1 1011 25 view .LVU215
662 0048 43F40033 orr r3, r3, #131072
663 004c 6362 str r3, [r4, #36]
1014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
664 .loc 1 1014 9 is_stmt 1 view .LVU216
1014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
665 .loc 1 1014 21 is_stmt 0 view .LVU217
666 004e 0523 movs r3, #5
667 0050 84F82030 strb r3, [r4, #32]
1016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
668 .loc 1 1016 9 is_stmt 1 view .LVU218
1016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
669 .loc 1 1016 16 is_stmt 0 view .LVU219
670 0054 E0E7 b .L56
671 .L60:
1021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 34
672 .loc 1 1021 5 is_stmt 1 view .LVU220
1021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
673 .loc 1 1021 21 is_stmt 0 view .LVU221
674 0056 0025 movs r5, #0
675 0058 6562 str r5, [r4, #36]
1024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
676 .loc 1 1024 5 is_stmt 1 view .LVU222
1024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
677 .loc 1 1024 12 is_stmt 0 view .LVU223
678 005a DDE7 b .L56
679 .cfi_endproc
680 .LFE135:
682 .section .text.HAL_CAN_Stop,"ax",%progbits
683 .align 1
684 .global HAL_CAN_Stop
685 .syntax unified
686 .thumb
687 .thumb_func
689 HAL_CAN_Stop:
690 .LVL34:
691 .LFB136:
1034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
1036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Stop the CAN module and enable access to configuration registers.
1037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to an CAN_HandleTypeDef structure that contains
1038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
1039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval HAL status
1040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
1041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_Stop(CAN_HandleTypeDef *hcan)
1042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
692 .loc 1 1042 1 is_stmt 1 view -0
693 .cfi_startproc
694 @ args = 0, pretend = 0, frame = 0
695 @ frame_needed = 0, uses_anonymous_args = 0
696 .loc 1 1042 1 is_stmt 0 view .LVU225
697 0000 38B5 push {r3, r4, r5, lr}
698 .cfi_def_cfa_offset 16
699 .cfi_offset 3, -16
700 .cfi_offset 4, -12
701 .cfi_offset 5, -8
702 .cfi_offset 14, -4
703 0002 0446 mov r4, r0
1043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t tickstart;
704 .loc 1 1043 3 is_stmt 1 view .LVU226
1044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (hcan->State == HAL_CAN_STATE_LISTENING)
705 .loc 1 1045 3 view .LVU227
706 .loc 1 1045 11 is_stmt 0 view .LVU228
707 0004 90F82030 ldrb r3, [r0, #32] @ zero_extendqisi2
708 0008 DBB2 uxtb r3, r3
709 .loc 1 1045 6 view .LVU229
710 000a 022B cmp r3, #2
711 000c 05D0 beq .L67
1046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Request initialisation */
1048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(hcan->Instance->MCR, CAN_MCR_INRQ);
1049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 35
1050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Get tick */
1051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** tickstart = HAL_GetTick();
1052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Wait the acknowledge */
1054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** while ((hcan->Instance->MSR & CAN_MSR_INAK) == 0U)
1055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check for the Timeout */
1057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((HAL_GetTick() - tickstart) > CAN_TIMEOUT_VALUE)
1058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
1060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_TIMEOUT;
1061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1062:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Change CAN state */
1063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->State = HAL_CAN_STATE_ERROR;
1064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
1066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1068:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Exit from sleep mode */
1070:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** CLEAR_BIT(hcan->Instance->MCR, CAN_MCR_SLEEP);
1071:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Change CAN peripheral state */
1073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->State = HAL_CAN_STATE_READY;
1074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1075:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return function status */
1076:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_OK;
1077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
1079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
1081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_NOT_STARTED;
712 .loc 1 1081 5 is_stmt 1 view .LVU230
713 .loc 1 1081 9 is_stmt 0 view .LVU231
714 000e 436A ldr r3, [r0, #36]
715 .loc 1 1081 21 view .LVU232
716 0010 43F48013 orr r3, r3, #1048576
717 0014 4362 str r3, [r0, #36]
1082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
718 .loc 1 1083 5 is_stmt 1 view .LVU233
719 .loc 1 1083 12 is_stmt 0 view .LVU234
720 0016 0120 movs r0, #1
721 .LVL35:
722 .L64:
1084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
723 .loc 1 1085 1 view .LVU235
724 0018 38BD pop {r3, r4, r5, pc}
725 .LVL36:
726 .L67:
1048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
727 .loc 1 1048 5 is_stmt 1 view .LVU236
728 001a 0268 ldr r2, [r0]
729 001c 1368 ldr r3, [r2]
730 001e 43F00103 orr r3, r3, #1
731 0022 1360 str r3, [r2]
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 36
1051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
732 .loc 1 1051 5 view .LVU237
1051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
733 .loc 1 1051 17 is_stmt 0 view .LVU238
734 0024 FFF7FEFF bl HAL_GetTick
735 .LVL37:
1051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
736 .loc 1 1051 17 view .LVU239
737 0028 0546 mov r5, r0
738 .LVL38:
1054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
739 .loc 1 1054 5 is_stmt 1 view .LVU240
740 .L63:
1054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
741 .loc 1 1054 49 view .LVU241
1054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
742 .loc 1 1054 17 is_stmt 0 view .LVU242
743 002a 2368 ldr r3, [r4]
1054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
744 .loc 1 1054 27 view .LVU243
745 002c 5A68 ldr r2, [r3, #4]
1054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
746 .loc 1 1054 49 view .LVU244
747 002e 12F0010F tst r2, #1
748 0032 0DD1 bne .L68
1057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
749 .loc 1 1057 7 is_stmt 1 view .LVU245
1057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
750 .loc 1 1057 12 is_stmt 0 view .LVU246
751 0034 FFF7FEFF bl HAL_GetTick
752 .LVL39:
1057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
753 .loc 1 1057 26 view .LVU247
754 0038 431B subs r3, r0, r5
1057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
755 .loc 1 1057 10 view .LVU248
756 003a 0A2B cmp r3, #10
757 003c F5D9 bls .L63
1060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
758 .loc 1 1060 9 is_stmt 1 view .LVU249
1060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
759 .loc 1 1060 13 is_stmt 0 view .LVU250
760 003e 636A ldr r3, [r4, #36]
1060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
761 .loc 1 1060 25 view .LVU251
762 0040 43F40033 orr r3, r3, #131072
763 0044 6362 str r3, [r4, #36]
1063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
764 .loc 1 1063 9 is_stmt 1 view .LVU252
1063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
765 .loc 1 1063 21 is_stmt 0 view .LVU253
766 0046 0523 movs r3, #5
767 0048 84F82030 strb r3, [r4, #32]
1065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
768 .loc 1 1065 9 is_stmt 1 view .LVU254
1065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
769 .loc 1 1065 16 is_stmt 0 view .LVU255
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 37
770 004c 0120 movs r0, #1
771 004e E3E7 b .L64
772 .L68:
1070:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
773 .loc 1 1070 5 is_stmt 1 view .LVU256
774 0050 1A68 ldr r2, [r3]
775 0052 22F00202 bic r2, r2, #2
776 0056 1A60 str r2, [r3]
1073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
777 .loc 1 1073 5 view .LVU257
1073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
778 .loc 1 1073 17 is_stmt 0 view .LVU258
779 0058 0123 movs r3, #1
780 005a 84F82030 strb r3, [r4, #32]
1076:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
781 .loc 1 1076 5 is_stmt 1 view .LVU259
1076:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
782 .loc 1 1076 12 is_stmt 0 view .LVU260
783 005e 0020 movs r0, #0
784 0060 DAE7 b .L64
785 .cfi_endproc
786 .LFE136:
788 .section .text.HAL_CAN_DeInit,"ax",%progbits
789 .align 1
790 .global HAL_CAN_DeInit
791 .syntax unified
792 .thumb
793 .thumb_func
795 HAL_CAN_DeInit:
796 .LVL40:
797 .LFB131:
460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check CAN handle */
798 .loc 1 460 1 is_stmt 1 view -0
799 .cfi_startproc
800 @ args = 0, pretend = 0, frame = 0
801 @ frame_needed = 0, uses_anonymous_args = 0
462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
802 .loc 1 462 3 view .LVU262
462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
803 .loc 1 462 6 is_stmt 0 view .LVU263
804 0000 80B1 cbz r0, .L71
460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check CAN handle */
805 .loc 1 460 1 view .LVU264
806 0002 10B5 push {r4, lr}
807 .cfi_def_cfa_offset 8
808 .cfi_offset 4, -8
809 .cfi_offset 14, -4
810 0004 0446 mov r4, r0
468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
811 .loc 1 468 3 is_stmt 1 view .LVU265
471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
812 .loc 1 471 3 view .LVU266
471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
813 .loc 1 471 9 is_stmt 0 view .LVU267
814 0006 FFF7FEFF bl HAL_CAN_Stop
815 .LVL41:
484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* (USE_HAL_CAN_REGISTER_CALLBACKS) */
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 38
816 .loc 1 484 3 is_stmt 1 view .LVU268
817 000a 2046 mov r0, r4
818 000c FFF7FEFF bl HAL_CAN_MspDeInit
819 .LVL42:
488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
820 .loc 1 488 3 view .LVU269
821 0010 2268 ldr r2, [r4]
822 0012 1368 ldr r3, [r2]
823 0014 43F40043 orr r3, r3, #32768
824 0018 1360 str r3, [r2]
491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
825 .loc 1 491 3 view .LVU270
491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
826 .loc 1 491 19 is_stmt 0 view .LVU271
827 001a 0020 movs r0, #0
828 001c 6062 str r0, [r4, #36]
494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
829 .loc 1 494 3 is_stmt 1 view .LVU272
494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
830 .loc 1 494 15 is_stmt 0 view .LVU273
831 001e 84F82000 strb r0, [r4, #32]
497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
832 .loc 1 497 3 is_stmt 1 view .LVU274
498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
833 .loc 1 498 1 is_stmt 0 view .LVU275
834 0022 10BD pop {r4, pc}
835 .LVL43:
836 .L71:
837 .cfi_def_cfa_offset 0
838 .cfi_restore 4
839 .cfi_restore 14
464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
840 .loc 1 464 12 view .LVU276
841 0024 0120 movs r0, #1
842 .LVL44:
498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
843 .loc 1 498 1 view .LVU277
844 0026 7047 bx lr
845 .cfi_endproc
846 .LFE131:
848 .section .text.HAL_CAN_RequestSleep,"ax",%progbits
849 .align 1
850 .global HAL_CAN_RequestSleep
851 .syntax unified
852 .thumb
853 .thumb_func
855 HAL_CAN_RequestSleep:
856 .LVL45:
857 .LFB137:
1086:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
1088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Request the sleep mode (low power) entry.
1089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * When returning from this function, Sleep mode will be entered
1090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * as soon as the current CAN activity (transmission or reception
1091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * of a CAN frame) has been completed.
1092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
1093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 39
1094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval HAL status.
1095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
1096:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_RequestSleep(CAN_HandleTypeDef *hcan)
1097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
858 .loc 1 1097 1 is_stmt 1 view -0
859 .cfi_startproc
860 @ args = 0, pretend = 0, frame = 0
861 @ frame_needed = 0, uses_anonymous_args = 0
862 @ link register save eliminated.
1098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
863 .loc 1 1098 3 view .LVU279
864 .loc 1 1098 24 is_stmt 0 view .LVU280
865 0000 90F82030 ldrb r3, [r0, #32] @ zero_extendqisi2
866 .LVL46:
1099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
867 .loc 1 1100 3 is_stmt 1 view .LVU281
868 .loc 1 1100 38 is_stmt 0 view .LVU282
869 0004 013B subs r3, r3, #1
870 .LVL47:
871 .loc 1 1100 38 view .LVU283
872 0006 DBB2 uxtb r3, r3
873 .loc 1 1100 6 view .LVU284
874 0008 012B cmp r3, #1
875 000a 05D9 bls .L79
1101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
1102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Request Sleep mode */
1104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(hcan->Instance->MCR, CAN_MCR_SLEEP);
1105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return function status */
1107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_OK;
1108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
1110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
1112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_NOT_INITIALIZED;
876 .loc 1 1112 5 is_stmt 1 view .LVU285
877 .loc 1 1112 9 is_stmt 0 view .LVU286
878 000c 436A ldr r3, [r0, #36]
879 .loc 1 1112 21 view .LVU287
880 000e 43F48023 orr r3, r3, #262144
881 0012 4362 str r3, [r0, #36]
1113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return function status */
1115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
882 .loc 1 1115 5 is_stmt 1 view .LVU288
883 .loc 1 1115 12 is_stmt 0 view .LVU289
884 0014 0120 movs r0, #1
885 .LVL48:
1116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
886 .loc 1 1117 1 view .LVU290
887 0016 7047 bx lr
888 .LVL49:
889 .L79:
1104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 40
890 .loc 1 1104 5 is_stmt 1 view .LVU291
891 0018 0268 ldr r2, [r0]
892 001a 1368 ldr r3, [r2]
893 001c 43F00203 orr r3, r3, #2
894 0020 1360 str r3, [r2]
1107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
895 .loc 1 1107 5 view .LVU292
1107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
896 .loc 1 1107 12 is_stmt 0 view .LVU293
897 0022 0020 movs r0, #0
898 .LVL50:
1107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
899 .loc 1 1107 12 view .LVU294
900 0024 7047 bx lr
901 .cfi_endproc
902 .LFE137:
904 .section .text.HAL_CAN_WakeUp,"ax",%progbits
905 .align 1
906 .global HAL_CAN_WakeUp
907 .syntax unified
908 .thumb
909 .thumb_func
911 HAL_CAN_WakeUp:
912 .LVL51:
913 .LFB138:
1118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
1120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Wake up from sleep mode.
1121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * When returning with HAL_OK status from this function, Sleep mode
1122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * is exited.
1123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
1124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
1125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval HAL status.
1126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
1127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_WakeUp(CAN_HandleTypeDef *hcan)
1128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
914 .loc 1 1128 1 is_stmt 1 view -0
915 .cfi_startproc
916 @ args = 0, pretend = 0, frame = 8
917 @ frame_needed = 0, uses_anonymous_args = 0
918 @ link register save eliminated.
919 .loc 1 1128 1 is_stmt 0 view .LVU296
920 0000 82B0 sub sp, sp, #8
921 .cfi_def_cfa_offset 8
1129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __IO uint32_t count = 0;
922 .loc 1 1129 3 is_stmt 1 view .LVU297
923 .loc 1 1129 17 is_stmt 0 view .LVU298
924 0002 0023 movs r3, #0
925 0004 0193 str r3, [sp, #4]
1130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t timeout = 1000000U;
926 .loc 1 1130 3 is_stmt 1 view .LVU299
927 .LVL52:
1131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
928 .loc 1 1131 3 view .LVU300
929 .loc 1 1131 24 is_stmt 0 view .LVU301
930 0006 90F82030 ldrb r3, [r0, #32] @ zero_extendqisi2
931 .LVL53:
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 41
1132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
932 .loc 1 1133 3 is_stmt 1 view .LVU302
933 .loc 1 1133 38 is_stmt 0 view .LVU303
934 000a 013B subs r3, r3, #1
935 .LVL54:
936 .loc 1 1133 38 view .LVU304
937 000c DBB2 uxtb r3, r3
938 .loc 1 1133 6 view .LVU305
939 000e 012B cmp r3, #1
940 0010 18D8 bhi .L81
1134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
1135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Wake up request */
1137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** CLEAR_BIT(hcan->Instance->MCR, CAN_MCR_SLEEP);
941 .loc 1 1137 5 is_stmt 1 view .LVU306
942 0012 0268 ldr r2, [r0]
943 0014 1368 ldr r3, [r2]
944 0016 23F00203 bic r3, r3, #2
945 001a 1360 str r3, [r2]
946 .L84:
1138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Wait sleep mode is exited */
1140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** do
947 .loc 1 1140 5 view .LVU307
1141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Increment counter */
1143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** count++;
948 .loc 1 1143 7 view .LVU308
949 .loc 1 1143 12 is_stmt 0 view .LVU309
950 001c 019B ldr r3, [sp, #4]
951 001e 0133 adds r3, r3, #1
952 0020 0193 str r3, [sp, #4]
1144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check if timeout is reached */
1146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (count > timeout)
953 .loc 1 1146 7 is_stmt 1 view .LVU310
954 .loc 1 1146 17 is_stmt 0 view .LVU311
955 0022 019A ldr r2, [sp, #4]
956 .loc 1 1146 10 view .LVU312
957 0024 0B4B ldr r3, .L87
958 0026 9A42 cmp r2, r3
959 0028 06D8 bhi .L86
1147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
1149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_TIMEOUT;
1150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
1152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** while ((hcan->Instance->MSR & CAN_MSR_SLAK) != 0U);
960 .loc 1 1154 49 is_stmt 1 view .LVU313
961 .loc 1 1154 17 is_stmt 0 view .LVU314
962 002a 0368 ldr r3, [r0]
963 .loc 1 1154 27 view .LVU315
964 002c 5B68 ldr r3, [r3, #4]
965 .loc 1 1154 49 view .LVU316
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 42
966 002e 13F0020F tst r3, #2
967 0032 F3D1 bne .L84
1155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return function status */
1157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_OK;
968 .loc 1 1157 12 view .LVU317
969 0034 0020 movs r0, #0
970 .LVL55:
971 .loc 1 1157 12 view .LVU318
972 0036 0AE0 b .L83
973 .LVL56:
974 .L86:
1149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
975 .loc 1 1149 9 is_stmt 1 view .LVU319
1149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
976 .loc 1 1149 13 is_stmt 0 view .LVU320
977 0038 436A ldr r3, [r0, #36]
1149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
978 .loc 1 1149 25 view .LVU321
979 003a 43F40033 orr r3, r3, #131072
980 003e 4362 str r3, [r0, #36]
1151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
981 .loc 1 1151 9 is_stmt 1 view .LVU322
1151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
982 .loc 1 1151 16 is_stmt 0 view .LVU323
983 0040 0120 movs r0, #1
984 .LVL57:
1151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
985 .loc 1 1151 16 view .LVU324
986 0042 04E0 b .L83
987 .LVL58:
988 .L81:
1158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
1160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
1162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_NOT_INITIALIZED;
989 .loc 1 1162 5 is_stmt 1 view .LVU325
990 .loc 1 1162 9 is_stmt 0 view .LVU326
991 0044 436A ldr r3, [r0, #36]
992 .loc 1 1162 21 view .LVU327
993 0046 43F48023 orr r3, r3, #262144
994 004a 4362 str r3, [r0, #36]
1163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
995 .loc 1 1164 5 is_stmt 1 view .LVU328
996 .loc 1 1164 12 is_stmt 0 view .LVU329
997 004c 0120 movs r0, #1
998 .LVL59:
999 .L83:
1165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1000 .loc 1 1166 1 view .LVU330
1001 004e 02B0 add sp, sp, #8
1002 .cfi_def_cfa_offset 0
1003 @ sp needed
1004 0050 7047 bx lr
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 43
1005 .L88:
1006 0052 00BF .align 2
1007 .L87:
1008 0054 40420F00 .word 1000000
1009 .cfi_endproc
1010 .LFE138:
1012 .section .text.HAL_CAN_IsSleepActive,"ax",%progbits
1013 .align 1
1014 .global HAL_CAN_IsSleepActive
1015 .syntax unified
1016 .thumb
1017 .thumb_func
1019 HAL_CAN_IsSleepActive:
1020 .LVL60:
1021 .LFB139:
1167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
1169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Check is sleep mode is active.
1170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
1171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
1172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval Status
1173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * - 0 : Sleep mode is not active.
1174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * - 1 : Sleep mode is active.
1175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
1176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t HAL_CAN_IsSleepActive(const CAN_HandleTypeDef *hcan)
1177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1022 .loc 1 1177 1 is_stmt 1 view -0
1023 .cfi_startproc
1024 @ args = 0, pretend = 0, frame = 0
1025 @ frame_needed = 0, uses_anonymous_args = 0
1026 @ link register save eliminated.
1178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t status = 0U;
1027 .loc 1 1178 3 view .LVU332
1179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
1028 .loc 1 1179 3 view .LVU333
1029 .loc 1 1179 24 is_stmt 0 view .LVU334
1030 0000 90F82030 ldrb r3, [r0, #32] @ zero_extendqisi2
1031 .LVL61:
1180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
1032 .loc 1 1181 3 is_stmt 1 view .LVU335
1033 .loc 1 1181 38 is_stmt 0 view .LVU336
1034 0004 013B subs r3, r3, #1
1035 .LVL62:
1036 .loc 1 1181 38 view .LVU337
1037 0006 DBB2 uxtb r3, r3
1038 .loc 1 1181 6 view .LVU338
1039 0008 012B cmp r3, #1
1040 000a 01D9 bls .L93
1178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
1041 .loc 1 1178 12 view .LVU339
1042 000c 0020 movs r0, #0
1043 .LVL63:
1178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
1044 .loc 1 1178 12 view .LVU340
1045 000e 7047 bx lr
1046 .LVL64:
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 44
1047 .L93:
1182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
1183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check Sleep mode */
1185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((hcan->Instance->MSR & CAN_MSR_SLAK) != 0U)
1048 .loc 1 1185 5 is_stmt 1 view .LVU341
1049 .loc 1 1185 14 is_stmt 0 view .LVU342
1050 0010 0368 ldr r3, [r0]
1051 .loc 1 1185 24 view .LVU343
1052 0012 5868 ldr r0, [r3, #4]
1053 .LVL65:
1054 .loc 1 1185 8 view .LVU344
1055 0014 10F00200 ands r0, r0, #2
1056 0018 00D1 bne .L92
1057 001a 7047 bx lr
1058 .L92:
1186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** status = 1U;
1059 .loc 1 1187 14 view .LVU345
1060 001c 0120 movs r0, #1
1061 .LVL66:
1188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return function status */
1192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return status;
1062 .loc 1 1192 3 is_stmt 1 view .LVU346
1193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1063 .loc 1 1193 1 is_stmt 0 view .LVU347
1064 001e 7047 bx lr
1065 .cfi_endproc
1066 .LFE139:
1068 .section .text.HAL_CAN_AddTxMessage,"ax",%progbits
1069 .align 1
1070 .global HAL_CAN_AddTxMessage
1071 .syntax unified
1072 .thumb
1073 .thumb_func
1075 HAL_CAN_AddTxMessage:
1076 .LVL67:
1077 .LFB140:
1194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
1196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Add a message to the first free Tx mailbox and activate the
1197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * corresponding transmission request.
1198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
1199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
1200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param pHeader pointer to a CAN_TxHeaderTypeDef structure.
1201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param aData array containing the payload of the Tx frame.
1202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param pTxMailbox pointer to a variable where the function will return
1203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the TxMailbox used to store the Tx message.
1204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * This parameter can be a value of @arg CAN_Tx_Mailboxes.
1205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval HAL status
1206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
1207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_AddTxMessage(CAN_HandleTypeDef *hcan, const CAN_TxHeaderTypeDef *pHeader,
1208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** const uint8_t aData[], uint32_t *pTxMailbox)
1209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 45
1078 .loc 1 1209 1 is_stmt 1 view -0
1079 .cfi_startproc
1080 @ args = 0, pretend = 0, frame = 0
1081 @ frame_needed = 0, uses_anonymous_args = 0
1082 .loc 1 1209 1 is_stmt 0 view .LVU349
1083 0000 30B5 push {r4, r5, lr}
1084 .cfi_def_cfa_offset 12
1085 .cfi_offset 4, -12
1086 .cfi_offset 5, -8
1087 .cfi_offset 14, -4
1210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t transmitmailbox;
1088 .loc 1 1210 3 is_stmt 1 view .LVU350
1211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
1089 .loc 1 1211 3 view .LVU351
1090 .loc 1 1211 24 is_stmt 0 view .LVU352
1091 0002 90F820C0 ldrb ip, [r0, #32] @ zero_extendqisi2
1092 .LVL68:
1212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t tsr = READ_REG(hcan->Instance->TSR);
1093 .loc 1 1212 3 is_stmt 1 view .LVU353
1094 .loc 1 1212 12 is_stmt 0 view .LVU354
1095 0006 0468 ldr r4, [r0]
1096 0008 A468 ldr r4, [r4, #8]
1097 .LVL69:
1213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check the parameters */
1215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_IDTYPE(pHeader->IDE));
1098 .loc 1 1215 3 is_stmt 1 view .LVU355
1216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_RTR(pHeader->RTR));
1099 .loc 1 1216 3 view .LVU356
1217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_DLC(pHeader->DLC));
1100 .loc 1 1217 3 view .LVU357
1218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (pHeader->IDE == CAN_ID_STD)
1101 .loc 1 1218 3 view .LVU358
1219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_STDID(pHeader->StdId));
1221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
1223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_EXTID(pHeader->ExtId));
1102 .loc 1 1224 5 view .LVU359
1225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_FUNCTIONAL_STATE(pHeader->TransmitGlobalTime));
1103 .loc 1 1226 3 view .LVU360
1227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
1104 .loc 1 1228 3 view .LVU361
1105 .loc 1 1228 38 is_stmt 0 view .LVU362
1106 000a 0CF1FF3C add ip, ip, #-1
1107 .LVL70:
1108 .loc 1 1228 38 view .LVU363
1109 000e 5FFA8CFC uxtb ip, ip
1110 .loc 1 1228 6 view .LVU364
1111 0012 BCF1010F cmp ip, #1
1112 0016 62D8 bhi .L95
1229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
1230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check that all the Tx mailboxes are not full */
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 46
1232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (((tsr & CAN_TSR_TME0) != 0U) ||
1113 .loc 1 1232 5 is_stmt 1 view .LVU365
1114 .loc 1 1232 8 is_stmt 0 view .LVU366
1115 0018 14F0E05F tst r4, #469762048
1116 001c 59D0 beq .L96
1233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((tsr & CAN_TSR_TME1) != 0U) ||
1234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((tsr & CAN_TSR_TME2) != 0U))
1235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Select an empty transmit mailbox */
1237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** transmitmailbox = (tsr & CAN_TSR_CODE) >> CAN_TSR_CODE_Pos;
1117 .loc 1 1237 7 is_stmt 1 view .LVU367
1118 .loc 1 1237 23 is_stmt 0 view .LVU368
1119 001e C4F3016C ubfx ip, r4, #24, #2
1120 .LVL71:
1238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Store the Tx mailbox */
1240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** *pTxMailbox = (uint32_t)1 << transmitmailbox;
1121 .loc 1 1240 7 is_stmt 1 view .LVU369
1122 .loc 1 1240 33 is_stmt 0 view .LVU370
1123 0022 0124 movs r4, #1
1124 .LVL72:
1125 .loc 1 1240 33 view .LVU371
1126 0024 04FA0CF4 lsl r4, r4, ip
1127 .loc 1 1240 19 view .LVU372
1128 0028 1C60 str r4, [r3]
1241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set up the Id */
1243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (pHeader->IDE == CAN_ID_STD)
1129 .loc 1 1243 7 is_stmt 1 view .LVU373
1130 .loc 1 1243 18 is_stmt 0 view .LVU374
1131 002a 8B68 ldr r3, [r1, #8]
1132 .LVL73:
1133 .loc 1 1243 10 view .LVU375
1134 002c 002B cmp r3, #0
1135 002e 3DD1 bne .L97
1244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->Instance->sTxMailBox[transmitmailbox].TIR = ((pHeader->StdId << CAN_TI0R_STID_Pos) |
1136 .loc 1 1245 9 is_stmt 1 view .LVU376
1137 .loc 1 1245 68 is_stmt 0 view .LVU377
1138 0030 0D68 ldr r5, [r1]
1246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->RTR);
1139 .loc 1 1246 67 view .LVU378
1140 0032 CB68 ldr r3, [r1, #12]
1245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->RTR);
1141 .loc 1 1245 13 view .LVU379
1142 0034 0468 ldr r4, [r0]
1245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->RTR);
1143 .loc 1 1245 98 view .LVU380
1144 0036 43EA4555 orr r5, r3, r5, lsl #21
1245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->RTR);
1145 .loc 1 1245 57 view .LVU381
1146 003a 0CF11803 add r3, ip, #24
1147 003e 1B01 lsls r3, r3, #4
1148 0040 E550 str r5, [r4, r3]
1149 .L98:
1247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 47
1249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->Instance->sTxMailBox[transmitmailbox].TIR = ((pHeader->ExtId << CAN_TI0R_EXID_Pos) |
1251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->IDE |
1252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->RTR);
1253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set up the DLC */
1256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->Instance->sTxMailBox[transmitmailbox].TDTR = (pHeader->DLC);
1150 .loc 1 1256 7 is_stmt 1 view .LVU382
1151 .loc 1 1256 11 is_stmt 0 view .LVU383
1152 0042 0368 ldr r3, [r0]
1153 .loc 1 1256 66 view .LVU384
1154 0044 0C69 ldr r4, [r1, #16]
1155 .loc 1 1256 56 view .LVU385
1156 0046 0CF1180E add lr, ip, #24
1157 004a 03EB0E13 add r3, r3, lr, lsl #4
1158 004e 5C60 str r4, [r3, #4]
1257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set up the Transmit Global Time mode */
1259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (pHeader->TransmitGlobalTime == ENABLE)
1159 .loc 1 1259 7 is_stmt 1 view .LVU386
1160 .loc 1 1259 18 is_stmt 0 view .LVU387
1161 0050 0B7D ldrb r3, [r1, #20] @ zero_extendqisi2
1162 .loc 1 1259 10 view .LVU388
1163 0052 012B cmp r3, #1
1164 0054 35D0 beq .L102
1165 .LVL74:
1166 .L99:
1260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(hcan->Instance->sTxMailBox[transmitmailbox].TDTR, CAN_TDT0R_TGT);
1262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set up the data field */
1265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** WRITE_REG(hcan->Instance->sTxMailBox[transmitmailbox].TDHR,
1167 .loc 1 1265 7 is_stmt 1 view .LVU389
1168 0056 D179 ldrb r1, [r2, #7] @ zero_extendqisi2
1169 0058 9379 ldrb r3, [r2, #6] @ zero_extendqisi2
1170 005a 1B04 lsls r3, r3, #16
1171 005c 43EA0163 orr r3, r3, r1, lsl #24
1172 0060 5179 ldrb r1, [r2, #5] @ zero_extendqisi2
1173 0062 43EA0123 orr r3, r3, r1, lsl #8
1174 0066 1479 ldrb r4, [r2, #4] @ zero_extendqisi2
1175 0068 0168 ldr r1, [r0]
1176 006a 2343 orrs r3, r3, r4
1177 006c 01EB0C11 add r1, r1, ip, lsl #4
1178 0070 C1F88C31 str r3, [r1, #396]
1266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((uint32_t)aData[7] << CAN_TDH0R_DATA7_Pos) |
1267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((uint32_t)aData[6] << CAN_TDH0R_DATA6_Pos) |
1268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((uint32_t)aData[5] << CAN_TDH0R_DATA5_Pos) |
1269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((uint32_t)aData[4] << CAN_TDH0R_DATA4_Pos));
1270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** WRITE_REG(hcan->Instance->sTxMailBox[transmitmailbox].TDLR,
1179 .loc 1 1270 7 view .LVU390
1180 0074 D178 ldrb r1, [r2, #3] @ zero_extendqisi2
1181 0076 9378 ldrb r3, [r2, #2] @ zero_extendqisi2
1182 0078 1B04 lsls r3, r3, #16
1183 007a 43EA0163 orr r3, r3, r1, lsl #24
1184 007e 5178 ldrb r1, [r2, #1] @ zero_extendqisi2
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 48
1185 0080 43EA0123 orr r3, r3, r1, lsl #8
1186 0084 1178 ldrb r1, [r2] @ zero_extendqisi2
1187 0086 0268 ldr r2, [r0]
1188 .LVL75:
1189 .loc 1 1270 7 is_stmt 0 view .LVU391
1190 0088 0B43 orrs r3, r3, r1
1191 008a 02EB0C12 add r2, r2, ip, lsl #4
1192 008e C2F88831 str r3, [r2, #392]
1271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((uint32_t)aData[3] << CAN_TDL0R_DATA3_Pos) |
1272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((uint32_t)aData[2] << CAN_TDL0R_DATA2_Pos) |
1273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((uint32_t)aData[1] << CAN_TDL0R_DATA1_Pos) |
1274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((uint32_t)aData[0] << CAN_TDL0R_DATA0_Pos));
1275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Request transmission */
1277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(hcan->Instance->sTxMailBox[transmitmailbox].TIR, CAN_TI0R_TXRQ);
1193 .loc 1 1277 7 is_stmt 1 view .LVU392
1194 0092 0268 ldr r2, [r0]
1195 0094 0CF1180C add ip, ip, #24
1196 .LVL76:
1197 .loc 1 1277 7 is_stmt 0 view .LVU393
1198 0098 4FEA0C1C lsl ip, ip, #4
1199 009c 52F80C30 ldr r3, [r2, ip]
1200 00a0 43F00103 orr r3, r3, #1
1201 00a4 42F80C30 str r3, [r2, ip]
1278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return function status */
1280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_OK;
1202 .loc 1 1280 7 is_stmt 1 view .LVU394
1203 .loc 1 1280 14 is_stmt 0 view .LVU395
1204 00a8 0020 movs r0, #0
1205 .LVL77:
1206 .loc 1 1280 14 view .LVU396
1207 00aa 1DE0 b .L100
1208 .LVL78:
1209 .L97:
1250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->IDE |
1210 .loc 1 1250 9 is_stmt 1 view .LVU397
1250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->IDE |
1211 .loc 1 1250 68 is_stmt 0 view .LVU398
1212 00ac 4C68 ldr r4, [r1, #4]
1250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->IDE |
1213 .loc 1 1250 98 view .LVU399
1214 00ae 43EAC403 orr r3, r3, r4, lsl #3
1252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1215 .loc 1 1252 67 view .LVU400
1216 00b2 CC68 ldr r4, [r1, #12]
1251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->RTR);
1217 .loc 1 1251 73 view .LVU401
1218 00b4 2343 orrs r3, r3, r4
1250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->IDE |
1219 .loc 1 1250 57 view .LVU402
1220 00b6 0CF11804 add r4, ip, #24
1221 00ba 2401 lsls r4, r4, #4
1222 00bc 0568 ldr r5, [r0]
1223 00be 2B51 str r3, [r5, r4]
1224 00c0 BFE7 b .L98
1225 .L102:
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 49
1261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1226 .loc 1 1261 9 is_stmt 1 view .LVU403
1227 00c2 0368 ldr r3, [r0]
1228 00c4 03EB0E13 add r3, r3, lr, lsl #4
1229 00c8 5968 ldr r1, [r3, #4]
1230 .LVL79:
1261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1231 .loc 1 1261 9 is_stmt 0 view .LVU404
1232 00ca 41F48071 orr r1, r1, #256
1233 00ce 5960 str r1, [r3, #4]
1234 00d0 C1E7 b .L99
1235 .LVL80:
1236 .L96:
1281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
1283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
1285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_PARAM;
1237 .loc 1 1285 7 is_stmt 1 view .LVU405
1238 .loc 1 1285 11 is_stmt 0 view .LVU406
1239 00d2 436A ldr r3, [r0, #36]
1240 .LVL81:
1241 .loc 1 1285 23 view .LVU407
1242 00d4 43F40013 orr r3, r3, #2097152
1243 00d8 4362 str r3, [r0, #36]
1286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
1244 .loc 1 1287 7 is_stmt 1 view .LVU408
1245 .loc 1 1287 14 is_stmt 0 view .LVU409
1246 00da 0120 movs r0, #1
1247 .LVL82:
1248 .loc 1 1287 14 view .LVU410
1249 00dc 04E0 b .L100
1250 .LVL83:
1251 .L95:
1288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
1291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
1293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_NOT_INITIALIZED;
1252 .loc 1 1293 5 is_stmt 1 view .LVU411
1253 .loc 1 1293 9 is_stmt 0 view .LVU412
1254 00de 436A ldr r3, [r0, #36]
1255 .LVL84:
1256 .loc 1 1293 21 view .LVU413
1257 00e0 43F48023 orr r3, r3, #262144
1258 00e4 4362 str r3, [r0, #36]
1294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
1259 .loc 1 1295 5 is_stmt 1 view .LVU414
1260 .loc 1 1295 12 is_stmt 0 view .LVU415
1261 00e6 0120 movs r0, #1
1262 .LVL85:
1263 .L100:
1296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 50
1264 .loc 1 1297 1 view .LVU416
1265 00e8 30BD pop {r4, r5, pc}
1266 .cfi_endproc
1267 .LFE140:
1269 .section .text.HAL_CAN_AbortTxRequest,"ax",%progbits
1270 .align 1
1271 .global HAL_CAN_AbortTxRequest
1272 .syntax unified
1273 .thumb
1274 .thumb_func
1276 HAL_CAN_AbortTxRequest:
1277 .LVL86:
1278 .LFB141:
1298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
1300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Abort transmission requests
1301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to an CAN_HandleTypeDef structure that contains
1302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
1303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param TxMailboxes List of the Tx Mailboxes to abort.
1304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * This parameter can be any combination of @arg CAN_Tx_Mailboxes.
1305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval HAL status
1306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
1307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_AbortTxRequest(CAN_HandleTypeDef *hcan, uint32_t TxMailboxes)
1308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1279 .loc 1 1308 1 is_stmt 1 view -0
1280 .cfi_startproc
1281 @ args = 0, pretend = 0, frame = 0
1282 @ frame_needed = 0, uses_anonymous_args = 0
1283 @ link register save eliminated.
1309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
1284 .loc 1 1309 3 view .LVU418
1285 .loc 1 1309 24 is_stmt 0 view .LVU419
1286 0000 90F82030 ldrb r3, [r0, #32] @ zero_extendqisi2
1287 .LVL87:
1310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check function parameters */
1312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_TX_MAILBOX_LIST(TxMailboxes));
1288 .loc 1 1312 3 is_stmt 1 view .LVU420
1313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
1289 .loc 1 1314 3 view .LVU421
1290 .loc 1 1314 38 is_stmt 0 view .LVU422
1291 0004 013B subs r3, r3, #1
1292 .LVL88:
1293 .loc 1 1314 38 view .LVU423
1294 0006 DBB2 uxtb r3, r3
1295 .loc 1 1314 6 view .LVU424
1296 0008 012B cmp r3, #1
1297 000a 05D9 bls .L109
1315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
1316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check Tx Mailbox 0 */
1318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((TxMailboxes & CAN_TX_MAILBOX0) != 0U)
1319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Add cancellation request for Tx Mailbox 0 */
1321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(hcan->Instance->TSR, CAN_TSR_ABRQ0);
1322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 51
1323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check Tx Mailbox 1 */
1325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((TxMailboxes & CAN_TX_MAILBOX1) != 0U)
1326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Add cancellation request for Tx Mailbox 1 */
1328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(hcan->Instance->TSR, CAN_TSR_ABRQ1);
1329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check Tx Mailbox 2 */
1332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((TxMailboxes & CAN_TX_MAILBOX2) != 0U)
1333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Add cancellation request for Tx Mailbox 2 */
1335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(hcan->Instance->TSR, CAN_TSR_ABRQ2);
1336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return function status */
1339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_OK;
1340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
1342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
1344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_NOT_INITIALIZED;
1298 .loc 1 1344 5 is_stmt 1 view .LVU425
1299 .loc 1 1344 9 is_stmt 0 view .LVU426
1300 000c 436A ldr r3, [r0, #36]
1301 .loc 1 1344 21 view .LVU427
1302 000e 43F48023 orr r3, r3, #262144
1303 0012 4362 str r3, [r0, #36]
1345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
1304 .loc 1 1346 5 is_stmt 1 view .LVU428
1305 .loc 1 1346 12 is_stmt 0 view .LVU429
1306 0014 0120 movs r0, #1
1307 .LVL89:
1347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1308 .loc 1 1348 1 view .LVU430
1309 0016 7047 bx lr
1310 .LVL90:
1311 .L109:
1318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1312 .loc 1 1318 5 is_stmt 1 view .LVU431
1318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1313 .loc 1 1318 8 is_stmt 0 view .LVU432
1314 0018 11F0010F tst r1, #1
1315 001c 04D0 beq .L105
1321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1316 .loc 1 1321 7 is_stmt 1 view .LVU433
1317 001e 0268 ldr r2, [r0]
1318 0020 9368 ldr r3, [r2, #8]
1319 0022 43F08003 orr r3, r3, #128
1320 0026 9360 str r3, [r2, #8]
1321 .L105:
1325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1322 .loc 1 1325 5 view .LVU434
1325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1323 .loc 1 1325 8 is_stmt 0 view .LVU435
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 52
1324 0028 11F0020F tst r1, #2
1325 002c 04D0 beq .L106
1328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1326 .loc 1 1328 7 is_stmt 1 view .LVU436
1327 002e 0268 ldr r2, [r0]
1328 0030 9368 ldr r3, [r2, #8]
1329 0032 43F40043 orr r3, r3, #32768
1330 0036 9360 str r3, [r2, #8]
1331 .L106:
1332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1332 .loc 1 1332 5 view .LVU437
1332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1333 .loc 1 1332 8 is_stmt 0 view .LVU438
1334 0038 11F0040F tst r1, #4
1335 003c 04D0 beq .L107
1335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1336 .loc 1 1335 7 is_stmt 1 view .LVU439
1337 003e 0268 ldr r2, [r0]
1338 0040 9368 ldr r3, [r2, #8]
1339 0042 43F40003 orr r3, r3, #8388608
1340 0046 9360 str r3, [r2, #8]
1341 .L107:
1339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1342 .loc 1 1339 5 view .LVU440
1339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1343 .loc 1 1339 12 is_stmt 0 view .LVU441
1344 0048 0020 movs r0, #0
1345 .LVL91:
1339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1346 .loc 1 1339 12 view .LVU442
1347 004a 7047 bx lr
1348 .cfi_endproc
1349 .LFE141:
1351 .section .text.HAL_CAN_GetTxMailboxesFreeLevel,"ax",%progbits
1352 .align 1
1353 .global HAL_CAN_GetTxMailboxesFreeLevel
1354 .syntax unified
1355 .thumb
1356 .thumb_func
1358 HAL_CAN_GetTxMailboxesFreeLevel:
1359 .LVL92:
1360 .LFB142:
1349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
1351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Return Tx Mailboxes free level: number of free Tx Mailboxes.
1352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
1353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
1354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval Number of free Tx Mailboxes.
1355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
1356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t HAL_CAN_GetTxMailboxesFreeLevel(const CAN_HandleTypeDef *hcan)
1357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1361 .loc 1 1357 1 is_stmt 1 view -0
1362 .cfi_startproc
1363 @ args = 0, pretend = 0, frame = 0
1364 @ frame_needed = 0, uses_anonymous_args = 0
1365 @ link register save eliminated.
1358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t freelevel = 0U;
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 53
1366 .loc 1 1358 3 view .LVU444
1359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
1367 .loc 1 1359 3 view .LVU445
1368 .loc 1 1359 24 is_stmt 0 view .LVU446
1369 0000 90F82030 ldrb r3, [r0, #32] @ zero_extendqisi2
1370 .LVL93:
1360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
1371 .loc 1 1361 3 is_stmt 1 view .LVU447
1372 .loc 1 1361 38 is_stmt 0 view .LVU448
1373 0004 013B subs r3, r3, #1
1374 .LVL94:
1375 .loc 1 1361 38 view .LVU449
1376 0006 DBB2 uxtb r3, r3
1377 .loc 1 1361 6 view .LVU450
1378 0008 012B cmp r3, #1
1379 000a 01D9 bls .L116
1358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
1380 .loc 1 1358 12 view .LVU451
1381 000c 0020 movs r0, #0
1382 .LVL95:
1362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
1363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check Tx Mailbox 0 status */
1365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((hcan->Instance->TSR & CAN_TSR_TME0) != 0U)
1366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** freelevel++;
1368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check Tx Mailbox 1 status */
1371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((hcan->Instance->TSR & CAN_TSR_TME1) != 0U)
1372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** freelevel++;
1374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check Tx Mailbox 2 status */
1377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((hcan->Instance->TSR & CAN_TSR_TME2) != 0U)
1378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** freelevel++;
1380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return Tx Mailboxes free level */
1384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return freelevel;
1383 .loc 1 1384 3 is_stmt 1 view .LVU452
1384 .L110:
1385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1385 .loc 1 1385 1 is_stmt 0 view .LVU453
1386 000e 7047 bx lr
1387 .LVL96:
1388 .L116:
1365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1389 .loc 1 1365 5 is_stmt 1 view .LVU454
1365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1390 .loc 1 1365 14 is_stmt 0 view .LVU455
1391 0010 0368 ldr r3, [r0]
1365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 54
1392 .loc 1 1365 24 view .LVU456
1393 0012 9868 ldr r0, [r3, #8]
1394 .LVL97:
1365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1395 .loc 1 1365 8 view .LVU457
1396 0014 10F08060 ands r0, r0, #67108864
1397 0018 00D0 beq .L112
1367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1398 .loc 1 1367 16 view .LVU458
1399 001a 0120 movs r0, #1
1400 .L112:
1401 .LVL98:
1371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1402 .loc 1 1371 5 is_stmt 1 view .LVU459
1371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1403 .loc 1 1371 24 is_stmt 0 view .LVU460
1404 001c 9A68 ldr r2, [r3, #8]
1371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1405 .loc 1 1371 8 view .LVU461
1406 001e 12F0006F tst r2, #134217728
1407 0022 00D0 beq .L113
1373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1408 .loc 1 1373 7 is_stmt 1 view .LVU462
1373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1409 .loc 1 1373 16 is_stmt 0 view .LVU463
1410 0024 0130 adds r0, r0, #1
1411 .LVL99:
1412 .L113:
1377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1413 .loc 1 1377 5 is_stmt 1 view .LVU464
1377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1414 .loc 1 1377 24 is_stmt 0 view .LVU465
1415 0026 9B68 ldr r3, [r3, #8]
1377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1416 .loc 1 1377 8 view .LVU466
1417 0028 13F0805F tst r3, #268435456
1418 002c EFD0 beq .L110
1379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1419 .loc 1 1379 7 is_stmt 1 view .LVU467
1379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1420 .loc 1 1379 16 is_stmt 0 view .LVU468
1421 002e 0130 adds r0, r0, #1
1422 .LVL100:
1379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1423 .loc 1 1379 16 view .LVU469
1424 0030 7047 bx lr
1425 .cfi_endproc
1426 .LFE142:
1428 .section .text.HAL_CAN_IsTxMessagePending,"ax",%progbits
1429 .align 1
1430 .global HAL_CAN_IsTxMessagePending
1431 .syntax unified
1432 .thumb
1433 .thumb_func
1435 HAL_CAN_IsTxMessagePending:
1436 .LVL101:
1437 .LFB143:
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 55
1386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
1388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Check if a transmission request is pending on the selected Tx
1389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * Mailboxes.
1390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to an CAN_HandleTypeDef structure that contains
1391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
1392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param TxMailboxes List of Tx Mailboxes to check.
1393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * This parameter can be any combination of @arg CAN_Tx_Mailboxes.
1394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval Status
1395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * - 0 : No pending transmission request on any selected Tx Mailboxes.
1396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * - 1 : Pending transmission request on at least one of the selected
1397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * Tx Mailbox.
1398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
1399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t HAL_CAN_IsTxMessagePending(const CAN_HandleTypeDef *hcan, uint32_t TxMailboxes)
1400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1438 .loc 1 1400 1 is_stmt 1 view -0
1439 .cfi_startproc
1440 @ args = 0, pretend = 0, frame = 0
1441 @ frame_needed = 0, uses_anonymous_args = 0
1442 @ link register save eliminated.
1401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t status = 0U;
1443 .loc 1 1401 3 view .LVU471
1402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
1444 .loc 1 1402 3 view .LVU472
1445 .loc 1 1402 24 is_stmt 0 view .LVU473
1446 0000 90F82030 ldrb r3, [r0, #32] @ zero_extendqisi2
1447 .LVL102:
1403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check function parameters */
1405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_TX_MAILBOX_LIST(TxMailboxes));
1448 .loc 1 1405 3 is_stmt 1 view .LVU474
1406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
1449 .loc 1 1407 3 view .LVU475
1450 .loc 1 1407 38 is_stmt 0 view .LVU476
1451 0004 013B subs r3, r3, #1
1452 .LVL103:
1453 .loc 1 1407 38 view .LVU477
1454 0006 DBB2 uxtb r3, r3
1455 .loc 1 1407 6 view .LVU478
1456 0008 012B cmp r3, #1
1457 000a 01D9 bls .L121
1401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
1458 .loc 1 1401 12 view .LVU479
1459 000c 0020 movs r0, #0
1460 .LVL104:
1401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
1461 .loc 1 1401 12 view .LVU480
1462 000e 7047 bx lr
1463 .LVL105:
1464 .L121:
1408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
1409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check pending transmission request on the selected Tx Mailboxes */
1411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((hcan->Instance->TSR & (TxMailboxes << CAN_TSR_TME0_Pos)) != (TxMailboxes << CAN_TSR_TME0_P
1465 .loc 1 1411 5 is_stmt 1 view .LVU481
1466 .loc 1 1411 14 is_stmt 0 view .LVU482
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 56
1467 0010 0368 ldr r3, [r0]
1468 .loc 1 1411 24 view .LVU483
1469 0012 9B68 ldr r3, [r3, #8]
1470 .loc 1 1411 30 view .LVU484
1471 0014 03EA8163 and r3, r3, r1, lsl #26
1472 .loc 1 1411 8 view .LVU485
1473 0018 B3EB816F cmp r3, r1, lsl #26
1474 001c 01D0 beq .L122
1412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** status = 1U;
1475 .loc 1 1413 14 view .LVU486
1476 001e 0120 movs r0, #1
1477 .LVL106:
1414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return status */
1418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return status;
1478 .loc 1 1418 3 is_stmt 1 view .LVU487
1419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1479 .loc 1 1419 1 is_stmt 0 view .LVU488
1480 0020 7047 bx lr
1481 .LVL107:
1482 .L122:
1401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
1483 .loc 1 1401 12 view .LVU489
1484 0022 0020 movs r0, #0
1485 .LVL108:
1401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
1486 .loc 1 1401 12 view .LVU490
1487 0024 7047 bx lr
1488 .cfi_endproc
1489 .LFE143:
1491 .section .text.HAL_CAN_GetTxTimestamp,"ax",%progbits
1492 .align 1
1493 .global HAL_CAN_GetTxTimestamp
1494 .syntax unified
1495 .thumb
1496 .thumb_func
1498 HAL_CAN_GetTxTimestamp:
1499 .LVL109:
1500 .LFB144:
1420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
1422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Return timestamp of Tx message sent, if time triggered communication
1423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** mode is enabled.
1424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
1425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
1426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param TxMailbox Tx Mailbox where the timestamp of message sent will be
1427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * read.
1428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * This parameter can be one value of @arg CAN_Tx_Mailboxes.
1429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval Timestamp of message sent from Tx Mailbox.
1430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
1431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t HAL_CAN_GetTxTimestamp(const CAN_HandleTypeDef *hcan, uint32_t TxMailbox)
1432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1501 .loc 1 1432 1 is_stmt 1 view -0
1502 .cfi_startproc
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 57
1503 @ args = 0, pretend = 0, frame = 0
1504 @ frame_needed = 0, uses_anonymous_args = 0
1505 @ link register save eliminated.
1433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t timestamp = 0U;
1506 .loc 1 1433 3 view .LVU492
1434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t transmitmailbox;
1507 .loc 1 1434 3 view .LVU493
1435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
1508 .loc 1 1435 3 view .LVU494
1509 .loc 1 1435 24 is_stmt 0 view .LVU495
1510 0000 90F82030 ldrb r3, [r0, #32] @ zero_extendqisi2
1511 .LVL110:
1436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check function parameters */
1438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_TX_MAILBOX(TxMailbox));
1512 .loc 1 1438 3 is_stmt 1 view .LVU496
1439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
1513 .loc 1 1440 3 view .LVU497
1514 .loc 1 1440 38 is_stmt 0 view .LVU498
1515 0004 013B subs r3, r3, #1
1516 .LVL111:
1517 .loc 1 1440 38 view .LVU499
1518 0006 DBB2 uxtb r3, r3
1519 .loc 1 1440 6 view .LVU500
1520 0008 012B cmp r3, #1
1521 000a 01D9 bls .L126
1433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t transmitmailbox;
1522 .loc 1 1433 12 view .LVU501
1523 000c 0020 movs r0, #0
1524 .LVL112:
1441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
1442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Select the Tx mailbox */
1444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** transmitmailbox = POSITION_VAL(TxMailbox);
1445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Get timestamp */
1447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** timestamp = (hcan->Instance->sTxMailBox[transmitmailbox].TDTR & CAN_TDT0R_TIME) >> CAN_TDT0R_TI
1448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return the timestamp */
1451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return timestamp;
1525 .loc 1 1451 3 is_stmt 1 view .LVU502
1452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1526 .loc 1 1452 1 is_stmt 0 view .LVU503
1527 000e 7047 bx lr
1528 .LVL113:
1529 .L126:
1444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1530 .loc 1 1444 5 is_stmt 1 view .LVU504
1531 .LBB4:
1532 .LBI4:
1533 .file 2 "Drivers/CMSIS/Include/cmsis_gcc.h"
1:Drivers/CMSIS/Include/cmsis_gcc.h **** /**************************************************************************//**
2:Drivers/CMSIS/Include/cmsis_gcc.h **** * @file cmsis_gcc.h
3:Drivers/CMSIS/Include/cmsis_gcc.h **** * @brief CMSIS compiler GCC header file
4:Drivers/CMSIS/Include/cmsis_gcc.h **** * @version V5.0.4
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 58
5:Drivers/CMSIS/Include/cmsis_gcc.h **** * @date 09. April 2018
6:Drivers/CMSIS/Include/cmsis_gcc.h **** ******************************************************************************/
7:Drivers/CMSIS/Include/cmsis_gcc.h **** /*
8:Drivers/CMSIS/Include/cmsis_gcc.h **** * Copyright (c) 2009-2018 Arm Limited. All rights reserved.
9:Drivers/CMSIS/Include/cmsis_gcc.h **** *
10:Drivers/CMSIS/Include/cmsis_gcc.h **** * SPDX-License-Identifier: Apache-2.0
11:Drivers/CMSIS/Include/cmsis_gcc.h **** *
12:Drivers/CMSIS/Include/cmsis_gcc.h **** * Licensed under the Apache License, Version 2.0 (the License); you may
13:Drivers/CMSIS/Include/cmsis_gcc.h **** * not use this file except in compliance with the License.
14:Drivers/CMSIS/Include/cmsis_gcc.h **** * You may obtain a copy of the License at
15:Drivers/CMSIS/Include/cmsis_gcc.h **** *
16:Drivers/CMSIS/Include/cmsis_gcc.h **** * www.apache.org/licenses/LICENSE-2.0
17:Drivers/CMSIS/Include/cmsis_gcc.h **** *
18:Drivers/CMSIS/Include/cmsis_gcc.h **** * Unless required by applicable law or agreed to in writing, software
19:Drivers/CMSIS/Include/cmsis_gcc.h **** * distributed under the License is distributed on an AS IS BASIS, WITHOUT
20:Drivers/CMSIS/Include/cmsis_gcc.h **** * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
21:Drivers/CMSIS/Include/cmsis_gcc.h **** * See the License for the specific language governing permissions and
22:Drivers/CMSIS/Include/cmsis_gcc.h **** * limitations under the License.
23:Drivers/CMSIS/Include/cmsis_gcc.h **** */
24:Drivers/CMSIS/Include/cmsis_gcc.h ****
25:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __CMSIS_GCC_H
26:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_H
27:Drivers/CMSIS/Include/cmsis_gcc.h ****
28:Drivers/CMSIS/Include/cmsis_gcc.h **** /* ignore some GCC warnings */
29:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
30:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wsign-conversion"
31:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wconversion"
32:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wunused-parameter"
33:Drivers/CMSIS/Include/cmsis_gcc.h ****
34:Drivers/CMSIS/Include/cmsis_gcc.h **** /* Fallback for __has_builtin */
35:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __has_builtin
36:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __has_builtin(x) (0)
37:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
38:Drivers/CMSIS/Include/cmsis_gcc.h ****
39:Drivers/CMSIS/Include/cmsis_gcc.h **** /* CMSIS compiler specific defines */
40:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __ASM
41:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __ASM __asm
42:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
43:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __INLINE
44:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __INLINE inline
45:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
46:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __STATIC_INLINE
47:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __STATIC_INLINE static inline
48:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
49:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __STATIC_FORCEINLINE
50:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __STATIC_FORCEINLINE __attribute__((always_inline)) static inline
51:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
52:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __NO_RETURN
53:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __NO_RETURN __attribute__((__noreturn__))
54:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
55:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __USED
56:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __USED __attribute__((used))
57:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
58:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __WEAK
59:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __WEAK __attribute__((weak))
60:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
61:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __PACKED
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 59
62:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __PACKED __attribute__((packed, aligned(1)))
63:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
64:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __PACKED_STRUCT
65:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __PACKED_STRUCT struct __attribute__((packed, aligned(1)))
66:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
67:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __PACKED_UNION
68:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __PACKED_UNION union __attribute__((packed, aligned(1)))
69:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
70:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT32 /* deprecated */
71:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
72:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
73:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
74:Drivers/CMSIS/Include/cmsis_gcc.h **** struct __attribute__((packed)) T_UINT32 { uint32_t v; };
75:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
76:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)
77:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
78:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT16_WRITE
79:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
80:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
81:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
82:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT16_WRITE { uint16_t v; };
83:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
84:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT16_WRITE(addr, val) (void)((((struct T_UINT16_WRITE *)(void *)(addr))-
85:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
86:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT16_READ
87:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
88:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
89:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
90:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT16_READ { uint16_t v; };
91:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
92:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT16_READ(addr) (((const struct T_UINT16_READ *)(const void *)(add
93:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
94:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT32_WRITE
95:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
96:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
97:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
98:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT32_WRITE { uint32_t v; };
99:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
100:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT32_WRITE(addr, val) (void)((((struct T_UINT32_WRITE *)(void *)(addr))-
101:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
102:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT32_READ
103:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
104:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
105:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
106:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT32_READ { uint32_t v; };
107:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
108:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT32_READ(addr) (((const struct T_UINT32_READ *)(const void *)(add
109:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
110:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __ALIGNED
111:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __ALIGNED(x) __attribute__((aligned(x)))
112:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
113:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __RESTRICT
114:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __RESTRICT __restrict
115:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
116:Drivers/CMSIS/Include/cmsis_gcc.h ****
117:Drivers/CMSIS/Include/cmsis_gcc.h ****
118:Drivers/CMSIS/Include/cmsis_gcc.h **** /* ########################### Core Function Access ########################### */
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 60
119:Drivers/CMSIS/Include/cmsis_gcc.h **** /** \ingroup CMSIS_Core_FunctionInterface
120:Drivers/CMSIS/Include/cmsis_gcc.h **** \defgroup CMSIS_Core_RegAccFunctions CMSIS Core Register Access Functions
121:Drivers/CMSIS/Include/cmsis_gcc.h **** @{
122:Drivers/CMSIS/Include/cmsis_gcc.h **** */
123:Drivers/CMSIS/Include/cmsis_gcc.h ****
124:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
125:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Enable IRQ Interrupts
126:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Enables IRQ interrupts by clearing the I-bit in the CPSR.
127:Drivers/CMSIS/Include/cmsis_gcc.h **** Can only be executed in Privileged modes.
128:Drivers/CMSIS/Include/cmsis_gcc.h **** */
129:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __enable_irq(void)
130:Drivers/CMSIS/Include/cmsis_gcc.h **** {
131:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("cpsie i" : : : "memory");
132:Drivers/CMSIS/Include/cmsis_gcc.h **** }
133:Drivers/CMSIS/Include/cmsis_gcc.h ****
134:Drivers/CMSIS/Include/cmsis_gcc.h ****
135:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
136:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Disable IRQ Interrupts
137:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Disables IRQ interrupts by setting the I-bit in the CPSR.
138:Drivers/CMSIS/Include/cmsis_gcc.h **** Can only be executed in Privileged modes.
139:Drivers/CMSIS/Include/cmsis_gcc.h **** */
140:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __disable_irq(void)
141:Drivers/CMSIS/Include/cmsis_gcc.h **** {
142:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("cpsid i" : : : "memory");
143:Drivers/CMSIS/Include/cmsis_gcc.h **** }
144:Drivers/CMSIS/Include/cmsis_gcc.h ****
145:Drivers/CMSIS/Include/cmsis_gcc.h ****
146:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
147:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Control Register
148:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the Control Register.
149:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Control Register value
150:Drivers/CMSIS/Include/cmsis_gcc.h **** */
151:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_CONTROL(void)
152:Drivers/CMSIS/Include/cmsis_gcc.h **** {
153:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
154:Drivers/CMSIS/Include/cmsis_gcc.h ****
155:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, control" : "=r" (result) );
156:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
157:Drivers/CMSIS/Include/cmsis_gcc.h **** }
158:Drivers/CMSIS/Include/cmsis_gcc.h ****
159:Drivers/CMSIS/Include/cmsis_gcc.h ****
160:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
161:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
162:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Control Register (non-secure)
163:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the non-secure Control Register when in secure mode.
164:Drivers/CMSIS/Include/cmsis_gcc.h **** \return non-secure Control Register value
165:Drivers/CMSIS/Include/cmsis_gcc.h **** */
166:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_CONTROL_NS(void)
167:Drivers/CMSIS/Include/cmsis_gcc.h **** {
168:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
169:Drivers/CMSIS/Include/cmsis_gcc.h ****
170:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, control_ns" : "=r" (result) );
171:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
172:Drivers/CMSIS/Include/cmsis_gcc.h **** }
173:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
174:Drivers/CMSIS/Include/cmsis_gcc.h ****
175:Drivers/CMSIS/Include/cmsis_gcc.h ****
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 61
176:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
177:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Control Register
178:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Writes the given value to the Control Register.
179:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] control Control Register value to set
180:Drivers/CMSIS/Include/cmsis_gcc.h **** */
181:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_CONTROL(uint32_t control)
182:Drivers/CMSIS/Include/cmsis_gcc.h **** {
183:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR control, %0" : : "r" (control) : "memory");
184:Drivers/CMSIS/Include/cmsis_gcc.h **** }
185:Drivers/CMSIS/Include/cmsis_gcc.h ****
186:Drivers/CMSIS/Include/cmsis_gcc.h ****
187:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
188:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
189:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Control Register (non-secure)
190:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Writes the given value to the non-secure Control Register when in secure state.
191:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] control Control Register value to set
192:Drivers/CMSIS/Include/cmsis_gcc.h **** */
193:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_CONTROL_NS(uint32_t control)
194:Drivers/CMSIS/Include/cmsis_gcc.h **** {
195:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR control_ns, %0" : : "r" (control) : "memory");
196:Drivers/CMSIS/Include/cmsis_gcc.h **** }
197:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
198:Drivers/CMSIS/Include/cmsis_gcc.h ****
199:Drivers/CMSIS/Include/cmsis_gcc.h ****
200:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
201:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get IPSR Register
202:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the IPSR Register.
203:Drivers/CMSIS/Include/cmsis_gcc.h **** \return IPSR Register value
204:Drivers/CMSIS/Include/cmsis_gcc.h **** */
205:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_IPSR(void)
206:Drivers/CMSIS/Include/cmsis_gcc.h **** {
207:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
208:Drivers/CMSIS/Include/cmsis_gcc.h ****
209:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, ipsr" : "=r" (result) );
210:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
211:Drivers/CMSIS/Include/cmsis_gcc.h **** }
212:Drivers/CMSIS/Include/cmsis_gcc.h ****
213:Drivers/CMSIS/Include/cmsis_gcc.h ****
214:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
215:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get APSR Register
216:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the APSR Register.
217:Drivers/CMSIS/Include/cmsis_gcc.h **** \return APSR Register value
218:Drivers/CMSIS/Include/cmsis_gcc.h **** */
219:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_APSR(void)
220:Drivers/CMSIS/Include/cmsis_gcc.h **** {
221:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
222:Drivers/CMSIS/Include/cmsis_gcc.h ****
223:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, apsr" : "=r" (result) );
224:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
225:Drivers/CMSIS/Include/cmsis_gcc.h **** }
226:Drivers/CMSIS/Include/cmsis_gcc.h ****
227:Drivers/CMSIS/Include/cmsis_gcc.h ****
228:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
229:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get xPSR Register
230:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the xPSR Register.
231:Drivers/CMSIS/Include/cmsis_gcc.h **** \return xPSR Register value
232:Drivers/CMSIS/Include/cmsis_gcc.h **** */
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 62
233:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_xPSR(void)
234:Drivers/CMSIS/Include/cmsis_gcc.h **** {
235:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
236:Drivers/CMSIS/Include/cmsis_gcc.h ****
237:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, xpsr" : "=r" (result) );
238:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
239:Drivers/CMSIS/Include/cmsis_gcc.h **** }
240:Drivers/CMSIS/Include/cmsis_gcc.h ****
241:Drivers/CMSIS/Include/cmsis_gcc.h ****
242:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
243:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Process Stack Pointer
244:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Process Stack Pointer (PSP).
245:Drivers/CMSIS/Include/cmsis_gcc.h **** \return PSP Register value
246:Drivers/CMSIS/Include/cmsis_gcc.h **** */
247:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_PSP(void)
248:Drivers/CMSIS/Include/cmsis_gcc.h **** {
249:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
250:Drivers/CMSIS/Include/cmsis_gcc.h ****
251:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, psp" : "=r" (result) );
252:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
253:Drivers/CMSIS/Include/cmsis_gcc.h **** }
254:Drivers/CMSIS/Include/cmsis_gcc.h ****
255:Drivers/CMSIS/Include/cmsis_gcc.h ****
256:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
257:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
258:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Process Stack Pointer (non-secure)
259:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Process Stack Pointer (PSP) when in secure s
260:Drivers/CMSIS/Include/cmsis_gcc.h **** \return PSP Register value
261:Drivers/CMSIS/Include/cmsis_gcc.h **** */
262:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_PSP_NS(void)
263:Drivers/CMSIS/Include/cmsis_gcc.h **** {
264:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
265:Drivers/CMSIS/Include/cmsis_gcc.h ****
266:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, psp_ns" : "=r" (result) );
267:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
268:Drivers/CMSIS/Include/cmsis_gcc.h **** }
269:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
270:Drivers/CMSIS/Include/cmsis_gcc.h ****
271:Drivers/CMSIS/Include/cmsis_gcc.h ****
272:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
273:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Process Stack Pointer
274:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Process Stack Pointer (PSP).
275:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfProcStack Process Stack Pointer value to set
276:Drivers/CMSIS/Include/cmsis_gcc.h **** */
277:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_PSP(uint32_t topOfProcStack)
278:Drivers/CMSIS/Include/cmsis_gcc.h **** {
279:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR psp, %0" : : "r" (topOfProcStack) : );
280:Drivers/CMSIS/Include/cmsis_gcc.h **** }
281:Drivers/CMSIS/Include/cmsis_gcc.h ****
282:Drivers/CMSIS/Include/cmsis_gcc.h ****
283:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
284:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
285:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Process Stack Pointer (non-secure)
286:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Process Stack Pointer (PSP) when in secure sta
287:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfProcStack Process Stack Pointer value to set
288:Drivers/CMSIS/Include/cmsis_gcc.h **** */
289:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_PSP_NS(uint32_t topOfProcStack)
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 63
290:Drivers/CMSIS/Include/cmsis_gcc.h **** {
291:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR psp_ns, %0" : : "r" (topOfProcStack) : );
292:Drivers/CMSIS/Include/cmsis_gcc.h **** }
293:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
294:Drivers/CMSIS/Include/cmsis_gcc.h ****
295:Drivers/CMSIS/Include/cmsis_gcc.h ****
296:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
297:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Main Stack Pointer
298:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Main Stack Pointer (MSP).
299:Drivers/CMSIS/Include/cmsis_gcc.h **** \return MSP Register value
300:Drivers/CMSIS/Include/cmsis_gcc.h **** */
301:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_MSP(void)
302:Drivers/CMSIS/Include/cmsis_gcc.h **** {
303:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
304:Drivers/CMSIS/Include/cmsis_gcc.h ****
305:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, msp" : "=r" (result) );
306:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
307:Drivers/CMSIS/Include/cmsis_gcc.h **** }
308:Drivers/CMSIS/Include/cmsis_gcc.h ****
309:Drivers/CMSIS/Include/cmsis_gcc.h ****
310:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
311:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
312:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Main Stack Pointer (non-secure)
313:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Main Stack Pointer (MSP) when in secure stat
314:Drivers/CMSIS/Include/cmsis_gcc.h **** \return MSP Register value
315:Drivers/CMSIS/Include/cmsis_gcc.h **** */
316:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_MSP_NS(void)
317:Drivers/CMSIS/Include/cmsis_gcc.h **** {
318:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
319:Drivers/CMSIS/Include/cmsis_gcc.h ****
320:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, msp_ns" : "=r" (result) );
321:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
322:Drivers/CMSIS/Include/cmsis_gcc.h **** }
323:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
324:Drivers/CMSIS/Include/cmsis_gcc.h ****
325:Drivers/CMSIS/Include/cmsis_gcc.h ****
326:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
327:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Main Stack Pointer
328:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Main Stack Pointer (MSP).
329:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfMainStack Main Stack Pointer value to set
330:Drivers/CMSIS/Include/cmsis_gcc.h **** */
331:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_MSP(uint32_t topOfMainStack)
332:Drivers/CMSIS/Include/cmsis_gcc.h **** {
333:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR msp, %0" : : "r" (topOfMainStack) : );
334:Drivers/CMSIS/Include/cmsis_gcc.h **** }
335:Drivers/CMSIS/Include/cmsis_gcc.h ****
336:Drivers/CMSIS/Include/cmsis_gcc.h ****
337:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
338:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
339:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Main Stack Pointer (non-secure)
340:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Main Stack Pointer (MSP) when in secure state.
341:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfMainStack Main Stack Pointer value to set
342:Drivers/CMSIS/Include/cmsis_gcc.h **** */
343:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_MSP_NS(uint32_t topOfMainStack)
344:Drivers/CMSIS/Include/cmsis_gcc.h **** {
345:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR msp_ns, %0" : : "r" (topOfMainStack) : );
346:Drivers/CMSIS/Include/cmsis_gcc.h **** }
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 64
347:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
348:Drivers/CMSIS/Include/cmsis_gcc.h ****
349:Drivers/CMSIS/Include/cmsis_gcc.h ****
350:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
351:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
352:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Stack Pointer (non-secure)
353:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Stack Pointer (SP) when in secure state.
354:Drivers/CMSIS/Include/cmsis_gcc.h **** \return SP Register value
355:Drivers/CMSIS/Include/cmsis_gcc.h **** */
356:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_SP_NS(void)
357:Drivers/CMSIS/Include/cmsis_gcc.h **** {
358:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
359:Drivers/CMSIS/Include/cmsis_gcc.h ****
360:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, sp_ns" : "=r" (result) );
361:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
362:Drivers/CMSIS/Include/cmsis_gcc.h **** }
363:Drivers/CMSIS/Include/cmsis_gcc.h ****
364:Drivers/CMSIS/Include/cmsis_gcc.h ****
365:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
366:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Stack Pointer (non-secure)
367:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Stack Pointer (SP) when in secure state.
368:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfStack Stack Pointer value to set
369:Drivers/CMSIS/Include/cmsis_gcc.h **** */
370:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_SP_NS(uint32_t topOfStack)
371:Drivers/CMSIS/Include/cmsis_gcc.h **** {
372:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR sp_ns, %0" : : "r" (topOfStack) : );
373:Drivers/CMSIS/Include/cmsis_gcc.h **** }
374:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
375:Drivers/CMSIS/Include/cmsis_gcc.h ****
376:Drivers/CMSIS/Include/cmsis_gcc.h ****
377:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
378:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Priority Mask
379:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current state of the priority mask bit from the Priority Mask Register.
380:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Priority Mask value
381:Drivers/CMSIS/Include/cmsis_gcc.h **** */
382:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_PRIMASK(void)
383:Drivers/CMSIS/Include/cmsis_gcc.h **** {
384:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
385:Drivers/CMSIS/Include/cmsis_gcc.h ****
386:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, primask" : "=r" (result) :: "memory");
387:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
388:Drivers/CMSIS/Include/cmsis_gcc.h **** }
389:Drivers/CMSIS/Include/cmsis_gcc.h ****
390:Drivers/CMSIS/Include/cmsis_gcc.h ****
391:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
392:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
393:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Priority Mask (non-secure)
394:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current state of the non-secure priority mask bit from the Priority Mask Reg
395:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Priority Mask value
396:Drivers/CMSIS/Include/cmsis_gcc.h **** */
397:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_PRIMASK_NS(void)
398:Drivers/CMSIS/Include/cmsis_gcc.h **** {
399:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
400:Drivers/CMSIS/Include/cmsis_gcc.h ****
401:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, primask_ns" : "=r" (result) :: "memory");
402:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
403:Drivers/CMSIS/Include/cmsis_gcc.h **** }
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 65
404:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
405:Drivers/CMSIS/Include/cmsis_gcc.h ****
406:Drivers/CMSIS/Include/cmsis_gcc.h ****
407:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
408:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Priority Mask
409:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Priority Mask Register.
410:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] priMask Priority Mask
411:Drivers/CMSIS/Include/cmsis_gcc.h **** */
412:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_PRIMASK(uint32_t priMask)
413:Drivers/CMSIS/Include/cmsis_gcc.h **** {
414:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR primask, %0" : : "r" (priMask) : "memory");
415:Drivers/CMSIS/Include/cmsis_gcc.h **** }
416:Drivers/CMSIS/Include/cmsis_gcc.h ****
417:Drivers/CMSIS/Include/cmsis_gcc.h ****
418:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
419:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
420:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Priority Mask (non-secure)
421:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Priority Mask Register when in secure state.
422:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] priMask Priority Mask
423:Drivers/CMSIS/Include/cmsis_gcc.h **** */
424:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_PRIMASK_NS(uint32_t priMask)
425:Drivers/CMSIS/Include/cmsis_gcc.h **** {
426:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR primask_ns, %0" : : "r" (priMask) : "memory");
427:Drivers/CMSIS/Include/cmsis_gcc.h **** }
428:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
429:Drivers/CMSIS/Include/cmsis_gcc.h ****
430:Drivers/CMSIS/Include/cmsis_gcc.h ****
431:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \
432:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \
433:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) )
434:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
435:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Enable FIQ
436:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Enables FIQ interrupts by clearing the F-bit in the CPSR.
437:Drivers/CMSIS/Include/cmsis_gcc.h **** Can only be executed in Privileged modes.
438:Drivers/CMSIS/Include/cmsis_gcc.h **** */
439:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __enable_fault_irq(void)
440:Drivers/CMSIS/Include/cmsis_gcc.h **** {
441:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("cpsie f" : : : "memory");
442:Drivers/CMSIS/Include/cmsis_gcc.h **** }
443:Drivers/CMSIS/Include/cmsis_gcc.h ****
444:Drivers/CMSIS/Include/cmsis_gcc.h ****
445:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
446:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Disable FIQ
447:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Disables FIQ interrupts by setting the F-bit in the CPSR.
448:Drivers/CMSIS/Include/cmsis_gcc.h **** Can only be executed in Privileged modes.
449:Drivers/CMSIS/Include/cmsis_gcc.h **** */
450:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __disable_fault_irq(void)
451:Drivers/CMSIS/Include/cmsis_gcc.h **** {
452:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("cpsid f" : : : "memory");
453:Drivers/CMSIS/Include/cmsis_gcc.h **** }
454:Drivers/CMSIS/Include/cmsis_gcc.h ****
455:Drivers/CMSIS/Include/cmsis_gcc.h ****
456:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
457:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Base Priority
458:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Base Priority register.
459:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Base Priority register value
460:Drivers/CMSIS/Include/cmsis_gcc.h **** */
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 66
461:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_BASEPRI(void)
462:Drivers/CMSIS/Include/cmsis_gcc.h **** {
463:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
464:Drivers/CMSIS/Include/cmsis_gcc.h ****
465:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, basepri" : "=r" (result) );
466:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
467:Drivers/CMSIS/Include/cmsis_gcc.h **** }
468:Drivers/CMSIS/Include/cmsis_gcc.h ****
469:Drivers/CMSIS/Include/cmsis_gcc.h ****
470:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
471:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
472:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Base Priority (non-secure)
473:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Base Priority register when in secure state.
474:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Base Priority register value
475:Drivers/CMSIS/Include/cmsis_gcc.h **** */
476:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_BASEPRI_NS(void)
477:Drivers/CMSIS/Include/cmsis_gcc.h **** {
478:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
479:Drivers/CMSIS/Include/cmsis_gcc.h ****
480:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, basepri_ns" : "=r" (result) );
481:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
482:Drivers/CMSIS/Include/cmsis_gcc.h **** }
483:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
484:Drivers/CMSIS/Include/cmsis_gcc.h ****
485:Drivers/CMSIS/Include/cmsis_gcc.h ****
486:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
487:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Base Priority
488:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Base Priority register.
489:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] basePri Base Priority value to set
490:Drivers/CMSIS/Include/cmsis_gcc.h **** */
491:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_BASEPRI(uint32_t basePri)
492:Drivers/CMSIS/Include/cmsis_gcc.h **** {
493:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR basepri, %0" : : "r" (basePri) : "memory");
494:Drivers/CMSIS/Include/cmsis_gcc.h **** }
495:Drivers/CMSIS/Include/cmsis_gcc.h ****
496:Drivers/CMSIS/Include/cmsis_gcc.h ****
497:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
498:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
499:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Base Priority (non-secure)
500:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Base Priority register when in secure state.
501:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] basePri Base Priority value to set
502:Drivers/CMSIS/Include/cmsis_gcc.h **** */
503:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_BASEPRI_NS(uint32_t basePri)
504:Drivers/CMSIS/Include/cmsis_gcc.h **** {
505:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR basepri_ns, %0" : : "r" (basePri) : "memory");
506:Drivers/CMSIS/Include/cmsis_gcc.h **** }
507:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
508:Drivers/CMSIS/Include/cmsis_gcc.h ****
509:Drivers/CMSIS/Include/cmsis_gcc.h ****
510:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
511:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Base Priority with condition
512:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Base Priority register only if BASEPRI masking is disable
513:Drivers/CMSIS/Include/cmsis_gcc.h **** or the new value increases the BASEPRI priority level.
514:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] basePri Base Priority value to set
515:Drivers/CMSIS/Include/cmsis_gcc.h **** */
516:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_BASEPRI_MAX(uint32_t basePri)
517:Drivers/CMSIS/Include/cmsis_gcc.h **** {
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 67
518:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR basepri_max, %0" : : "r" (basePri) : "memory");
519:Drivers/CMSIS/Include/cmsis_gcc.h **** }
520:Drivers/CMSIS/Include/cmsis_gcc.h ****
521:Drivers/CMSIS/Include/cmsis_gcc.h ****
522:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
523:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Fault Mask
524:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Fault Mask register.
525:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Fault Mask register value
526:Drivers/CMSIS/Include/cmsis_gcc.h **** */
527:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_FAULTMASK(void)
528:Drivers/CMSIS/Include/cmsis_gcc.h **** {
529:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
530:Drivers/CMSIS/Include/cmsis_gcc.h ****
531:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, faultmask" : "=r" (result) );
532:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
533:Drivers/CMSIS/Include/cmsis_gcc.h **** }
534:Drivers/CMSIS/Include/cmsis_gcc.h ****
535:Drivers/CMSIS/Include/cmsis_gcc.h ****
536:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
537:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
538:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Fault Mask (non-secure)
539:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Fault Mask register when in secure state.
540:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Fault Mask register value
541:Drivers/CMSIS/Include/cmsis_gcc.h **** */
542:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_FAULTMASK_NS(void)
543:Drivers/CMSIS/Include/cmsis_gcc.h **** {
544:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
545:Drivers/CMSIS/Include/cmsis_gcc.h ****
546:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, faultmask_ns" : "=r" (result) );
547:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
548:Drivers/CMSIS/Include/cmsis_gcc.h **** }
549:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
550:Drivers/CMSIS/Include/cmsis_gcc.h ****
551:Drivers/CMSIS/Include/cmsis_gcc.h ****
552:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
553:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Fault Mask
554:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Fault Mask register.
555:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] faultMask Fault Mask value to set
556:Drivers/CMSIS/Include/cmsis_gcc.h **** */
557:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_FAULTMASK(uint32_t faultMask)
558:Drivers/CMSIS/Include/cmsis_gcc.h **** {
559:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR faultmask, %0" : : "r" (faultMask) : "memory");
560:Drivers/CMSIS/Include/cmsis_gcc.h **** }
561:Drivers/CMSIS/Include/cmsis_gcc.h ****
562:Drivers/CMSIS/Include/cmsis_gcc.h ****
563:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
564:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
565:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Fault Mask (non-secure)
566:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Fault Mask register when in secure state.
567:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] faultMask Fault Mask value to set
568:Drivers/CMSIS/Include/cmsis_gcc.h **** */
569:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_FAULTMASK_NS(uint32_t faultMask)
570:Drivers/CMSIS/Include/cmsis_gcc.h **** {
571:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR faultmask_ns, %0" : : "r" (faultMask) : "memory");
572:Drivers/CMSIS/Include/cmsis_gcc.h **** }
573:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
574:Drivers/CMSIS/Include/cmsis_gcc.h ****
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 68
575:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif /* ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \
576:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \
577:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) ) */
578:Drivers/CMSIS/Include/cmsis_gcc.h ****
579:Drivers/CMSIS/Include/cmsis_gcc.h ****
580:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \
581:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) )
582:Drivers/CMSIS/Include/cmsis_gcc.h ****
583:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
584:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Process Stack Pointer Limit
585:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
586:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence zero is returned always in non-secure
587:Drivers/CMSIS/Include/cmsis_gcc.h **** mode.
588:Drivers/CMSIS/Include/cmsis_gcc.h ****
589:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Process Stack Pointer Limit (PSPLIM).
590:Drivers/CMSIS/Include/cmsis_gcc.h **** \return PSPLIM Register value
591:Drivers/CMSIS/Include/cmsis_gcc.h **** */
592:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_PSPLIM(void)
593:Drivers/CMSIS/Include/cmsis_gcc.h **** {
594:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \
595:Drivers/CMSIS/Include/cmsis_gcc.h **** (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3)))
596:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure PSPLIM is RAZ/WI
597:Drivers/CMSIS/Include/cmsis_gcc.h **** return 0U;
598:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
599:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
600:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, psplim" : "=r" (result) );
601:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
602:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
603:Drivers/CMSIS/Include/cmsis_gcc.h **** }
604:Drivers/CMSIS/Include/cmsis_gcc.h ****
605:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3))
606:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
607:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Process Stack Pointer Limit (non-secure)
608:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
609:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence zero is returned always.
610:Drivers/CMSIS/Include/cmsis_gcc.h ****
611:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Process Stack Pointer Limit (PSPLIM) when in
612:Drivers/CMSIS/Include/cmsis_gcc.h **** \return PSPLIM Register value
613:Drivers/CMSIS/Include/cmsis_gcc.h **** */
614:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_PSPLIM_NS(void)
615:Drivers/CMSIS/Include/cmsis_gcc.h **** {
616:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)))
617:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure PSPLIM is RAZ/WI
618:Drivers/CMSIS/Include/cmsis_gcc.h **** return 0U;
619:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
620:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
621:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, psplim_ns" : "=r" (result) );
622:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
623:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
624:Drivers/CMSIS/Include/cmsis_gcc.h **** }
625:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
626:Drivers/CMSIS/Include/cmsis_gcc.h ****
627:Drivers/CMSIS/Include/cmsis_gcc.h ****
628:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
629:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Process Stack Pointer Limit
630:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
631:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence the write is silently ignored in non-secure
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 69
632:Drivers/CMSIS/Include/cmsis_gcc.h **** mode.
633:Drivers/CMSIS/Include/cmsis_gcc.h ****
634:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Process Stack Pointer Limit (PSPLIM).
635:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ProcStackPtrLimit Process Stack Pointer Limit value to set
636:Drivers/CMSIS/Include/cmsis_gcc.h **** */
637:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_PSPLIM(uint32_t ProcStackPtrLimit)
638:Drivers/CMSIS/Include/cmsis_gcc.h **** {
639:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \
640:Drivers/CMSIS/Include/cmsis_gcc.h **** (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3)))
641:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure PSPLIM is RAZ/WI
642:Drivers/CMSIS/Include/cmsis_gcc.h **** (void)ProcStackPtrLimit;
643:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
644:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR psplim, %0" : : "r" (ProcStackPtrLimit));
645:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
646:Drivers/CMSIS/Include/cmsis_gcc.h **** }
647:Drivers/CMSIS/Include/cmsis_gcc.h ****
648:Drivers/CMSIS/Include/cmsis_gcc.h ****
649:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
650:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
651:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Process Stack Pointer (non-secure)
652:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
653:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence the write is silently ignored.
654:Drivers/CMSIS/Include/cmsis_gcc.h ****
655:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Process Stack Pointer Limit (PSPLIM) when in s
656:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ProcStackPtrLimit Process Stack Pointer Limit value to set
657:Drivers/CMSIS/Include/cmsis_gcc.h **** */
658:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_PSPLIM_NS(uint32_t ProcStackPtrLimit)
659:Drivers/CMSIS/Include/cmsis_gcc.h **** {
660:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)))
661:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure PSPLIM is RAZ/WI
662:Drivers/CMSIS/Include/cmsis_gcc.h **** (void)ProcStackPtrLimit;
663:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
664:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR psplim_ns, %0\n" : : "r" (ProcStackPtrLimit));
665:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
666:Drivers/CMSIS/Include/cmsis_gcc.h **** }
667:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
668:Drivers/CMSIS/Include/cmsis_gcc.h ****
669:Drivers/CMSIS/Include/cmsis_gcc.h ****
670:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
671:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Main Stack Pointer Limit
672:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
673:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence zero is returned always in non-secure
674:Drivers/CMSIS/Include/cmsis_gcc.h **** mode.
675:Drivers/CMSIS/Include/cmsis_gcc.h ****
676:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Main Stack Pointer Limit (MSPLIM).
677:Drivers/CMSIS/Include/cmsis_gcc.h **** \return MSPLIM Register value
678:Drivers/CMSIS/Include/cmsis_gcc.h **** */
679:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_MSPLIM(void)
680:Drivers/CMSIS/Include/cmsis_gcc.h **** {
681:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \
682:Drivers/CMSIS/Include/cmsis_gcc.h **** (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3)))
683:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure MSPLIM is RAZ/WI
684:Drivers/CMSIS/Include/cmsis_gcc.h **** return 0U;
685:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
686:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
687:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, msplim" : "=r" (result) );
688:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 70
689:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
690:Drivers/CMSIS/Include/cmsis_gcc.h **** }
691:Drivers/CMSIS/Include/cmsis_gcc.h ****
692:Drivers/CMSIS/Include/cmsis_gcc.h ****
693:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
694:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
695:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Main Stack Pointer Limit (non-secure)
696:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
697:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence zero is returned always.
698:Drivers/CMSIS/Include/cmsis_gcc.h ****
699:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Main Stack Pointer Limit(MSPLIM) when in sec
700:Drivers/CMSIS/Include/cmsis_gcc.h **** \return MSPLIM Register value
701:Drivers/CMSIS/Include/cmsis_gcc.h **** */
702:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_MSPLIM_NS(void)
703:Drivers/CMSIS/Include/cmsis_gcc.h **** {
704:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)))
705:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure MSPLIM is RAZ/WI
706:Drivers/CMSIS/Include/cmsis_gcc.h **** return 0U;
707:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
708:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
709:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, msplim_ns" : "=r" (result) );
710:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
711:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
712:Drivers/CMSIS/Include/cmsis_gcc.h **** }
713:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
714:Drivers/CMSIS/Include/cmsis_gcc.h ****
715:Drivers/CMSIS/Include/cmsis_gcc.h ****
716:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
717:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Main Stack Pointer Limit
718:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
719:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence the write is silently ignored in non-secure
720:Drivers/CMSIS/Include/cmsis_gcc.h **** mode.
721:Drivers/CMSIS/Include/cmsis_gcc.h ****
722:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Main Stack Pointer Limit (MSPLIM).
723:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] MainStackPtrLimit Main Stack Pointer Limit value to set
724:Drivers/CMSIS/Include/cmsis_gcc.h **** */
725:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_MSPLIM(uint32_t MainStackPtrLimit)
726:Drivers/CMSIS/Include/cmsis_gcc.h **** {
727:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \
728:Drivers/CMSIS/Include/cmsis_gcc.h **** (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3)))
729:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure MSPLIM is RAZ/WI
730:Drivers/CMSIS/Include/cmsis_gcc.h **** (void)MainStackPtrLimit;
731:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
732:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR msplim, %0" : : "r" (MainStackPtrLimit));
733:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
734:Drivers/CMSIS/Include/cmsis_gcc.h **** }
735:Drivers/CMSIS/Include/cmsis_gcc.h ****
736:Drivers/CMSIS/Include/cmsis_gcc.h ****
737:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
738:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
739:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Main Stack Pointer Limit (non-secure)
740:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
741:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence the write is silently ignored.
742:Drivers/CMSIS/Include/cmsis_gcc.h ****
743:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Main Stack Pointer Limit (MSPLIM) when in secu
744:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] MainStackPtrLimit Main Stack Pointer value to set
745:Drivers/CMSIS/Include/cmsis_gcc.h **** */
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 71
746:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_MSPLIM_NS(uint32_t MainStackPtrLimit)
747:Drivers/CMSIS/Include/cmsis_gcc.h **** {
748:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)))
749:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure MSPLIM is RAZ/WI
750:Drivers/CMSIS/Include/cmsis_gcc.h **** (void)MainStackPtrLimit;
751:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
752:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR msplim_ns, %0" : : "r" (MainStackPtrLimit));
753:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
754:Drivers/CMSIS/Include/cmsis_gcc.h **** }
755:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
756:Drivers/CMSIS/Include/cmsis_gcc.h ****
757:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif /* ((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \
758:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) ) */
759:Drivers/CMSIS/Include/cmsis_gcc.h ****
760:Drivers/CMSIS/Include/cmsis_gcc.h ****
761:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
762:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get FPSCR
763:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Floating Point Status/Control register.
764:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Floating Point Status/Control register value
765:Drivers/CMSIS/Include/cmsis_gcc.h **** */
766:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_FPSCR(void)
767:Drivers/CMSIS/Include/cmsis_gcc.h **** {
768:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)) && \
769:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__FPU_USED ) && (__FPU_USED == 1U)) )
770:Drivers/CMSIS/Include/cmsis_gcc.h **** #if __has_builtin(__builtin_arm_get_fpscr)
771:Drivers/CMSIS/Include/cmsis_gcc.h **** // Re-enable using built-in when GCC has been fixed
772:Drivers/CMSIS/Include/cmsis_gcc.h **** // || (__GNUC__ > 7) || (__GNUC__ == 7 && __GNUC_MINOR__ >= 2)
773:Drivers/CMSIS/Include/cmsis_gcc.h **** /* see https://gcc.gnu.org/ml/gcc-patches/2017-04/msg00443.html */
774:Drivers/CMSIS/Include/cmsis_gcc.h **** return __builtin_arm_get_fpscr();
775:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
776:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
777:Drivers/CMSIS/Include/cmsis_gcc.h ****
778:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("VMRS %0, fpscr" : "=r" (result) );
779:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
780:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
781:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
782:Drivers/CMSIS/Include/cmsis_gcc.h **** return(0U);
783:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
784:Drivers/CMSIS/Include/cmsis_gcc.h **** }
785:Drivers/CMSIS/Include/cmsis_gcc.h ****
786:Drivers/CMSIS/Include/cmsis_gcc.h ****
787:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
788:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set FPSCR
789:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Floating Point Status/Control register.
790:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] fpscr Floating Point Status/Control value to set
791:Drivers/CMSIS/Include/cmsis_gcc.h **** */
792:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_FPSCR(uint32_t fpscr)
793:Drivers/CMSIS/Include/cmsis_gcc.h **** {
794:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)) && \
795:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__FPU_USED ) && (__FPU_USED == 1U)) )
796:Drivers/CMSIS/Include/cmsis_gcc.h **** #if __has_builtin(__builtin_arm_set_fpscr)
797:Drivers/CMSIS/Include/cmsis_gcc.h **** // Re-enable using built-in when GCC has been fixed
798:Drivers/CMSIS/Include/cmsis_gcc.h **** // || (__GNUC__ > 7) || (__GNUC__ == 7 && __GNUC_MINOR__ >= 2)
799:Drivers/CMSIS/Include/cmsis_gcc.h **** /* see https://gcc.gnu.org/ml/gcc-patches/2017-04/msg00443.html */
800:Drivers/CMSIS/Include/cmsis_gcc.h **** __builtin_arm_set_fpscr(fpscr);
801:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
802:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("VMSR fpscr, %0" : : "r" (fpscr) : "vfpcc", "memory");
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 72
803:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
804:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
805:Drivers/CMSIS/Include/cmsis_gcc.h **** (void)fpscr;
806:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
807:Drivers/CMSIS/Include/cmsis_gcc.h **** }
808:Drivers/CMSIS/Include/cmsis_gcc.h ****
809:Drivers/CMSIS/Include/cmsis_gcc.h ****
810:Drivers/CMSIS/Include/cmsis_gcc.h **** /*@} end of CMSIS_Core_RegAccFunctions */
811:Drivers/CMSIS/Include/cmsis_gcc.h ****
812:Drivers/CMSIS/Include/cmsis_gcc.h ****
813:Drivers/CMSIS/Include/cmsis_gcc.h **** /* ########################## Core Instruction Access ######################### */
814:Drivers/CMSIS/Include/cmsis_gcc.h **** /** \defgroup CMSIS_Core_InstructionInterface CMSIS Core Instruction Interface
815:Drivers/CMSIS/Include/cmsis_gcc.h **** Access to dedicated instructions
816:Drivers/CMSIS/Include/cmsis_gcc.h **** @{
817:Drivers/CMSIS/Include/cmsis_gcc.h **** */
818:Drivers/CMSIS/Include/cmsis_gcc.h ****
819:Drivers/CMSIS/Include/cmsis_gcc.h **** /* Define macros for porting to both thumb1 and thumb2.
820:Drivers/CMSIS/Include/cmsis_gcc.h **** * For thumb1, use low register (r0-r7), specified by constraint "l"
821:Drivers/CMSIS/Include/cmsis_gcc.h **** * Otherwise, use general registers, specified by constraint "r" */
822:Drivers/CMSIS/Include/cmsis_gcc.h **** #if defined (__thumb__) && !defined (__thumb2__)
823:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_OUT_REG(r) "=l" (r)
824:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_RW_REG(r) "+l" (r)
825:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_USE_REG(r) "l" (r)
826:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
827:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_OUT_REG(r) "=r" (r)
828:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_RW_REG(r) "+r" (r)
829:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_USE_REG(r) "r" (r)
830:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
831:Drivers/CMSIS/Include/cmsis_gcc.h ****
832:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
833:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief No Operation
834:Drivers/CMSIS/Include/cmsis_gcc.h **** \details No Operation does nothing. This instruction can be used for code alignment purposes.
835:Drivers/CMSIS/Include/cmsis_gcc.h **** */
836:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __NOP() __ASM volatile ("nop")
837:Drivers/CMSIS/Include/cmsis_gcc.h ****
838:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
839:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Wait For Interrupt
840:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Wait For Interrupt is a hint instruction that suspends execution until one of a number o
841:Drivers/CMSIS/Include/cmsis_gcc.h **** */
842:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __WFI() __ASM volatile ("wfi")
843:Drivers/CMSIS/Include/cmsis_gcc.h ****
844:Drivers/CMSIS/Include/cmsis_gcc.h ****
845:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
846:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Wait For Event
847:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Wait For Event is a hint instruction that permits the processor to enter
848:Drivers/CMSIS/Include/cmsis_gcc.h **** a low-power state until one of a number of events occurs.
849:Drivers/CMSIS/Include/cmsis_gcc.h **** */
850:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __WFE() __ASM volatile ("wfe")
851:Drivers/CMSIS/Include/cmsis_gcc.h ****
852:Drivers/CMSIS/Include/cmsis_gcc.h ****
853:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
854:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Send Event
855:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Send Event is a hint instruction. It causes an event to be signaled to the CPU.
856:Drivers/CMSIS/Include/cmsis_gcc.h **** */
857:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __SEV() __ASM volatile ("sev")
858:Drivers/CMSIS/Include/cmsis_gcc.h ****
859:Drivers/CMSIS/Include/cmsis_gcc.h ****
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 73
860:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
861:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Instruction Synchronization Barrier
862:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Instruction Synchronization Barrier flushes the pipeline in the processor,
863:Drivers/CMSIS/Include/cmsis_gcc.h **** so that all instructions following the ISB are fetched from cache or memory,
864:Drivers/CMSIS/Include/cmsis_gcc.h **** after the instruction has been completed.
865:Drivers/CMSIS/Include/cmsis_gcc.h **** */
866:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __ISB(void)
867:Drivers/CMSIS/Include/cmsis_gcc.h **** {
868:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("isb 0xF":::"memory");
869:Drivers/CMSIS/Include/cmsis_gcc.h **** }
870:Drivers/CMSIS/Include/cmsis_gcc.h ****
871:Drivers/CMSIS/Include/cmsis_gcc.h ****
872:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
873:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Data Synchronization Barrier
874:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Acts as a special kind of Data Memory Barrier.
875:Drivers/CMSIS/Include/cmsis_gcc.h **** It completes when all explicit memory accesses before this instruction complete.
876:Drivers/CMSIS/Include/cmsis_gcc.h **** */
877:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __DSB(void)
878:Drivers/CMSIS/Include/cmsis_gcc.h **** {
879:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("dsb 0xF":::"memory");
880:Drivers/CMSIS/Include/cmsis_gcc.h **** }
881:Drivers/CMSIS/Include/cmsis_gcc.h ****
882:Drivers/CMSIS/Include/cmsis_gcc.h ****
883:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
884:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Data Memory Barrier
885:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Ensures the apparent order of the explicit memory operations before
886:Drivers/CMSIS/Include/cmsis_gcc.h **** and after the instruction, without ensuring their completion.
887:Drivers/CMSIS/Include/cmsis_gcc.h **** */
888:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __DMB(void)
889:Drivers/CMSIS/Include/cmsis_gcc.h **** {
890:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("dmb 0xF":::"memory");
891:Drivers/CMSIS/Include/cmsis_gcc.h **** }
892:Drivers/CMSIS/Include/cmsis_gcc.h ****
893:Drivers/CMSIS/Include/cmsis_gcc.h ****
894:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
895:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Reverse byte order (32 bit)
896:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Reverses the byte order in unsigned integer value. For example, 0x12345678 becomes 0x785
897:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to reverse
898:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Reversed value
899:Drivers/CMSIS/Include/cmsis_gcc.h **** */
900:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __REV(uint32_t value)
901:Drivers/CMSIS/Include/cmsis_gcc.h **** {
902:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5)
903:Drivers/CMSIS/Include/cmsis_gcc.h **** return __builtin_bswap32(value);
904:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
905:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
906:Drivers/CMSIS/Include/cmsis_gcc.h ****
907:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("rev %0, %1" : __CMSIS_GCC_OUT_REG (result) : __CMSIS_GCC_USE_REG (value) );
908:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
909:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
910:Drivers/CMSIS/Include/cmsis_gcc.h **** }
911:Drivers/CMSIS/Include/cmsis_gcc.h ****
912:Drivers/CMSIS/Include/cmsis_gcc.h ****
913:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
914:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Reverse byte order (16 bit)
915:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Reverses the byte order within each halfword of a word. For example, 0x12345678 becomes
916:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to reverse
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 74
917:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Reversed value
918:Drivers/CMSIS/Include/cmsis_gcc.h **** */
919:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __REV16(uint32_t value)
920:Drivers/CMSIS/Include/cmsis_gcc.h **** {
921:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
922:Drivers/CMSIS/Include/cmsis_gcc.h ****
923:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("rev16 %0, %1" : __CMSIS_GCC_OUT_REG (result) : __CMSIS_GCC_USE_REG (value) );
924:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
925:Drivers/CMSIS/Include/cmsis_gcc.h **** }
926:Drivers/CMSIS/Include/cmsis_gcc.h ****
927:Drivers/CMSIS/Include/cmsis_gcc.h ****
928:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
929:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Reverse byte order (16 bit)
930:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Reverses the byte order in a 16-bit value and returns the signed 16-bit result. For exam
931:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to reverse
932:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Reversed value
933:Drivers/CMSIS/Include/cmsis_gcc.h **** */
934:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE int16_t __REVSH(int16_t value)
935:Drivers/CMSIS/Include/cmsis_gcc.h **** {
936:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8)
937:Drivers/CMSIS/Include/cmsis_gcc.h **** return (int16_t)__builtin_bswap16(value);
938:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
939:Drivers/CMSIS/Include/cmsis_gcc.h **** int16_t result;
940:Drivers/CMSIS/Include/cmsis_gcc.h ****
941:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("revsh %0, %1" : __CMSIS_GCC_OUT_REG (result) : __CMSIS_GCC_USE_REG (value) );
942:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
943:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
944:Drivers/CMSIS/Include/cmsis_gcc.h **** }
945:Drivers/CMSIS/Include/cmsis_gcc.h ****
946:Drivers/CMSIS/Include/cmsis_gcc.h ****
947:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
948:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Rotate Right in unsigned value (32 bit)
949:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Rotate Right (immediate) provides the value of the contents of a register rotated by a v
950:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] op1 Value to rotate
951:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] op2 Number of Bits to rotate
952:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Rotated value
953:Drivers/CMSIS/Include/cmsis_gcc.h **** */
954:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __ROR(uint32_t op1, uint32_t op2)
955:Drivers/CMSIS/Include/cmsis_gcc.h **** {
956:Drivers/CMSIS/Include/cmsis_gcc.h **** op2 %= 32U;
957:Drivers/CMSIS/Include/cmsis_gcc.h **** if (op2 == 0U)
958:Drivers/CMSIS/Include/cmsis_gcc.h **** {
959:Drivers/CMSIS/Include/cmsis_gcc.h **** return op1;
960:Drivers/CMSIS/Include/cmsis_gcc.h **** }
961:Drivers/CMSIS/Include/cmsis_gcc.h **** return (op1 >> op2) | (op1 << (32U - op2));
962:Drivers/CMSIS/Include/cmsis_gcc.h **** }
963:Drivers/CMSIS/Include/cmsis_gcc.h ****
964:Drivers/CMSIS/Include/cmsis_gcc.h ****
965:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
966:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Breakpoint
967:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Causes the processor to enter Debug state.
968:Drivers/CMSIS/Include/cmsis_gcc.h **** Debug tools can use this to investigate system state when the instruction at a particula
969:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value is ignored by the processor.
970:Drivers/CMSIS/Include/cmsis_gcc.h **** If required, a debugger can use it to store additional information about the break
971:Drivers/CMSIS/Include/cmsis_gcc.h **** */
972:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __BKPT(value) __ASM volatile ("bkpt "#value)
973:Drivers/CMSIS/Include/cmsis_gcc.h ****
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 75
974:Drivers/CMSIS/Include/cmsis_gcc.h ****
975:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
976:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Reverse bit order of value
977:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Reverses the bit order of the given value.
978:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to reverse
979:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Reversed value
980:Drivers/CMSIS/Include/cmsis_gcc.h **** */
981:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __RBIT(uint32_t value)
1534 .loc 2 981 31 view .LVU505
1535 .LBB5:
982:Drivers/CMSIS/Include/cmsis_gcc.h **** {
983:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
1536 .loc 2 983 3 view .LVU506
984:Drivers/CMSIS/Include/cmsis_gcc.h ****
985:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \
986:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \
987:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) )
988:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("rbit %0, %1" : "=r" (result) : "r" (value) );
1537 .loc 2 988 4 view .LVU507
1538 .syntax unified
1539 @ 988 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
1540 0010 91FAA1F1 rbit r1, r1
1541 @ 0 "" 2
1542 .LVL114:
989:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
990:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t s = (4U /*sizeof(v)*/ * 8U) - 1U; /* extra shift needed at end */
991:Drivers/CMSIS/Include/cmsis_gcc.h ****
992:Drivers/CMSIS/Include/cmsis_gcc.h **** result = value; /* r will be reversed bits of v; first get LSB of v */
993:Drivers/CMSIS/Include/cmsis_gcc.h **** for (value >>= 1U; value != 0U; value >>= 1U)
994:Drivers/CMSIS/Include/cmsis_gcc.h **** {
995:Drivers/CMSIS/Include/cmsis_gcc.h **** result <<= 1U;
996:Drivers/CMSIS/Include/cmsis_gcc.h **** result |= value & 1U;
997:Drivers/CMSIS/Include/cmsis_gcc.h **** s--;
998:Drivers/CMSIS/Include/cmsis_gcc.h **** }
999:Drivers/CMSIS/Include/cmsis_gcc.h **** result <<= s; /* shift when v's highest bits are zero */
1000:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
1001:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
1543 .loc 2 1001 3 view .LVU508
1544 .loc 2 1001 3 is_stmt 0 view .LVU509
1545 .thumb
1546 .syntax unified
1547 .LBE5:
1548 .LBE4:
1444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1549 .loc 1 1444 21 view .LVU510
1550 0014 B1FA81F1 clz r1, r1
1551 .LVL115:
1447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1552 .loc 1 1447 5 is_stmt 1 view .LVU511
1447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1553 .loc 1 1447 22 is_stmt 0 view .LVU512
1554 0018 0368 ldr r3, [r0]
1447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1555 .loc 1 1447 61 view .LVU513
1556 001a 1831 adds r1, r1, #24
1557 .LVL116:
1447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 76
1558 .loc 1 1447 61 view .LVU514
1559 001c 03EB0113 add r3, r3, r1, lsl #4
1560 0020 5868 ldr r0, [r3, #4]
1561 .LVL117:
1447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1562 .loc 1 1447 85 view .LVU515
1563 0022 000C lsrs r0, r0, #16
1564 .LVL118:
1447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1565 .loc 1 1447 85 view .LVU516
1566 0024 7047 bx lr
1567 .cfi_endproc
1568 .LFE144:
1570 .section .text.HAL_CAN_GetRxMessage,"ax",%progbits
1571 .align 1
1572 .global HAL_CAN_GetRxMessage
1573 .syntax unified
1574 .thumb
1575 .thumb_func
1577 HAL_CAN_GetRxMessage:
1578 .LVL119:
1579 .LFB145:
1453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
1455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Get an CAN frame from the Rx FIFO zone into the message RAM.
1456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to an CAN_HandleTypeDef structure that contains
1457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
1458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param RxFifo Fifo number of the received message to be read.
1459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * This parameter can be a value of @arg CAN_receive_FIFO_number.
1460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param pHeader pointer to a CAN_RxHeaderTypeDef structure where the header
1461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * of the Rx frame will be stored.
1462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param aData array where the payload of the Rx frame will be stored.
1463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval HAL status
1464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
1465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_GetRxMessage(CAN_HandleTypeDef *hcan, uint32_t RxFifo,
1466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** CAN_RxHeaderTypeDef *pHeader, uint8_t aData[])
1467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1580 .loc 1 1467 1 is_stmt 1 view -0
1581 .cfi_startproc
1582 @ args = 0, pretend = 0, frame = 0
1583 @ frame_needed = 0, uses_anonymous_args = 0
1584 @ link register save eliminated.
1468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
1585 .loc 1 1468 3 view .LVU518
1586 .loc 1 1468 24 is_stmt 0 view .LVU519
1587 0000 90F820C0 ldrb ip, [r0, #32] @ zero_extendqisi2
1588 .LVL120:
1469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_RX_FIFO(RxFifo));
1589 .loc 1 1470 3 is_stmt 1 view .LVU520
1471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
1590 .loc 1 1472 3 view .LVU521
1591 .loc 1 1472 38 is_stmt 0 view .LVU522
1592 0004 0CF1FF3C add ip, ip, #-1
1593 .LVL121:
1594 .loc 1 1472 38 view .LVU523
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 77
1595 0008 5FFA8CFC uxtb ip, ip
1596 .loc 1 1472 6 view .LVU524
1597 000c BCF1010F cmp ip, #1
1598 0010 00F2A580 bhi .L128
1467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
1599 .loc 1 1467 1 view .LVU525
1600 0014 30B4 push {r4, r5}
1601 .cfi_def_cfa_offset 8
1602 .cfi_offset 4, -8
1603 .cfi_offset 5, -4
1473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
1474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check the Rx FIFO */
1476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (RxFifo == CAN_RX_FIFO0) /* Rx element is assigned to Rx FIFO 0 */
1604 .loc 1 1476 5 is_stmt 1 view .LVU526
1605 .loc 1 1476 8 is_stmt 0 view .LVU527
1606 0016 51B9 cbnz r1, .L129
1477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check that the Rx FIFO 0 is not empty */
1479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((hcan->Instance->RF0R & CAN_RF0R_FMP0) == 0U)
1607 .loc 1 1479 7 is_stmt 1 view .LVU528
1608 .loc 1 1479 16 is_stmt 0 view .LVU529
1609 0018 0468 ldr r4, [r0]
1610 .loc 1 1479 26 view .LVU530
1611 001a E468 ldr r4, [r4, #12]
1612 .loc 1 1479 10 view .LVU531
1613 001c 14F0030F tst r4, #3
1614 0020 10D1 bne .L130
1480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
1482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_PARAM;
1615 .loc 1 1482 9 is_stmt 1 view .LVU532
1616 .loc 1 1482 13 is_stmt 0 view .LVU533
1617 0022 436A ldr r3, [r0, #36]
1618 .LVL122:
1619 .loc 1 1482 25 view .LVU534
1620 0024 43F40013 orr r3, r3, #2097152
1621 0028 4362 str r3, [r0, #36]
1483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
1622 .loc 1 1484 9 is_stmt 1 view .LVU535
1623 .loc 1 1484 16 is_stmt 0 view .LVU536
1624 002a 0120 movs r0, #1
1625 .LVL123:
1626 .loc 1 1484 16 view .LVU537
1627 002c 7EE0 b .L131
1628 .LVL124:
1629 .L129:
1485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else /* Rx element is assigned to Rx FIFO 1 */
1488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check that the Rx FIFO 1 is not empty */
1490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((hcan->Instance->RF1R & CAN_RF1R_FMP1) == 0U)
1630 .loc 1 1490 7 is_stmt 1 view .LVU538
1631 .loc 1 1490 16 is_stmt 0 view .LVU539
1632 002e 0468 ldr r4, [r0]
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 78
1633 .loc 1 1490 26 view .LVU540
1634 0030 2469 ldr r4, [r4, #16]
1635 .loc 1 1490 10 view .LVU541
1636 0032 14F0030F tst r4, #3
1637 0036 05D1 bne .L130
1491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
1493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_PARAM;
1638 .loc 1 1493 9 is_stmt 1 view .LVU542
1639 .loc 1 1493 13 is_stmt 0 view .LVU543
1640 0038 436A ldr r3, [r0, #36]
1641 .LVL125:
1642 .loc 1 1493 25 view .LVU544
1643 003a 43F40013 orr r3, r3, #2097152
1644 003e 4362 str r3, [r0, #36]
1494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
1645 .loc 1 1495 9 is_stmt 1 view .LVU545
1646 .loc 1 1495 16 is_stmt 0 view .LVU546
1647 0040 0120 movs r0, #1
1648 .LVL126:
1649 .loc 1 1495 16 view .LVU547
1650 0042 73E0 b .L131
1651 .LVL127:
1652 .L130:
1496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Get the header */
1500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->IDE = CAN_RI0R_IDE & hcan->Instance->sFIFOMailBox[RxFifo].RIR;
1653 .loc 1 1500 5 is_stmt 1 view .LVU548
1654 .loc 1 1500 39 is_stmt 0 view .LVU549
1655 0044 0568 ldr r5, [r0]
1656 .loc 1 1500 71 view .LVU550
1657 0046 01F11B04 add r4, r1, #27
1658 004a 2401 lsls r4, r4, #4
1659 004c 2C59 ldr r4, [r5, r4]
1660 .loc 1 1500 33 view .LVU551
1661 004e 04F00404 and r4, r4, #4
1662 .loc 1 1500 18 view .LVU552
1663 0052 9460 str r4, [r2, #8]
1501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (pHeader->IDE == CAN_ID_STD)
1664 .loc 1 1501 5 is_stmt 1 view .LVU553
1665 .loc 1 1501 8 is_stmt 0 view .LVU554
1666 0054 002C cmp r4, #0
1667 0056 6BD1 bne .L132
1502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->StdId = (CAN_RI0R_STID & hcan->Instance->sFIFOMailBox[RxFifo].RIR) >> CAN_TI0R_STID_
1668 .loc 1 1503 7 is_stmt 1 view .LVU555
1669 .loc 1 1503 45 is_stmt 0 view .LVU556
1670 0058 0568 ldr r5, [r0]
1671 .loc 1 1503 77 view .LVU557
1672 005a 01F11B04 add r4, r1, #27
1673 005e 2401 lsls r4, r4, #4
1674 0060 2C59 ldr r4, [r5, r4]
1675 .loc 1 1503 83 view .LVU558
1676 0062 640D lsrs r4, r4, #21
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 79
1677 .loc 1 1503 22 view .LVU559
1678 0064 1460 str r4, [r2]
1679 .L133:
1504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
1506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->ExtId = ((CAN_RI0R_EXID | CAN_RI0R_STID) &
1508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->Instance->sFIFOMailBox[RxFifo].RIR) >> CAN_RI0R_EXID_Pos;
1509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->RTR = (CAN_RI0R_RTR & hcan->Instance->sFIFOMailBox[RxFifo].RIR);
1680 .loc 1 1510 5 is_stmt 1 view .LVU560
1681 .loc 1 1510 40 is_stmt 0 view .LVU561
1682 0066 0468 ldr r4, [r0]
1683 .loc 1 1510 72 view .LVU562
1684 0068 01F11B0C add ip, r1, #27
1685 006c 4FEA0C1C lsl ip, ip, #4
1686 0070 54F80C40 ldr r4, [r4, ip]
1687 .loc 1 1510 34 view .LVU563
1688 0074 04F00204 and r4, r4, #2
1689 .loc 1 1510 18 view .LVU564
1690 0078 D460 str r4, [r2, #12]
1511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (((CAN_RDT0R_DLC & hcan->Instance->sFIFOMailBox[RxFifo].RDTR) >> CAN_RDT0R_DLC_Pos) >= 8U)
1691 .loc 1 1511 5 is_stmt 1 view .LVU565
1692 .loc 1 1511 31 is_stmt 0 view .LVU566
1693 007a 0468 ldr r4, [r0]
1694 .loc 1 1511 63 view .LVU567
1695 007c A444 add ip, ip, r4
1696 007e DCF80450 ldr r5, [ip, #4]
1697 .loc 1 1511 8 view .LVU568
1698 0082 15F0080F tst r5, #8
1699 0086 5BD0 beq .L134
1512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Truncate DLC to 8 if received field is over range */
1514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->DLC = 8U;
1700 .loc 1 1514 7 is_stmt 1 view .LVU569
1701 .loc 1 1514 20 is_stmt 0 view .LVU570
1702 0088 0824 movs r4, #8
1703 008a 1461 str r4, [r2, #16]
1704 .L135:
1515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
1517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->DLC = (CAN_RDT0R_DLC & hcan->Instance->sFIFOMailBox[RxFifo].RDTR) >> CAN_RDT0R_DLC_P
1519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->FilterMatchIndex = (CAN_RDT0R_FMI & hcan->Instance->sFIFOMailBox[RxFifo].RDTR) >> CAN_
1705 .loc 1 1520 5 is_stmt 1 view .LVU571
1706 .loc 1 1520 54 is_stmt 0 view .LVU572
1707 008c 0468 ldr r4, [r0]
1708 .loc 1 1520 86 view .LVU573
1709 008e 01F11B0C add ip, r1, #27
1710 0092 04EB0C14 add r4, r4, ip, lsl #4
1711 0096 6468 ldr r4, [r4, #4]
1712 .loc 1 1520 93 view .LVU574
1713 0098 C4F30724 ubfx r4, r4, #8, #8
1714 .loc 1 1520 31 view .LVU575
1715 009c 9461 str r4, [r2, #24]
1521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** pHeader->Timestamp = (CAN_RDT0R_TIME & hcan->Instance->sFIFOMailBox[RxFifo].RDTR) >> CAN_RDT0R_
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 80
1716 .loc 1 1521 5 is_stmt 1 view .LVU576
1717 .loc 1 1521 48 is_stmt 0 view .LVU577
1718 009e 0468 ldr r4, [r0]
1719 .loc 1 1521 80 view .LVU578
1720 00a0 04EB0C14 add r4, r4, ip, lsl #4
1721 00a4 6468 ldr r4, [r4, #4]
1722 .loc 1 1521 87 view .LVU579
1723 00a6 240C lsrs r4, r4, #16
1724 .loc 1 1521 24 view .LVU580
1725 00a8 5461 str r4, [r2, #20]
1522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Get the data */
1524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** aData[0] = (uint8_t)((CAN_RDL0R_DATA0 & hcan->Instance->sFIFOMailBox[RxFifo].RDLR) >> CAN_RDL0R
1726 .loc 1 1524 5 is_stmt 1 view .LVU581
1727 .loc 1 1524 49 is_stmt 0 view .LVU582
1728 00aa 0268 ldr r2, [r0]
1729 .LVL128:
1730 .loc 1 1524 81 view .LVU583
1731 00ac 02EB0112 add r2, r2, r1, lsl #4
1732 00b0 D2F8B821 ldr r2, [r2, #440]
1733 .loc 1 1524 14 view .LVU584
1734 00b4 1A70 strb r2, [r3]
1525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** aData[1] = (uint8_t)((CAN_RDL0R_DATA1 & hcan->Instance->sFIFOMailBox[RxFifo].RDLR) >> CAN_RDL0R
1735 .loc 1 1525 5 is_stmt 1 view .LVU585
1736 .loc 1 1525 49 is_stmt 0 view .LVU586
1737 00b6 0268 ldr r2, [r0]
1738 .loc 1 1525 81 view .LVU587
1739 00b8 02EB0112 add r2, r2, r1, lsl #4
1740 00bc D2F8B821 ldr r2, [r2, #440]
1741 .loc 1 1525 16 view .LVU588
1742 00c0 C2F30722 ubfx r2, r2, #8, #8
1743 .loc 1 1525 14 view .LVU589
1744 00c4 5A70 strb r2, [r3, #1]
1526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** aData[2] = (uint8_t)((CAN_RDL0R_DATA2 & hcan->Instance->sFIFOMailBox[RxFifo].RDLR) >> CAN_RDL0R
1745 .loc 1 1526 5 is_stmt 1 view .LVU590
1746 .loc 1 1526 49 is_stmt 0 view .LVU591
1747 00c6 0268 ldr r2, [r0]
1748 .loc 1 1526 81 view .LVU592
1749 00c8 02EB0112 add r2, r2, r1, lsl #4
1750 00cc D2F8B821 ldr r2, [r2, #440]
1751 .loc 1 1526 16 view .LVU593
1752 00d0 C2F30742 ubfx r2, r2, #16, #8
1753 .loc 1 1526 14 view .LVU594
1754 00d4 9A70 strb r2, [r3, #2]
1527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** aData[3] = (uint8_t)((CAN_RDL0R_DATA3 & hcan->Instance->sFIFOMailBox[RxFifo].RDLR) >> CAN_RDL0R
1755 .loc 1 1527 5 is_stmt 1 view .LVU595
1756 .loc 1 1527 49 is_stmt 0 view .LVU596
1757 00d6 0268 ldr r2, [r0]
1758 .loc 1 1527 81 view .LVU597
1759 00d8 02EB0112 add r2, r2, r1, lsl #4
1760 00dc D2F8B821 ldr r2, [r2, #440]
1761 .loc 1 1527 16 view .LVU598
1762 00e0 120E lsrs r2, r2, #24
1763 .loc 1 1527 14 view .LVU599
1764 00e2 DA70 strb r2, [r3, #3]
1528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** aData[4] = (uint8_t)((CAN_RDH0R_DATA4 & hcan->Instance->sFIFOMailBox[RxFifo].RDHR) >> CAN_RDH0R
1765 .loc 1 1528 5 is_stmt 1 view .LVU600
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 81
1766 .loc 1 1528 49 is_stmt 0 view .LVU601
1767 00e4 0268 ldr r2, [r0]
1768 .loc 1 1528 81 view .LVU602
1769 00e6 02EB0112 add r2, r2, r1, lsl #4
1770 00ea D2F8BC21 ldr r2, [r2, #444]
1771 .loc 1 1528 14 view .LVU603
1772 00ee 1A71 strb r2, [r3, #4]
1529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** aData[5] = (uint8_t)((CAN_RDH0R_DATA5 & hcan->Instance->sFIFOMailBox[RxFifo].RDHR) >> CAN_RDH0R
1773 .loc 1 1529 5 is_stmt 1 view .LVU604
1774 .loc 1 1529 49 is_stmt 0 view .LVU605
1775 00f0 0268 ldr r2, [r0]
1776 .loc 1 1529 81 view .LVU606
1777 00f2 02EB0112 add r2, r2, r1, lsl #4
1778 00f6 D2F8BC21 ldr r2, [r2, #444]
1779 .loc 1 1529 16 view .LVU607
1780 00fa C2F30722 ubfx r2, r2, #8, #8
1781 .loc 1 1529 14 view .LVU608
1782 00fe 5A71 strb r2, [r3, #5]
1530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** aData[6] = (uint8_t)((CAN_RDH0R_DATA6 & hcan->Instance->sFIFOMailBox[RxFifo].RDHR) >> CAN_RDH0R
1783 .loc 1 1530 5 is_stmt 1 view .LVU609
1784 .loc 1 1530 49 is_stmt 0 view .LVU610
1785 0100 0268 ldr r2, [r0]
1786 .loc 1 1530 81 view .LVU611
1787 0102 02EB0112 add r2, r2, r1, lsl #4
1788 0106 D2F8BC21 ldr r2, [r2, #444]
1789 .loc 1 1530 16 view .LVU612
1790 010a C2F30742 ubfx r2, r2, #16, #8
1791 .loc 1 1530 14 view .LVU613
1792 010e 9A71 strb r2, [r3, #6]
1531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** aData[7] = (uint8_t)((CAN_RDH0R_DATA7 & hcan->Instance->sFIFOMailBox[RxFifo].RDHR) >> CAN_RDH0R
1793 .loc 1 1531 5 is_stmt 1 view .LVU614
1794 .loc 1 1531 49 is_stmt 0 view .LVU615
1795 0110 0268 ldr r2, [r0]
1796 .loc 1 1531 81 view .LVU616
1797 0112 02EB0112 add r2, r2, r1, lsl #4
1798 0116 D2F8BC21 ldr r2, [r2, #444]
1799 .loc 1 1531 16 view .LVU617
1800 011a 120E lsrs r2, r2, #24
1801 .loc 1 1531 14 view .LVU618
1802 011c DA71 strb r2, [r3, #7]
1532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Release the FIFO */
1534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (RxFifo == CAN_RX_FIFO0) /* Rx element is assigned to Rx FIFO 0 */
1803 .loc 1 1534 5 is_stmt 1 view .LVU619
1804 .loc 1 1534 8 is_stmt 0 view .LVU620
1805 011e C1B9 cbnz r1, .L136
1535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Release RX FIFO 0 */
1537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(hcan->Instance->RF0R, CAN_RF0R_RFOM0);
1806 .loc 1 1537 7 is_stmt 1 view .LVU621
1807 0120 0268 ldr r2, [r0]
1808 0122 D368 ldr r3, [r2, #12]
1809 .LVL129:
1810 .loc 1 1537 7 is_stmt 0 view .LVU622
1811 0124 43F02003 orr r3, r3, #32
1812 0128 D360 str r3, [r2, #12]
1813 .L137:
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 82
1538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else /* Rx element is assigned to Rx FIFO 1 */
1540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Release RX FIFO 1 */
1542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** SET_BIT(hcan->Instance->RF1R, CAN_RF1R_RFOM1);
1543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return function status */
1546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_OK;
1814 .loc 1 1546 5 is_stmt 1 view .LVU623
1815 .loc 1 1546 12 is_stmt 0 view .LVU624
1816 012a 0020 movs r0, #0
1817 .LVL130:
1818 .L131:
1547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
1549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
1551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_NOT_INITIALIZED;
1552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
1554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1819 .loc 1 1555 1 view .LVU625
1820 012c 30BC pop {r4, r5}
1821 .cfi_remember_state
1822 .cfi_restore 5
1823 .cfi_restore 4
1824 .cfi_def_cfa_offset 0
1825 012e 7047 bx lr
1826 .LVL131:
1827 .L132:
1828 .cfi_restore_state
1507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->Instance->sFIFOMailBox[RxFifo].RIR) >> CAN_RI0R_EXID_Pos;
1829 .loc 1 1507 7 is_stmt 1 view .LVU626
1508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1830 .loc 1 1508 29 is_stmt 0 view .LVU627
1831 0130 0568 ldr r5, [r0]
1508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1832 .loc 1 1508 61 view .LVU628
1833 0132 01F11B04 add r4, r1, #27
1834 0136 2401 lsls r4, r4, #4
1835 0138 2C59 ldr r4, [r5, r4]
1508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1836 .loc 1 1508 67 view .LVU629
1837 013a E408 lsrs r4, r4, #3
1507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->Instance->sFIFOMailBox[RxFifo].RIR) >> CAN_RI0R_EXID_Pos;
1838 .loc 1 1507 22 view .LVU630
1839 013c 5460 str r4, [r2, #4]
1840 013e 92E7 b .L133
1841 .L134:
1518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1842 .loc 1 1518 7 is_stmt 1 view .LVU631
1518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1843 .loc 1 1518 75 is_stmt 0 view .LVU632
1844 0140 01F11B05 add r5, r1, #27
1845 0144 04EB0514 add r4, r4, r5, lsl #4
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 83
1846 0148 6468 ldr r4, [r4, #4]
1518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1847 .loc 1 1518 82 view .LVU633
1848 014a 04F00F04 and r4, r4, #15
1518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1849 .loc 1 1518 20 view .LVU634
1850 014e 1461 str r4, [r2, #16]
1851 0150 9CE7 b .L135
1852 .LVL132:
1853 .L136:
1542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1854 .loc 1 1542 7 is_stmt 1 view .LVU635
1855 0152 0268 ldr r2, [r0]
1856 0154 1369 ldr r3, [r2, #16]
1857 .LVL133:
1542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1858 .loc 1 1542 7 is_stmt 0 view .LVU636
1859 0156 43F02003 orr r3, r3, #32
1860 015a 1361 str r3, [r2, #16]
1861 015c E5E7 b .L137
1862 .LVL134:
1863 .L128:
1864 .cfi_def_cfa_offset 0
1865 .cfi_restore 4
1866 .cfi_restore 5
1551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1867 .loc 1 1551 5 is_stmt 1 view .LVU637
1551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1868 .loc 1 1551 9 is_stmt 0 view .LVU638
1869 015e 436A ldr r3, [r0, #36]
1870 .LVL135:
1551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1871 .loc 1 1551 21 view .LVU639
1872 0160 43F48023 orr r3, r3, #262144
1873 0164 4362 str r3, [r0, #36]
1553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1874 .loc 1 1553 5 is_stmt 1 view .LVU640
1553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1875 .loc 1 1553 12 is_stmt 0 view .LVU641
1876 0166 0120 movs r0, #1
1877 .LVL136:
1878 .loc 1 1555 1 view .LVU642
1879 0168 7047 bx lr
1880 .cfi_endproc
1881 .LFE145:
1883 .section .text.HAL_CAN_GetRxFifoFillLevel,"ax",%progbits
1884 .align 1
1885 .global HAL_CAN_GetRxFifoFillLevel
1886 .syntax unified
1887 .thumb
1888 .thumb_func
1890 HAL_CAN_GetRxFifoFillLevel:
1891 .LVL137:
1892 .LFB146:
1556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
1558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Return Rx FIFO fill level.
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 84
1559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to an CAN_HandleTypeDef structure that contains
1560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
1561:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param RxFifo Rx FIFO.
1562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * This parameter can be a value of @arg CAN_receive_FIFO_number.
1563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval Number of messages available in Rx FIFO.
1564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
1565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t HAL_CAN_GetRxFifoFillLevel(const CAN_HandleTypeDef *hcan, uint32_t RxFifo)
1566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1893 .loc 1 1566 1 is_stmt 1 view -0
1894 .cfi_startproc
1895 @ args = 0, pretend = 0, frame = 0
1896 @ frame_needed = 0, uses_anonymous_args = 0
1897 @ link register save eliminated.
1567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t filllevel = 0U;
1898 .loc 1 1567 3 view .LVU644
1568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
1899 .loc 1 1568 3 view .LVU645
1900 .loc 1 1568 24 is_stmt 0 view .LVU646
1901 0000 90F82030 ldrb r3, [r0, #32] @ zero_extendqisi2
1902 .LVL138:
1569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check function parameters */
1571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_RX_FIFO(RxFifo));
1903 .loc 1 1571 3 is_stmt 1 view .LVU647
1572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
1904 .loc 1 1573 3 view .LVU648
1905 .loc 1 1573 38 is_stmt 0 view .LVU649
1906 0004 013B subs r3, r3, #1
1907 .LVL139:
1908 .loc 1 1573 38 view .LVU650
1909 0006 DBB2 uxtb r3, r3
1910 .loc 1 1573 6 view .LVU651
1911 0008 012B cmp r3, #1
1912 000a 01D9 bls .L146
1567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
1913 .loc 1 1567 12 view .LVU652
1914 000c 0020 movs r0, #0
1915 .LVL140:
1574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
1575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (RxFifo == CAN_RX_FIFO0)
1577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** filllevel = hcan->Instance->RF0R & CAN_RF0R_FMP0;
1579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else /* RxFifo == CAN_RX_FIFO1 */
1581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** filllevel = hcan->Instance->RF1R & CAN_RF1R_FMP1;
1583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return Rx FIFO fill level */
1587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return filllevel;
1916 .loc 1 1587 3 is_stmt 1 view .LVU653
1588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1917 .loc 1 1588 1 is_stmt 0 view .LVU654
1918 000e 7047 bx lr
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 85
1919 .LVL141:
1920 .L146:
1576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1921 .loc 1 1576 5 is_stmt 1 view .LVU655
1576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1922 .loc 1 1576 8 is_stmt 0 view .LVU656
1923 0010 21B9 cbnz r1, .L144
1578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1924 .loc 1 1578 7 is_stmt 1 view .LVU657
1578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1925 .loc 1 1578 23 is_stmt 0 view .LVU658
1926 0012 0368 ldr r3, [r0]
1578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1927 .loc 1 1578 33 view .LVU659
1928 0014 D868 ldr r0, [r3, #12]
1929 .LVL142:
1578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1930 .loc 1 1578 17 view .LVU660
1931 0016 00F00300 and r0, r0, #3
1932 .LVL143:
1578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1933 .loc 1 1578 17 view .LVU661
1934 001a 7047 bx lr
1935 .LVL144:
1936 .L144:
1582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1937 .loc 1 1582 7 is_stmt 1 view .LVU662
1582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1938 .loc 1 1582 23 is_stmt 0 view .LVU663
1939 001c 0368 ldr r3, [r0]
1582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1940 .loc 1 1582 33 view .LVU664
1941 001e 1869 ldr r0, [r3, #16]
1942 .LVL145:
1582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1943 .loc 1 1582 17 view .LVU665
1944 0020 00F00300 and r0, r0, #3
1945 .LVL146:
1582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1946 .loc 1 1582 17 view .LVU666
1947 0024 7047 bx lr
1948 .cfi_endproc
1949 .LFE146:
1951 .section .text.HAL_CAN_ActivateNotification,"ax",%progbits
1952 .align 1
1953 .global HAL_CAN_ActivateNotification
1954 .syntax unified
1955 .thumb
1956 .thumb_func
1958 HAL_CAN_ActivateNotification:
1959 .LVL147:
1960 .LFB147:
1589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
1591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @}
1592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
1593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 86
1594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /** @defgroup CAN_Exported_Functions_Group4 Interrupts management
1595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Interrupts management
1596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** *
1597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** @verbatim
1598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ==============================================================================
1599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ##### Interrupts management #####
1600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ==============================================================================
1601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** [..] This section provides functions allowing to:
1602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_ActivateNotification : Enable interrupts
1603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_DeactivateNotification : Disable interrupts
1604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_IRQHandler : Handles CAN interrupt request
1605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** @endverbatim
1607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @{
1608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
1609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
1611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Enable interrupts.
1612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to an CAN_HandleTypeDef structure that contains
1613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
1614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param ActiveITs indicates which interrupts will be enabled.
1615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * This parameter can be any combination of @arg CAN_Interrupts.
1616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval HAL status
1617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
1618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_ActivateNotification(CAN_HandleTypeDef *hcan, uint32_t ActiveITs)
1619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1961 .loc 1 1619 1 is_stmt 1 view -0
1962 .cfi_startproc
1963 @ args = 0, pretend = 0, frame = 0
1964 @ frame_needed = 0, uses_anonymous_args = 0
1965 @ link register save eliminated.
1620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
1966 .loc 1 1620 3 view .LVU668
1967 .loc 1 1620 24 is_stmt 0 view .LVU669
1968 0000 90F82030 ldrb r3, [r0, #32] @ zero_extendqisi2
1969 .LVL148:
1621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check function parameters */
1623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_IT(ActiveITs));
1970 .loc 1 1623 3 is_stmt 1 view .LVU670
1624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
1971 .loc 1 1625 3 view .LVU671
1972 .loc 1 1625 38 is_stmt 0 view .LVU672
1973 0004 013B subs r3, r3, #1
1974 .LVL149:
1975 .loc 1 1625 38 view .LVU673
1976 0006 DBB2 uxtb r3, r3
1977 .loc 1 1625 6 view .LVU674
1978 0008 012B cmp r3, #1
1979 000a 05D9 bls .L150
1626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
1627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Enable the selected interrupts */
1629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __HAL_CAN_ENABLE_IT(hcan, ActiveITs);
1630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return function status */
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 87
1632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_OK;
1633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
1635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
1637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_NOT_INITIALIZED;
1980 .loc 1 1637 5 is_stmt 1 view .LVU675
1981 .loc 1 1637 9 is_stmt 0 view .LVU676
1982 000c 436A ldr r3, [r0, #36]
1983 .loc 1 1637 21 view .LVU677
1984 000e 43F48023 orr r3, r3, #262144
1985 0012 4362 str r3, [r0, #36]
1638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
1986 .loc 1 1639 5 is_stmt 1 view .LVU678
1987 .loc 1 1639 12 is_stmt 0 view .LVU679
1988 0014 0120 movs r0, #1
1989 .LVL150:
1640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1990 .loc 1 1641 1 view .LVU680
1991 0016 7047 bx lr
1992 .LVL151:
1993 .L150:
1629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1994 .loc 1 1629 5 is_stmt 1 view .LVU681
1995 0018 0268 ldr r2, [r0]
1996 001a 5369 ldr r3, [r2, #20]
1997 001c 0B43 orrs r3, r3, r1
1998 001e 5361 str r3, [r2, #20]
1632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1999 .loc 1 1632 5 view .LVU682
1632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
2000 .loc 1 1632 12 is_stmt 0 view .LVU683
2001 0020 0020 movs r0, #0
2002 .LVL152:
1632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
2003 .loc 1 1632 12 view .LVU684
2004 0022 7047 bx lr
2005 .cfi_endproc
2006 .LFE147:
2008 .section .text.HAL_CAN_DeactivateNotification,"ax",%progbits
2009 .align 1
2010 .global HAL_CAN_DeactivateNotification
2011 .syntax unified
2012 .thumb
2013 .thumb_func
2015 HAL_CAN_DeactivateNotification:
2016 .LVL153:
2017 .LFB148:
1642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
1644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Disable interrupts.
1645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to an CAN_HandleTypeDef structure that contains
1646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
1647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param InactiveITs indicates which interrupts will be disabled.
1648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * This parameter can be any combination of @arg CAN_Interrupts.
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 88
1649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval HAL status
1650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
1651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_DeactivateNotification(CAN_HandleTypeDef *hcan, uint32_t InactiveITs)
1652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2018 .loc 1 1652 1 is_stmt 1 view -0
2019 .cfi_startproc
2020 @ args = 0, pretend = 0, frame = 0
2021 @ frame_needed = 0, uses_anonymous_args = 0
2022 @ link register save eliminated.
1653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
2023 .loc 1 1653 3 view .LVU686
2024 .loc 1 1653 24 is_stmt 0 view .LVU687
2025 0000 90F82030 ldrb r3, [r0, #32] @ zero_extendqisi2
2026 .LVL154:
1654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check function parameters */
1656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** assert_param(IS_CAN_IT(InactiveITs));
2027 .loc 1 1656 3 is_stmt 1 view .LVU688
1657:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
2028 .loc 1 1658 3 view .LVU689
2029 .loc 1 1658 38 is_stmt 0 view .LVU690
2030 0004 013B subs r3, r3, #1
2031 .LVL155:
2032 .loc 1 1658 38 view .LVU691
2033 0006 DBB2 uxtb r3, r3
2034 .loc 1 1658 6 view .LVU692
2035 0008 012B cmp r3, #1
2036 000a 05D9 bls .L154
1659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
1660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Disable the selected interrupts */
1662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __HAL_CAN_DISABLE_IT(hcan, InactiveITs);
1663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return function status */
1665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_OK;
1666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
1668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
1670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_NOT_INITIALIZED;
2037 .loc 1 1670 5 is_stmt 1 view .LVU693
2038 .loc 1 1670 9 is_stmt 0 view .LVU694
2039 000c 436A ldr r3, [r0, #36]
2040 .loc 1 1670 21 view .LVU695
2041 000e 43F48023 orr r3, r3, #262144
2042 0012 4362 str r3, [r0, #36]
1671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return HAL_ERROR;
2043 .loc 1 1672 5 is_stmt 1 view .LVU696
2044 .loc 1 1672 12 is_stmt 0 view .LVU697
2045 0014 0120 movs r0, #1
2046 .LVL156:
1673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
2047 .loc 1 1674 1 view .LVU698
2048 0016 7047 bx lr
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 89
2049 .LVL157:
2050 .L154:
1662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
2051 .loc 1 1662 5 is_stmt 1 view .LVU699
2052 0018 0268 ldr r2, [r0]
2053 001a 5369 ldr r3, [r2, #20]
2054 001c 23EA0103 bic r3, r3, r1
2055 0020 5361 str r3, [r2, #20]
1665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
2056 .loc 1 1665 5 view .LVU700
1665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
2057 .loc 1 1665 12 is_stmt 0 view .LVU701
2058 0022 0020 movs r0, #0
2059 .LVL158:
1665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
2060 .loc 1 1665 12 view .LVU702
2061 0024 7047 bx lr
2062 .cfi_endproc
2063 .LFE148:
2065 .section .text.HAL_CAN_TxMailbox0CompleteCallback,"ax",%progbits
2066 .align 1
2067 .weak HAL_CAN_TxMailbox0CompleteCallback
2068 .syntax unified
2069 .thumb
2070 .thumb_func
2072 HAL_CAN_TxMailbox0CompleteCallback:
2073 .LVL159:
2074 .LFB150:
1675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
1677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Handles CAN interrupt request
1678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
1679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
1680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval None
1681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
1682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** void HAL_CAN_IRQHandler(CAN_HandleTypeDef *hcan)
1683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t errorcode = HAL_CAN_ERROR_NONE;
1685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t interrupts = READ_REG(hcan->Instance->IER);
1686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t msrflags = READ_REG(hcan->Instance->MSR);
1687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t tsrflags = READ_REG(hcan->Instance->TSR);
1688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t rf0rflags = READ_REG(hcan->Instance->RF0R);
1689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t rf1rflags = READ_REG(hcan->Instance->RF1R);
1690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t esrflags = READ_REG(hcan->Instance->ESR);
1691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Transmit Mailbox empty interrupt management *****************************/
1693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((interrupts & CAN_IT_TX_MAILBOX_EMPTY) != 0U)
1694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Transmit Mailbox 0 management *****************************************/
1696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((tsrflags & CAN_TSR_RQCP0) != 0U)
1697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Clear the Transmission Complete flag (and TXOK0,ALST0,TERR0 bits) */
1699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __HAL_CAN_CLEAR_FLAG(hcan, CAN_FLAG_RQCP0);
1700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((tsrflags & CAN_TSR_TXOK0) != 0U)
1702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1703:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Transmission Mailbox 0 complete callback */
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 90
1704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
1705:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call registered callback*/
1706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox0CompleteCallback(hcan);
1707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #else
1708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call weak (surcharged) callback */
1709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_TxMailbox0CompleteCallback(hcan);
1710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
1711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
1713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((tsrflags & CAN_TSR_ALST0) != 0U)
1715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
1717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_TX_ALST0;
1718:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else if ((tsrflags & CAN_TSR_TERR0) != 0U)
1720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
1722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_TX_TERR0;
1723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
1725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Transmission Mailbox 0 abort callback */
1727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
1728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call registered callback*/
1729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox0AbortCallback(hcan);
1730:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #else
1731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call weak (surcharged) callback */
1732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_TxMailbox0AbortCallback(hcan);
1733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
1734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Transmit Mailbox 1 management *****************************************/
1739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((tsrflags & CAN_TSR_RQCP1) != 0U)
1740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Clear the Transmission Complete flag (and TXOK1,ALST1,TERR1 bits) */
1742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __HAL_CAN_CLEAR_FLAG(hcan, CAN_FLAG_RQCP1);
1743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((tsrflags & CAN_TSR_TXOK1) != 0U)
1745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Transmission Mailbox 1 complete callback */
1747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
1748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call registered callback*/
1749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox1CompleteCallback(hcan);
1750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #else
1751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call weak (surcharged) callback */
1752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_TxMailbox1CompleteCallback(hcan);
1753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
1754:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
1756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((tsrflags & CAN_TSR_ALST1) != 0U)
1758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
1760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_TX_ALST1;
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 91
1761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else if ((tsrflags & CAN_TSR_TERR1) != 0U)
1763:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
1765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_TX_TERR1;
1766:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
1768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Transmission Mailbox 1 abort callback */
1770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
1771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call registered callback*/
1772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox1AbortCallback(hcan);
1773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #else
1774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call weak (surcharged) callback */
1775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_TxMailbox1AbortCallback(hcan);
1776:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
1777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Transmit Mailbox 2 management *****************************************/
1782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((tsrflags & CAN_TSR_RQCP2) != 0U)
1783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Clear the Transmission Complete flag (and TXOK2,ALST2,TERR2 bits) */
1785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __HAL_CAN_CLEAR_FLAG(hcan, CAN_FLAG_RQCP2);
1786:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((tsrflags & CAN_TSR_TXOK2) != 0U)
1788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Transmission Mailbox 2 complete callback */
1790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
1791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call registered callback*/
1792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox2CompleteCallback(hcan);
1793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #else
1794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call weak (surcharged) callback */
1795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_TxMailbox2CompleteCallback(hcan);
1796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
1797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
1799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((tsrflags & CAN_TSR_ALST2) != 0U)
1801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
1803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_TX_ALST2;
1804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else if ((tsrflags & CAN_TSR_TERR2) != 0U)
1806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
1808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_TX_TERR2;
1809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
1811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1812:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Transmission Mailbox 2 abort callback */
1813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
1814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call registered callback*/
1815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->TxMailbox2AbortCallback(hcan);
1816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #else
1817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call weak (surcharged) callback */
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 92
1818:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_TxMailbox2AbortCallback(hcan);
1819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
1820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Receive FIFO 0 overrun interrupt management *****************************/
1826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((interrupts & CAN_IT_RX_FIFO0_OVERRUN) != 0U)
1827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((rf0rflags & CAN_RF0R_FOVR0) != 0U)
1829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set CAN error code to Rx Fifo 0 overrun error */
1831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_RX_FOV0;
1832:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Clear FIFO0 Overrun Flag */
1834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __HAL_CAN_CLEAR_FLAG(hcan, CAN_FLAG_FOV0);
1835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Receive FIFO 0 full interrupt management ********************************/
1839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((interrupts & CAN_IT_RX_FIFO0_FULL) != 0U)
1840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((rf0rflags & CAN_RF0R_FULL0) != 0U)
1842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Clear FIFO 0 full Flag */
1844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __HAL_CAN_CLEAR_FLAG(hcan, CAN_FLAG_FF0);
1845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Receive FIFO 0 full Callback */
1847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
1848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call registered callback*/
1849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->RxFifo0FullCallback(hcan);
1850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #else
1851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call weak (surcharged) callback */
1852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_RxFifo0FullCallback(hcan);
1853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
1854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Receive FIFO 0 message pending interrupt management *********************/
1858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((interrupts & CAN_IT_RX_FIFO0_MSG_PENDING) != 0U)
1859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check if message is still pending */
1861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((hcan->Instance->RF0R & CAN_RF0R_FMP0) != 0U)
1862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Receive FIFO 0 message pending Callback */
1864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
1865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call registered callback*/
1866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->RxFifo0MsgPendingCallback(hcan);
1867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #else
1868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call weak (surcharged) callback */
1869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_RxFifo0MsgPendingCallback(hcan);
1870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
1871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Receive FIFO 1 overrun interrupt management *****************************/
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 93
1875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((interrupts & CAN_IT_RX_FIFO1_OVERRUN) != 0U)
1876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((rf1rflags & CAN_RF1R_FOVR1) != 0U)
1878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set CAN error code to Rx Fifo 1 overrun error */
1880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_RX_FOV1;
1881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Clear FIFO1 Overrun Flag */
1883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __HAL_CAN_CLEAR_FLAG(hcan, CAN_FLAG_FOV1);
1884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Receive FIFO 1 full interrupt management ********************************/
1888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((interrupts & CAN_IT_RX_FIFO1_FULL) != 0U)
1889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((rf1rflags & CAN_RF1R_FULL1) != 0U)
1891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Clear FIFO 1 full Flag */
1893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __HAL_CAN_CLEAR_FLAG(hcan, CAN_FLAG_FF1);
1894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Receive FIFO 1 full Callback */
1896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
1897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call registered callback*/
1898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->RxFifo1FullCallback(hcan);
1899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #else
1900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call weak (surcharged) callback */
1901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_RxFifo1FullCallback(hcan);
1902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
1903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1906:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Receive FIFO 1 message pending interrupt management *********************/
1907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((interrupts & CAN_IT_RX_FIFO1_MSG_PENDING) != 0U)
1908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check if message is still pending */
1910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((hcan->Instance->RF1R & CAN_RF1R_FMP1) != 0U)
1911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Receive FIFO 1 message pending Callback */
1913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
1914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call registered callback*/
1915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->RxFifo1MsgPendingCallback(hcan);
1916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #else
1917:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call weak (surcharged) callback */
1918:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_RxFifo1MsgPendingCallback(hcan);
1919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
1920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Sleep interrupt management *********************************************/
1924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((interrupts & CAN_IT_SLEEP_ACK) != 0U)
1925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((msrflags & CAN_MSR_SLAKI) != 0U)
1927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Clear Sleep interrupt Flag */
1929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __HAL_CAN_CLEAR_FLAG(hcan, CAN_FLAG_SLAKI);
1930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Sleep Callback */
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 94
1932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
1933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call registered callback*/
1934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->SleepCallback(hcan);
1935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #else
1936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call weak (surcharged) callback */
1937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_SleepCallback(hcan);
1938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
1939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* WakeUp interrupt management *********************************************/
1943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((interrupts & CAN_IT_WAKEUP) != 0U)
1944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((msrflags & CAN_MSR_WKUI) != 0U)
1946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Clear WakeUp Flag */
1948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __HAL_CAN_CLEAR_FLAG(hcan, CAN_FLAG_WKU);
1949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* WakeUp Callback */
1951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
1952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call registered callback*/
1953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->WakeUpFromRxMsgCallback(hcan);
1954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #else
1955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call weak (surcharged) callback */
1956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_WakeUpFromRxMsgCallback(hcan);
1957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
1958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Error interrupts management *********************************************/
1962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((interrupts & CAN_IT_ERROR) != 0U)
1963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((msrflags & CAN_MSR_ERRI) != 0U)
1965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check Error Warning Flag */
1967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (((interrupts & CAN_IT_ERROR_WARNING) != 0U) &&
1968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((esrflags & CAN_ESR_EWGF) != 0U))
1969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set CAN error code to Error Warning */
1971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_EWG;
1972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* No need for clear of Error Warning Flag as read-only */
1974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check Error Passive Flag */
1977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (((interrupts & CAN_IT_ERROR_PASSIVE) != 0U) &&
1978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((esrflags & CAN_ESR_EPVF) != 0U))
1979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set CAN error code to Error Passive */
1981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_EPV;
1982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* No need for clear of Error Passive Flag as read-only */
1984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check Bus-off Flag */
1987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (((interrupts & CAN_IT_BUSOFF) != 0U) &&
1988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((esrflags & CAN_ESR_BOFF) != 0U))
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 95
1989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set CAN error code to Bus-Off */
1991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_BOF;
1992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* No need for clear of Error Bus-Off as read-only */
1994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
1995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
1996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check Last Error Code Flag */
1997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (((interrupts & CAN_IT_LAST_ERROR_CODE) != 0U) &&
1998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((esrflags & CAN_ESR_LEC) != 0U))
1999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** switch (esrflags & CAN_ESR_LEC)
2001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case (CAN_ESR_LEC_0):
2003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set CAN error code to Stuff error */
2004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_STF;
2005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
2006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case (CAN_ESR_LEC_1):
2007:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set CAN error code to Form error */
2008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_FOR;
2009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
2010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case (CAN_ESR_LEC_1 | CAN_ESR_LEC_0):
2011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set CAN error code to Acknowledgement error */
2012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_ACK;
2013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
2014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case (CAN_ESR_LEC_2):
2015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set CAN error code to Bit recessive error */
2016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_BR;
2017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
2018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case (CAN_ESR_LEC_2 | CAN_ESR_LEC_0):
2019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set CAN error code to Bit Dominant error */
2020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_BD;
2021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
2022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case (CAN_ESR_LEC_2 | CAN_ESR_LEC_1):
2023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Set CAN error code to CRC error */
2024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** errorcode |= HAL_CAN_ERROR_CRC;
2025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
2026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** default:
2027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
2028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
2029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
2030:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Clear Last error code Flag */
2031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** CLEAR_BIT(hcan->Instance->ESR, CAN_ESR_LEC);
2032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
2033:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
2034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
2035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Clear ERRI Flag */
2036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __HAL_CAN_CLEAR_FLAG(hcan, CAN_FLAG_ERRI);
2037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
2038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
2039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call the Error call Back in case of Errors */
2040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if (errorcode != HAL_CAN_ERROR_NONE)
2041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code in handle */
2043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= errorcode;
2044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
2045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call Error callback function */
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 96
2046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
2047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call registered callback*/
2048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCallback(hcan);
2049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #else
2050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Call weak (surcharged) callback */
2051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_ErrorCallback(hcan);
2052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
2053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
2054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
2055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
2056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
2057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @}
2058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
2059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
2060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /** @defgroup CAN_Exported_Functions_Group5 Callback functions
2061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief CAN Callback functions
2062:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** *
2063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** @verbatim
2064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ==============================================================================
2065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ##### Callback functions #####
2066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ==============================================================================
2067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** [..]
2068:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** This subsection provides the following callback functions:
2069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_TxMailbox0CompleteCallback
2070:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_TxMailbox1CompleteCallback
2071:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_TxMailbox2CompleteCallback
2072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_TxMailbox0AbortCallback
2073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_TxMailbox1AbortCallback
2074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_TxMailbox2AbortCallback
2075:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_RxFifo0MsgPendingCallback
2076:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_RxFifo0FullCallback
2077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_RxFifo1MsgPendingCallback
2078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_RxFifo1FullCallback
2079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_SleepCallback
2080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_WakeUpFromRxMsgCallback
2081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_ErrorCallback
2082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
2083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** @endverbatim
2084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @{
2085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
2086:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
2087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
2088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Transmission Mailbox 0 complete callback.
2089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
2090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
2091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval None
2092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
2093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __weak void HAL_CAN_TxMailbox0CompleteCallback(CAN_HandleTypeDef *hcan)
2094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2075 .loc 1 2094 1 is_stmt 1 view -0
2076 .cfi_startproc
2077 @ args = 0, pretend = 0, frame = 0
2078 @ frame_needed = 0, uses_anonymous_args = 0
2079 @ link register save eliminated.
2095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
2096:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** UNUSED(hcan);
2080 .loc 1 2096 3 view .LVU704
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 97
2097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
2098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
2099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** the HAL_CAN_TxMailbox0CompleteCallback could be implemented in the
2100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** user file
2101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
2102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
2081 .loc 1 2102 1 is_stmt 0 view .LVU705
2082 0000 7047 bx lr
2083 .cfi_endproc
2084 .LFE150:
2086 .section .text.HAL_CAN_TxMailbox1CompleteCallback,"ax",%progbits
2087 .align 1
2088 .weak HAL_CAN_TxMailbox1CompleteCallback
2089 .syntax unified
2090 .thumb
2091 .thumb_func
2093 HAL_CAN_TxMailbox1CompleteCallback:
2094 .LVL160:
2095 .LFB151:
2103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
2104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
2105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Transmission Mailbox 1 complete callback.
2106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
2107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
2108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval None
2109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
2110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __weak void HAL_CAN_TxMailbox1CompleteCallback(CAN_HandleTypeDef *hcan)
2111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2096 .loc 1 2111 1 is_stmt 1 view -0
2097 .cfi_startproc
2098 @ args = 0, pretend = 0, frame = 0
2099 @ frame_needed = 0, uses_anonymous_args = 0
2100 @ link register save eliminated.
2112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
2113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** UNUSED(hcan);
2101 .loc 1 2113 3 view .LVU707
2114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
2115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
2116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** the HAL_CAN_TxMailbox1CompleteCallback could be implemented in the
2117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** user file
2118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
2119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
2102 .loc 1 2119 1 is_stmt 0 view .LVU708
2103 0000 7047 bx lr
2104 .cfi_endproc
2105 .LFE151:
2107 .section .text.HAL_CAN_TxMailbox2CompleteCallback,"ax",%progbits
2108 .align 1
2109 .weak HAL_CAN_TxMailbox2CompleteCallback
2110 .syntax unified
2111 .thumb
2112 .thumb_func
2114 HAL_CAN_TxMailbox2CompleteCallback:
2115 .LVL161:
2116 .LFB152:
2120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
2121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 98
2122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Transmission Mailbox 2 complete callback.
2123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
2124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
2125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval None
2126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
2127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __weak void HAL_CAN_TxMailbox2CompleteCallback(CAN_HandleTypeDef *hcan)
2128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2117 .loc 1 2128 1 is_stmt 1 view -0
2118 .cfi_startproc
2119 @ args = 0, pretend = 0, frame = 0
2120 @ frame_needed = 0, uses_anonymous_args = 0
2121 @ link register save eliminated.
2129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
2130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** UNUSED(hcan);
2122 .loc 1 2130 3 view .LVU710
2131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
2132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
2133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** the HAL_CAN_TxMailbox2CompleteCallback could be implemented in the
2134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** user file
2135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
2136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
2123 .loc 1 2136 1 is_stmt 0 view .LVU711
2124 0000 7047 bx lr
2125 .cfi_endproc
2126 .LFE152:
2128 .section .text.HAL_CAN_TxMailbox0AbortCallback,"ax",%progbits
2129 .align 1
2130 .weak HAL_CAN_TxMailbox0AbortCallback
2131 .syntax unified
2132 .thumb
2133 .thumb_func
2135 HAL_CAN_TxMailbox0AbortCallback:
2136 .LVL162:
2137 .LFB153:
2137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
2138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
2139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Transmission Mailbox 0 Cancellation callback.
2140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to an CAN_HandleTypeDef structure that contains
2141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
2142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval None
2143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
2144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __weak void HAL_CAN_TxMailbox0AbortCallback(CAN_HandleTypeDef *hcan)
2145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2138 .loc 1 2145 1 is_stmt 1 view -0
2139 .cfi_startproc
2140 @ args = 0, pretend = 0, frame = 0
2141 @ frame_needed = 0, uses_anonymous_args = 0
2142 @ link register save eliminated.
2146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
2147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** UNUSED(hcan);
2143 .loc 1 2147 3 view .LVU713
2148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
2149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
2150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** the HAL_CAN_TxMailbox0AbortCallback could be implemented in the
2151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** user file
2152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
2153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 99
2144 .loc 1 2153 1 is_stmt 0 view .LVU714
2145 0000 7047 bx lr
2146 .cfi_endproc
2147 .LFE153:
2149 .section .text.HAL_CAN_TxMailbox1AbortCallback,"ax",%progbits
2150 .align 1
2151 .weak HAL_CAN_TxMailbox1AbortCallback
2152 .syntax unified
2153 .thumb
2154 .thumb_func
2156 HAL_CAN_TxMailbox1AbortCallback:
2157 .LVL163:
2158 .LFB154:
2154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
2155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
2156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Transmission Mailbox 1 Cancellation callback.
2157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to an CAN_HandleTypeDef structure that contains
2158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
2159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval None
2160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
2161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __weak void HAL_CAN_TxMailbox1AbortCallback(CAN_HandleTypeDef *hcan)
2162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2159 .loc 1 2162 1 is_stmt 1 view -0
2160 .cfi_startproc
2161 @ args = 0, pretend = 0, frame = 0
2162 @ frame_needed = 0, uses_anonymous_args = 0
2163 @ link register save eliminated.
2163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
2164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** UNUSED(hcan);
2164 .loc 1 2164 3 view .LVU716
2165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
2166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
2167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** the HAL_CAN_TxMailbox1AbortCallback could be implemented in the
2168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** user file
2169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
2170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
2165 .loc 1 2170 1 is_stmt 0 view .LVU717
2166 0000 7047 bx lr
2167 .cfi_endproc
2168 .LFE154:
2170 .section .text.HAL_CAN_TxMailbox2AbortCallback,"ax",%progbits
2171 .align 1
2172 .weak HAL_CAN_TxMailbox2AbortCallback
2173 .syntax unified
2174 .thumb
2175 .thumb_func
2177 HAL_CAN_TxMailbox2AbortCallback:
2178 .LVL164:
2179 .LFB155:
2171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
2172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
2173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Transmission Mailbox 2 Cancellation callback.
2174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to an CAN_HandleTypeDef structure that contains
2175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
2176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval None
2177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
2178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __weak void HAL_CAN_TxMailbox2AbortCallback(CAN_HandleTypeDef *hcan)
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 100
2179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2180 .loc 1 2179 1 is_stmt 1 view -0
2181 .cfi_startproc
2182 @ args = 0, pretend = 0, frame = 0
2183 @ frame_needed = 0, uses_anonymous_args = 0
2184 @ link register save eliminated.
2180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
2181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** UNUSED(hcan);
2185 .loc 1 2181 3 view .LVU719
2182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
2183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
2184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** the HAL_CAN_TxMailbox2AbortCallback could be implemented in the
2185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** user file
2186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
2187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
2186 .loc 1 2187 1 is_stmt 0 view .LVU720
2187 0000 7047 bx lr
2188 .cfi_endproc
2189 .LFE155:
2191 .section .text.HAL_CAN_RxFifo0MsgPendingCallback,"ax",%progbits
2192 .align 1
2193 .weak HAL_CAN_RxFifo0MsgPendingCallback
2194 .syntax unified
2195 .thumb
2196 .thumb_func
2198 HAL_CAN_RxFifo0MsgPendingCallback:
2199 .LVL165:
2200 .LFB156:
2188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
2189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
2190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Rx FIFO 0 message pending callback.
2191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
2192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
2193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval None
2194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
2195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __weak void HAL_CAN_RxFifo0MsgPendingCallback(CAN_HandleTypeDef *hcan)
2196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2201 .loc 1 2196 1 is_stmt 1 view -0
2202 .cfi_startproc
2203 @ args = 0, pretend = 0, frame = 0
2204 @ frame_needed = 0, uses_anonymous_args = 0
2205 @ link register save eliminated.
2197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
2198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** UNUSED(hcan);
2206 .loc 1 2198 3 view .LVU722
2199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
2200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
2201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** the HAL_CAN_RxFifo0MsgPendingCallback could be implemented in the
2202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** user file
2203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
2204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
2207 .loc 1 2204 1 is_stmt 0 view .LVU723
2208 0000 7047 bx lr
2209 .cfi_endproc
2210 .LFE156:
2212 .section .text.HAL_CAN_RxFifo0FullCallback,"ax",%progbits
2213 .align 1
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 101
2214 .weak HAL_CAN_RxFifo0FullCallback
2215 .syntax unified
2216 .thumb
2217 .thumb_func
2219 HAL_CAN_RxFifo0FullCallback:
2220 .LVL166:
2221 .LFB157:
2205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
2206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
2207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Rx FIFO 0 full callback.
2208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
2209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
2210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval None
2211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
2212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __weak void HAL_CAN_RxFifo0FullCallback(CAN_HandleTypeDef *hcan)
2213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2222 .loc 1 2213 1 is_stmt 1 view -0
2223 .cfi_startproc
2224 @ args = 0, pretend = 0, frame = 0
2225 @ frame_needed = 0, uses_anonymous_args = 0
2226 @ link register save eliminated.
2214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
2215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** UNUSED(hcan);
2227 .loc 1 2215 3 view .LVU725
2216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
2217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
2218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** the HAL_CAN_RxFifo0FullCallback could be implemented in the user
2219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** file
2220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
2221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
2228 .loc 1 2221 1 is_stmt 0 view .LVU726
2229 0000 7047 bx lr
2230 .cfi_endproc
2231 .LFE157:
2233 .section .text.HAL_CAN_RxFifo1MsgPendingCallback,"ax",%progbits
2234 .align 1
2235 .weak HAL_CAN_RxFifo1MsgPendingCallback
2236 .syntax unified
2237 .thumb
2238 .thumb_func
2240 HAL_CAN_RxFifo1MsgPendingCallback:
2241 .LVL167:
2242 .LFB158:
2222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
2223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
2224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Rx FIFO 1 message pending callback.
2225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
2226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
2227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval None
2228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
2229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __weak void HAL_CAN_RxFifo1MsgPendingCallback(CAN_HandleTypeDef *hcan)
2230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2243 .loc 1 2230 1 is_stmt 1 view -0
2244 .cfi_startproc
2245 @ args = 0, pretend = 0, frame = 0
2246 @ frame_needed = 0, uses_anonymous_args = 0
2247 @ link register save eliminated.
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 102
2231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
2232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** UNUSED(hcan);
2248 .loc 1 2232 3 view .LVU728
2233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
2234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
2235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** the HAL_CAN_RxFifo1MsgPendingCallback could be implemented in the
2236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** user file
2237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
2238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
2249 .loc 1 2238 1 is_stmt 0 view .LVU729
2250 0000 7047 bx lr
2251 .cfi_endproc
2252 .LFE158:
2254 .section .text.HAL_CAN_RxFifo1FullCallback,"ax",%progbits
2255 .align 1
2256 .weak HAL_CAN_RxFifo1FullCallback
2257 .syntax unified
2258 .thumb
2259 .thumb_func
2261 HAL_CAN_RxFifo1FullCallback:
2262 .LVL168:
2263 .LFB159:
2239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
2240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
2241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Rx FIFO 1 full callback.
2242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
2243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
2244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval None
2245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
2246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __weak void HAL_CAN_RxFifo1FullCallback(CAN_HandleTypeDef *hcan)
2247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2264 .loc 1 2247 1 is_stmt 1 view -0
2265 .cfi_startproc
2266 @ args = 0, pretend = 0, frame = 0
2267 @ frame_needed = 0, uses_anonymous_args = 0
2268 @ link register save eliminated.
2248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
2249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** UNUSED(hcan);
2269 .loc 1 2249 3 view .LVU731
2250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
2251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
2252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** the HAL_CAN_RxFifo1FullCallback could be implemented in the user
2253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** file
2254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
2255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
2270 .loc 1 2255 1 is_stmt 0 view .LVU732
2271 0000 7047 bx lr
2272 .cfi_endproc
2273 .LFE159:
2275 .section .text.HAL_CAN_SleepCallback,"ax",%progbits
2276 .align 1
2277 .weak HAL_CAN_SleepCallback
2278 .syntax unified
2279 .thumb
2280 .thumb_func
2282 HAL_CAN_SleepCallback:
2283 .LVL169:
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 103
2284 .LFB160:
2256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
2257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
2258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Sleep callback.
2259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
2260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
2261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval None
2262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
2263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __weak void HAL_CAN_SleepCallback(CAN_HandleTypeDef *hcan)
2264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2285 .loc 1 2264 1 is_stmt 1 view -0
2286 .cfi_startproc
2287 @ args = 0, pretend = 0, frame = 0
2288 @ frame_needed = 0, uses_anonymous_args = 0
2289 @ link register save eliminated.
2265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
2266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** UNUSED(hcan);
2290 .loc 1 2266 3 view .LVU734
2267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
2268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
2269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** the HAL_CAN_SleepCallback could be implemented in the user file
2270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
2271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
2291 .loc 1 2271 1 is_stmt 0 view .LVU735
2292 0000 7047 bx lr
2293 .cfi_endproc
2294 .LFE160:
2296 .section .text.HAL_CAN_WakeUpFromRxMsgCallback,"ax",%progbits
2297 .align 1
2298 .weak HAL_CAN_WakeUpFromRxMsgCallback
2299 .syntax unified
2300 .thumb
2301 .thumb_func
2303 HAL_CAN_WakeUpFromRxMsgCallback:
2304 .LVL170:
2305 .LFB161:
2272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
2273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
2274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief WakeUp from Rx message callback.
2275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
2276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
2277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval None
2278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
2279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __weak void HAL_CAN_WakeUpFromRxMsgCallback(CAN_HandleTypeDef *hcan)
2280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2306 .loc 1 2280 1 is_stmt 1 view -0
2307 .cfi_startproc
2308 @ args = 0, pretend = 0, frame = 0
2309 @ frame_needed = 0, uses_anonymous_args = 0
2310 @ link register save eliminated.
2281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
2282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** UNUSED(hcan);
2311 .loc 1 2282 3 view .LVU737
2283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
2284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
2285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** the HAL_CAN_WakeUpFromRxMsgCallback could be implemented in the
2286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** user file
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 104
2287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
2288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
2312 .loc 1 2288 1 is_stmt 0 view .LVU738
2313 0000 7047 bx lr
2314 .cfi_endproc
2315 .LFE161:
2317 .section .text.HAL_CAN_ErrorCallback,"ax",%progbits
2318 .align 1
2319 .weak HAL_CAN_ErrorCallback
2320 .syntax unified
2321 .thumb
2322 .thumb_func
2324 HAL_CAN_ErrorCallback:
2325 .LVL171:
2326 .LFB162:
2289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
2290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
2291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Error CAN callback.
2292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
2293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
2294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval None
2295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
2296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __weak void HAL_CAN_ErrorCallback(CAN_HandleTypeDef *hcan)
2297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2327 .loc 1 2297 1 is_stmt 1 view -0
2328 .cfi_startproc
2329 @ args = 0, pretend = 0, frame = 0
2330 @ frame_needed = 0, uses_anonymous_args = 0
2331 @ link register save eliminated.
2298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Prevent unused argument(s) compilation warning */
2299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** UNUSED(hcan);
2332 .loc 1 2299 3 view .LVU740
2300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
2301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* NOTE : This function Should not be modified, when the callback is needed,
2302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** the HAL_CAN_ErrorCallback could be implemented in the user file
2303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
2304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
2333 .loc 1 2304 1 is_stmt 0 view .LVU741
2334 0000 7047 bx lr
2335 .cfi_endproc
2336 .LFE162:
2338 .section .text.HAL_CAN_IRQHandler,"ax",%progbits
2339 .align 1
2340 .global HAL_CAN_IRQHandler
2341 .syntax unified
2342 .thumb
2343 .thumb_func
2345 HAL_CAN_IRQHandler:
2346 .LVL172:
2347 .LFB149:
1683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t errorcode = HAL_CAN_ERROR_NONE;
2348 .loc 1 1683 1 is_stmt 1 view -0
2349 .cfi_startproc
2350 @ args = 0, pretend = 0, frame = 0
2351 @ frame_needed = 0, uses_anonymous_args = 0
1683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t errorcode = HAL_CAN_ERROR_NONE;
2352 .loc 1 1683 1 is_stmt 0 view .LVU743
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 105
2353 0000 2DE9F84F push {r3, r4, r5, r6, r7, r8, r9, r10, fp, lr}
2354 .cfi_def_cfa_offset 40
2355 .cfi_offset 3, -40
2356 .cfi_offset 4, -36
2357 .cfi_offset 5, -32
2358 .cfi_offset 6, -28
2359 .cfi_offset 7, -24
2360 .cfi_offset 8, -20
2361 .cfi_offset 9, -16
2362 .cfi_offset 10, -12
2363 .cfi_offset 11, -8
2364 .cfi_offset 14, -4
2365 0004 0546 mov r5, r0
1684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t interrupts = READ_REG(hcan->Instance->IER);
2366 .loc 1 1684 3 is_stmt 1 view .LVU744
2367 .LVL173:
1685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t msrflags = READ_REG(hcan->Instance->MSR);
2368 .loc 1 1685 3 view .LVU745
1685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t msrflags = READ_REG(hcan->Instance->MSR);
2369 .loc 1 1685 25 is_stmt 0 view .LVU746
2370 0006 0368 ldr r3, [r0]
1685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t msrflags = READ_REG(hcan->Instance->MSR);
2371 .loc 1 1685 12 view .LVU747
2372 0008 5C69 ldr r4, [r3, #20]
2373 .LVL174:
1686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t tsrflags = READ_REG(hcan->Instance->TSR);
2374 .loc 1 1686 3 is_stmt 1 view .LVU748
1686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t tsrflags = READ_REG(hcan->Instance->TSR);
2375 .loc 1 1686 12 is_stmt 0 view .LVU749
2376 000a D3F80480 ldr r8, [r3, #4]
2377 .LVL175:
1687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t rf0rflags = READ_REG(hcan->Instance->RF0R);
2378 .loc 1 1687 3 is_stmt 1 view .LVU750
1687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t rf0rflags = READ_REG(hcan->Instance->RF0R);
2379 .loc 1 1687 12 is_stmt 0 view .LVU751
2380 000e 9F68 ldr r7, [r3, #8]
2381 .LVL176:
1688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t rf1rflags = READ_REG(hcan->Instance->RF1R);
2382 .loc 1 1688 3 is_stmt 1 view .LVU752
1688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t rf1rflags = READ_REG(hcan->Instance->RF1R);
2383 .loc 1 1688 12 is_stmt 0 view .LVU753
2384 0010 D3F80CB0 ldr fp, [r3, #12]
2385 .LVL177:
1689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t esrflags = READ_REG(hcan->Instance->ESR);
2386 .loc 1 1689 3 is_stmt 1 view .LVU754
1689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t esrflags = READ_REG(hcan->Instance->ESR);
2387 .loc 1 1689 12 is_stmt 0 view .LVU755
2388 0014 D3F810A0 ldr r10, [r3, #16]
2389 .LVL178:
1690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
2390 .loc 1 1690 3 is_stmt 1 view .LVU756
1690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
2391 .loc 1 1690 12 is_stmt 0 view .LVU757
2392 0018 D3F81890 ldr r9, [r3, #24]
2393 .LVL179:
1693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2394 .loc 1 1693 3 is_stmt 1 view .LVU758
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 106
1693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2395 .loc 1 1693 6 is_stmt 0 view .LVU759
2396 001c 14F00106 ands r6, r4, #1
2397 0020 3BD0 beq .L169
1696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2398 .loc 1 1696 5 is_stmt 1 view .LVU760
1696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2399 .loc 1 1696 8 is_stmt 0 view .LVU761
2400 0022 17F00106 ands r6, r7, #1
2401 0026 16D0 beq .L170
1699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
2402 .loc 1 1699 7 is_stmt 1 view .LVU762
2403 0028 0122 movs r2, #1
2404 002a 9A60 str r2, [r3, #8]
1701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2405 .loc 1 1701 7 view .LVU763
1701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2406 .loc 1 1701 10 is_stmt 0 view .LVU764
2407 002c 17F0020F tst r7, #2
2408 0030 08D1 bne .L204
1714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2409 .loc 1 1714 9 is_stmt 1 view .LVU765
1714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2410 .loc 1 1714 12 is_stmt 0 view .LVU766
2411 0032 17F0040F tst r7, #4
2412 0036 0CD1 bne .L201
1719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2413 .loc 1 1719 14 is_stmt 1 view .LVU767
1719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2414 .loc 1 1719 17 is_stmt 0 view .LVU768
2415 0038 17F00806 ands r6, r7, #8
2416 003c 06D0 beq .L205
1722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
2417 .loc 1 1722 21 view .LVU769
2418 003e 4FF48056 mov r6, #4096
2419 0042 08E0 b .L170
2420 .L204:
1709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
2421 .loc 1 1709 9 is_stmt 1 view .LVU770
2422 0044 FFF7FEFF bl HAL_CAN_TxMailbox0CompleteCallback
2423 .LVL180:
1684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t interrupts = READ_REG(hcan->Instance->IER);
2424 .loc 1 1684 12 is_stmt 0 view .LVU771
2425 0048 0026 movs r6, #0
2426 004a 04E0 b .L170
2427 .LVL181:
2428 .L205:
1732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
2429 .loc 1 1732 11 is_stmt 1 view .LVU772
2430 004c FFF7FEFF bl HAL_CAN_TxMailbox0AbortCallback
2431 .LVL182:
1732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
2432 .loc 1 1732 11 is_stmt 0 view .LVU773
2433 0050 01E0 b .L170
2434 .LVL183:
2435 .L201:
1717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 107
2436 .loc 1 1717 21 view .LVU774
2437 0052 4FF40066 mov r6, #2048
2438 .LVL184:
2439 .L170:
1739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2440 .loc 1 1739 5 is_stmt 1 view .LVU775
1739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2441 .loc 1 1739 8 is_stmt 0 view .LVU776
2442 0056 17F4807F tst r7, #256
2443 005a 0DD0 beq .L172
1742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
2444 .loc 1 1742 7 is_stmt 1 view .LVU777
2445 005c 2B68 ldr r3, [r5]
2446 005e 4FF48072 mov r2, #256
2447 0062 9A60 str r2, [r3, #8]
1744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2448 .loc 1 1744 7 view .LVU778
1744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2449 .loc 1 1744 10 is_stmt 0 view .LVU779
2450 0064 17F4007F tst r7, #512
2451 0068 40F08680 bne .L206
1757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2452 .loc 1 1757 9 is_stmt 1 view .LVU780
1757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2453 .loc 1 1757 12 is_stmt 0 view .LVU781
2454 006c 17F4806F tst r7, #1024
2455 0070 00F08680 beq .L174
1760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
2456 .loc 1 1760 11 is_stmt 1 view .LVU782
1760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
2457 .loc 1 1760 21 is_stmt 0 view .LVU783
2458 0074 46F40056 orr r6, r6, #8192
2459 .LVL185:
2460 .L172:
1782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2461 .loc 1 1782 5 is_stmt 1 view .LVU784
1782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2462 .loc 1 1782 8 is_stmt 0 view .LVU785
2463 0078 17F4803F tst r7, #65536
2464 007c 0DD0 beq .L169
1785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
2465 .loc 1 1785 7 is_stmt 1 view .LVU786
2466 007e 2B68 ldr r3, [r5]
2467 0080 4FF48032 mov r2, #65536
2468 0084 9A60 str r2, [r3, #8]
1787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2469 .loc 1 1787 7 view .LVU787
1787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2470 .loc 1 1787 10 is_stmt 0 view .LVU788
2471 0086 17F4003F tst r7, #131072
2472 008a 40F08380 bne .L207
1800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2473 .loc 1 1800 9 is_stmt 1 view .LVU789
1800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2474 .loc 1 1800 12 is_stmt 0 view .LVU790
2475 008e 17F4802F tst r7, #262144
2476 0092 00F08380 beq .L177
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 108
1803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
2477 .loc 1 1803 11 is_stmt 1 view .LVU791
1803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
2478 .loc 1 1803 21 is_stmt 0 view .LVU792
2479 0096 46F40046 orr r6, r6, #32768
2480 .LVL186:
2481 .L169:
1826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2482 .loc 1 1826 3 is_stmt 1 view .LVU793
1826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2483 .loc 1 1826 6 is_stmt 0 view .LVU794
2484 009a 14F0080F tst r4, #8
2485 009e 07D0 beq .L179
1828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2486 .loc 1 1828 5 is_stmt 1 view .LVU795
1828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2487 .loc 1 1828 8 is_stmt 0 view .LVU796
2488 00a0 1BF0100F tst fp, #16
2489 00a4 04D0 beq .L179
1831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
2490 .loc 1 1831 7 is_stmt 1 view .LVU797
1831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
2491 .loc 1 1831 17 is_stmt 0 view .LVU798
2492 00a6 46F40076 orr r6, r6, #512
2493 .LVL187:
1834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
2494 .loc 1 1834 7 is_stmt 1 view .LVU799
2495 00aa 2B68 ldr r3, [r5]
2496 00ac 1022 movs r2, #16
2497 00ae DA60 str r2, [r3, #12]
2498 .L179:
1839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2499 .loc 1 1839 3 view .LVU800
1839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2500 .loc 1 1839 6 is_stmt 0 view .LVU801
2501 00b0 14F0040F tst r4, #4
2502 00b4 02D0 beq .L180
1841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2503 .loc 1 1841 5 is_stmt 1 view .LVU802
1841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2504 .loc 1 1841 8 is_stmt 0 view .LVU803
2505 00b6 1BF0080F tst fp, #8
2506 00ba 79D1 bne .L208
2507 .L180:
1858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2508 .loc 1 1858 3 is_stmt 1 view .LVU804
1858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2509 .loc 1 1858 6 is_stmt 0 view .LVU805
2510 00bc 14F0020F tst r4, #2
2511 00c0 04D0 beq .L181
1861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2512 .loc 1 1861 5 is_stmt 1 view .LVU806
1861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2513 .loc 1 1861 14 is_stmt 0 view .LVU807
2514 00c2 2B68 ldr r3, [r5]
1861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2515 .loc 1 1861 24 view .LVU808
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 109
2516 00c4 DB68 ldr r3, [r3, #12]
1861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2517 .loc 1 1861 8 view .LVU809
2518 00c6 13F0030F tst r3, #3
2519 00ca 78D1 bne .L209
2520 .L181:
1875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2521 .loc 1 1875 3 is_stmt 1 view .LVU810
1875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2522 .loc 1 1875 6 is_stmt 0 view .LVU811
2523 00cc 14F0400F tst r4, #64
2524 00d0 07D0 beq .L182
1877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2525 .loc 1 1877 5 is_stmt 1 view .LVU812
1877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2526 .loc 1 1877 8 is_stmt 0 view .LVU813
2527 00d2 1AF0100F tst r10, #16
2528 00d6 04D0 beq .L182
1880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
2529 .loc 1 1880 7 is_stmt 1 view .LVU814
1880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
2530 .loc 1 1880 17 is_stmt 0 view .LVU815
2531 00d8 46F48066 orr r6, r6, #1024
2532 .LVL188:
1883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
2533 .loc 1 1883 7 is_stmt 1 view .LVU816
2534 00dc 2B68 ldr r3, [r5]
2535 00de 1022 movs r2, #16
2536 00e0 1A61 str r2, [r3, #16]
2537 .L182:
1888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2538 .loc 1 1888 3 view .LVU817
1888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2539 .loc 1 1888 6 is_stmt 0 view .LVU818
2540 00e2 14F0200F tst r4, #32
2541 00e6 02D0 beq .L183
1890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2542 .loc 1 1890 5 is_stmt 1 view .LVU819
1890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2543 .loc 1 1890 8 is_stmt 0 view .LVU820
2544 00e8 1AF0080F tst r10, #8
2545 00ec 6BD1 bne .L210
2546 .L183:
1907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2547 .loc 1 1907 3 is_stmt 1 view .LVU821
1907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2548 .loc 1 1907 6 is_stmt 0 view .LVU822
2549 00ee 14F0100F tst r4, #16
2550 00f2 04D0 beq .L184
1910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2551 .loc 1 1910 5 is_stmt 1 view .LVU823
1910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2552 .loc 1 1910 14 is_stmt 0 view .LVU824
2553 00f4 2B68 ldr r3, [r5]
1910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2554 .loc 1 1910 24 view .LVU825
2555 00f6 1B69 ldr r3, [r3, #16]
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 110
1910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2556 .loc 1 1910 8 view .LVU826
2557 00f8 13F0030F tst r3, #3
2558 00fc 6AD1 bne .L211
2559 .L184:
1924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2560 .loc 1 1924 3 is_stmt 1 view .LVU827
1924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2561 .loc 1 1924 6 is_stmt 0 view .LVU828
2562 00fe 14F4003F tst r4, #131072
2563 0102 02D0 beq .L185
1926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2564 .loc 1 1926 5 is_stmt 1 view .LVU829
1926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2565 .loc 1 1926 8 is_stmt 0 view .LVU830
2566 0104 18F0100F tst r8, #16
2567 0108 68D1 bne .L212
2568 .L185:
1943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2569 .loc 1 1943 3 is_stmt 1 view .LVU831
1943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2570 .loc 1 1943 6 is_stmt 0 view .LVU832
2571 010a 14F4803F tst r4, #65536
2572 010e 02D0 beq .L186
1945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2573 .loc 1 1945 5 is_stmt 1 view .LVU833
1945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2574 .loc 1 1945 8 is_stmt 0 view .LVU834
2575 0110 18F0080F tst r8, #8
2576 0114 69D1 bne .L213
2577 .L186:
1962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2578 .loc 1 1962 3 is_stmt 1 view .LVU835
1962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2579 .loc 1 1962 6 is_stmt 0 view .LVU836
2580 0116 14F4004F tst r4, #32768
2581 011a 7AD0 beq .L187
1964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2582 .loc 1 1964 5 is_stmt 1 view .LVU837
1964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2583 .loc 1 1964 8 is_stmt 0 view .LVU838
2584 011c 18F0040F tst r8, #4
2585 0120 74D0 beq .L188
1967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((esrflags & CAN_ESR_EWGF) != 0U))
2586 .loc 1 1967 7 is_stmt 1 view .LVU839
1967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((esrflags & CAN_ESR_EWGF) != 0U))
2587 .loc 1 1967 10 is_stmt 0 view .LVU840
2588 0122 14F4807F tst r4, #256
2589 0126 04D0 beq .L189
1967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((esrflags & CAN_ESR_EWGF) != 0U))
2590 .loc 1 1967 55 discriminator 1 view .LVU841
2591 0128 19F0010F tst r9, #1
2592 012c 01D0 beq .L189
1971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
2593 .loc 1 1971 9 is_stmt 1 view .LVU842
1971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
2594 .loc 1 1971 19 is_stmt 0 view .LVU843
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 111
2595 012e 46F00106 orr r6, r6, #1
2596 .LVL189:
2597 .L189:
1977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((esrflags & CAN_ESR_EPVF) != 0U))
2598 .loc 1 1977 7 is_stmt 1 view .LVU844
1977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((esrflags & CAN_ESR_EPVF) != 0U))
2599 .loc 1 1977 10 is_stmt 0 view .LVU845
2600 0132 14F4007F tst r4, #512
2601 0136 04D0 beq .L190
1977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((esrflags & CAN_ESR_EPVF) != 0U))
2602 .loc 1 1977 55 discriminator 1 view .LVU846
2603 0138 19F0020F tst r9, #2
2604 013c 01D0 beq .L190
1981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
2605 .loc 1 1981 9 is_stmt 1 view .LVU847
1981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
2606 .loc 1 1981 19 is_stmt 0 view .LVU848
2607 013e 46F00206 orr r6, r6, #2
2608 .LVL190:
2609 .L190:
1987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((esrflags & CAN_ESR_BOFF) != 0U))
2610 .loc 1 1987 7 is_stmt 1 view .LVU849
1987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((esrflags & CAN_ESR_BOFF) != 0U))
2611 .loc 1 1987 10 is_stmt 0 view .LVU850
2612 0142 14F4806F tst r4, #1024
2613 0146 04D0 beq .L191
1987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((esrflags & CAN_ESR_BOFF) != 0U))
2614 .loc 1 1987 48 discriminator 1 view .LVU851
2615 0148 19F0040F tst r9, #4
2616 014c 01D0 beq .L191
1991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
2617 .loc 1 1991 9 is_stmt 1 view .LVU852
1991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
2618 .loc 1 1991 19 is_stmt 0 view .LVU853
2619 014e 46F00406 orr r6, r6, #4
2620 .LVL191:
2621 .L191:
1997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((esrflags & CAN_ESR_LEC) != 0U))
2622 .loc 1 1997 7 is_stmt 1 view .LVU854
1997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((esrflags & CAN_ESR_LEC) != 0U))
2623 .loc 1 1997 10 is_stmt 0 view .LVU855
2624 0152 14F4006F tst r4, #2048
2625 0156 59D0 beq .L188
1997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((esrflags & CAN_ESR_LEC) != 0U))
2626 .loc 1 1997 57 discriminator 1 view .LVU856
2627 0158 19F07009 ands r9, r9, #112
2628 .LVL192:
1997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ((esrflags & CAN_ESR_LEC) != 0U))
2629 .loc 1 1997 57 discriminator 1 view .LVU857
2630 015c 56D0 beq .L188
2000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2631 .loc 1 2000 9 is_stmt 1 view .LVU858
2632 015e B9F1400F cmp r9, #64
2633 0162 65D0 beq .L192
2634 0164 58D8 bhi .L193
2635 0166 B9F1200F cmp r9, #32
2636 016a 5ED0 beq .L194
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 112
2637 016c B9F1300F cmp r9, #48
2638 0170 42D1 bne .L214
2012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
2639 .loc 1 2012 13 view .LVU859
2012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
2640 .loc 1 2012 23 is_stmt 0 view .LVU860
2641 0172 46F02006 orr r6, r6, #32
2642 .LVL193:
2013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case (CAN_ESR_LEC_2):
2643 .loc 1 2013 13 is_stmt 1 view .LVU861
2644 0176 44E0 b .L197
2645 .LVL194:
2646 .L206:
1752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
2647 .loc 1 1752 9 view .LVU862
2648 0178 2846 mov r0, r5
2649 017a FFF7FEFF bl HAL_CAN_TxMailbox1CompleteCallback
2650 .LVL195:
2651 017e 7BE7 b .L172
2652 .L174:
1762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2653 .loc 1 1762 14 view .LVU863
1762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2654 .loc 1 1762 17 is_stmt 0 view .LVU864
2655 0180 17F4006F tst r7, #2048
2656 0184 02D0 beq .L175
1765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
2657 .loc 1 1765 11 is_stmt 1 view .LVU865
1765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
2658 .loc 1 1765 21 is_stmt 0 view .LVU866
2659 0186 46F48046 orr r6, r6, #16384
2660 .LVL196:
1765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
2661 .loc 1 1765 21 view .LVU867
2662 018a 75E7 b .L172
2663 .L175:
1775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
2664 .loc 1 1775 11 is_stmt 1 view .LVU868
2665 018c 2846 mov r0, r5
2666 018e FFF7FEFF bl HAL_CAN_TxMailbox1AbortCallback
2667 .LVL197:
2668 0192 71E7 b .L172
2669 .L207:
1795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
2670 .loc 1 1795 9 view .LVU869
2671 0194 2846 mov r0, r5
2672 0196 FFF7FEFF bl HAL_CAN_TxMailbox2CompleteCallback
2673 .LVL198:
2674 019a 7EE7 b .L169
2675 .L177:
1805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2676 .loc 1 1805 14 view .LVU870
1805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2677 .loc 1 1805 17 is_stmt 0 view .LVU871
2678 019c 17F4002F tst r7, #524288
2679 01a0 02D0 beq .L178
1808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 113
2680 .loc 1 1808 11 is_stmt 1 view .LVU872
1808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
2681 .loc 1 1808 21 is_stmt 0 view .LVU873
2682 01a2 46F48036 orr r6, r6, #65536
2683 .LVL199:
1808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
2684 .loc 1 1808 21 view .LVU874
2685 01a6 78E7 b .L169
2686 .L178:
1818:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
2687 .loc 1 1818 11 is_stmt 1 view .LVU875
2688 01a8 2846 mov r0, r5
2689 01aa FFF7FEFF bl HAL_CAN_TxMailbox2AbortCallback
2690 .LVL200:
2691 01ae 74E7 b .L169
2692 .L208:
1844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
2693 .loc 1 1844 7 view .LVU876
2694 01b0 2B68 ldr r3, [r5]
2695 01b2 0822 movs r2, #8
2696 01b4 DA60 str r2, [r3, #12]
1852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
2697 .loc 1 1852 7 view .LVU877
2698 01b6 2846 mov r0, r5
2699 01b8 FFF7FEFF bl HAL_CAN_RxFifo0FullCallback
2700 .LVL201:
2701 01bc 7EE7 b .L180
2702 .L209:
1869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
2703 .loc 1 1869 7 view .LVU878
2704 01be 2846 mov r0, r5
2705 01c0 FFF7FEFF bl HAL_CAN_RxFifo0MsgPendingCallback
2706 .LVL202:
2707 01c4 82E7 b .L181
2708 .L210:
1893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
2709 .loc 1 1893 7 view .LVU879
2710 01c6 2B68 ldr r3, [r5]
2711 01c8 0822 movs r2, #8
2712 01ca 1A61 str r2, [r3, #16]
1901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
2713 .loc 1 1901 7 view .LVU880
2714 01cc 2846 mov r0, r5
2715 01ce FFF7FEFF bl HAL_CAN_RxFifo1FullCallback
2716 .LVL203:
2717 01d2 8CE7 b .L183
2718 .L211:
1918:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
2719 .loc 1 1918 7 view .LVU881
2720 01d4 2846 mov r0, r5
2721 01d6 FFF7FEFF bl HAL_CAN_RxFifo1MsgPendingCallback
2722 .LVL204:
2723 01da 90E7 b .L184
2724 .L212:
1929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
2725 .loc 1 1929 7 view .LVU882
2726 01dc 2B68 ldr r3, [r5]
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 114
2727 01de 1022 movs r2, #16
2728 01e0 5A60 str r2, [r3, #4]
1937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
2729 .loc 1 1937 7 view .LVU883
2730 01e2 2846 mov r0, r5
2731 01e4 FFF7FEFF bl HAL_CAN_SleepCallback
2732 .LVL205:
2733 01e8 8FE7 b .L185
2734 .L213:
1948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
2735 .loc 1 1948 7 view .LVU884
2736 01ea 2B68 ldr r3, [r5]
2737 01ec 0822 movs r2, #8
2738 01ee 5A60 str r2, [r3, #4]
1956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
2739 .loc 1 1956 7 view .LVU885
2740 01f0 2846 mov r0, r5
2741 01f2 FFF7FEFF bl HAL_CAN_WakeUpFromRxMsgCallback
2742 .LVL206:
2743 01f6 8EE7 b .L186
2744 .LVL207:
2745 .L214:
2000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2746 .loc 1 2000 9 is_stmt 0 view .LVU886
2747 01f8 B9F1100F cmp r9, #16
2748 01fc 01D1 bne .L197
2004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
2749 .loc 1 2004 13 is_stmt 1 view .LVU887
2004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
2750 .loc 1 2004 23 is_stmt 0 view .LVU888
2751 01fe 46F00806 orr r6, r6, #8
2752 .LVL208:
2005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case (CAN_ESR_LEC_1):
2753 .loc 1 2005 13 is_stmt 1 view .LVU889
2754 .L197:
2031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
2755 .loc 1 2031 9 view .LVU890
2756 0202 2A68 ldr r2, [r5]
2757 0204 9369 ldr r3, [r2, #24]
2758 0206 23F07003 bic r3, r3, #112
2759 020a 9361 str r3, [r2, #24]
2760 .L188:
2036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
2761 .loc 1 2036 5 view .LVU891
2762 020c 2B68 ldr r3, [r5]
2763 020e 0422 movs r2, #4
2764 0210 5A60 str r2, [r3, #4]
2765 .L187:
2040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2766 .loc 1 2040 3 view .LVU892
2040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2767 .loc 1 2040 6 is_stmt 0 view .LVU893
2768 0212 9EB9 cbnz r6, .L215
2769 .L168:
2054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
2770 .loc 1 2054 1 view .LVU894
2771 0214 BDE8F88F pop {r3, r4, r5, r6, r7, r8, r9, r10, fp, pc}
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 115
2772 .LVL209:
2773 .L193:
2000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2774 .loc 1 2000 9 view .LVU895
2775 0218 B9F1500F cmp r9, #80
2776 021c 0BD0 beq .L198
2777 021e B9F1600F cmp r9, #96
2778 0222 EED1 bne .L197
2024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
2779 .loc 1 2024 13 is_stmt 1 view .LVU896
2024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
2780 .loc 1 2024 23 is_stmt 0 view .LVU897
2781 0224 46F48076 orr r6, r6, #256
2782 .LVL210:
2025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** default:
2783 .loc 1 2025 13 is_stmt 1 view .LVU898
2784 0228 EBE7 b .L197
2785 .L194:
2008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
2786 .loc 1 2008 13 view .LVU899
2008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
2787 .loc 1 2008 23 is_stmt 0 view .LVU900
2788 022a 46F01006 orr r6, r6, #16
2789 .LVL211:
2009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case (CAN_ESR_LEC_1 | CAN_ESR_LEC_0):
2790 .loc 1 2009 13 is_stmt 1 view .LVU901
2791 022e E8E7 b .L197
2792 .L192:
2016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
2793 .loc 1 2016 13 view .LVU902
2016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
2794 .loc 1 2016 23 is_stmt 0 view .LVU903
2795 0230 46F04006 orr r6, r6, #64
2796 .LVL212:
2017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case (CAN_ESR_LEC_2 | CAN_ESR_LEC_0):
2797 .loc 1 2017 13 is_stmt 1 view .LVU904
2798 0234 E5E7 b .L197
2799 .L198:
2020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
2800 .loc 1 2020 13 view .LVU905
2020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** break;
2801 .loc 1 2020 23 is_stmt 0 view .LVU906
2802 0236 46F08006 orr r6, r6, #128
2803 .LVL213:
2021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** case (CAN_ESR_LEC_2 | CAN_ESR_LEC_1):
2804 .loc 1 2021 13 is_stmt 1 view .LVU907
2805 023a E2E7 b .L197
2806 .L215:
2043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
2807 .loc 1 2043 5 view .LVU908
2043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
2808 .loc 1 2043 9 is_stmt 0 view .LVU909
2809 023c 6B6A ldr r3, [r5, #36]
2043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
2810 .loc 1 2043 21 view .LVU910
2811 023e 3343 orrs r3, r3, r6
2812 0240 6B62 str r3, [r5, #36]
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 116
2051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
2813 .loc 1 2051 5 is_stmt 1 view .LVU911
2814 0242 2846 mov r0, r5
2815 0244 FFF7FEFF bl HAL_CAN_ErrorCallback
2816 .LVL214:
2054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
2817 .loc 1 2054 1 is_stmt 0 view .LVU912
2818 0248 E4E7 b .L168
2819 .cfi_endproc
2820 .LFE149:
2822 .section .text.HAL_CAN_GetState,"ax",%progbits
2823 .align 1
2824 .global HAL_CAN_GetState
2825 .syntax unified
2826 .thumb
2827 .thumb_func
2829 HAL_CAN_GetState:
2830 .LVL215:
2831 .LFB163:
2305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
2306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
2307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @}
2308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
2309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
2310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /** @defgroup CAN_Exported_Functions_Group6 Peripheral State and Error functions
2311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief CAN Peripheral State functions
2312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** *
2313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** @verbatim
2314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ==============================================================================
2315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ##### Peripheral State and Error functions #####
2316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** ==============================================================================
2317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** [..]
2318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** This subsection provides functions allowing to :
2319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_GetState() : Return the CAN state.
2320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_GetError() : Return the CAN error codes if any.
2321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (+) HAL_CAN_ResetError(): Reset the CAN error codes if any.
2322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
2323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** @endverbatim
2324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @{
2325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
2326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
2327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
2328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Return the CAN state.
2329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
2330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
2331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval HAL state
2332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
2333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef HAL_CAN_GetState(const CAN_HandleTypeDef *hcan)
2334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2832 .loc 1 2334 1 is_stmt 1 view -0
2833 .cfi_startproc
2834 @ args = 0, pretend = 0, frame = 0
2835 @ frame_needed = 0, uses_anonymous_args = 0
2836 @ link register save eliminated.
2837 .loc 1 2334 1 is_stmt 0 view .LVU914
2838 0000 0246 mov r2, r0
2335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 117
2839 .loc 1 2335 3 is_stmt 1 view .LVU915
2840 .loc 1 2335 24 is_stmt 0 view .LVU916
2841 0002 90F82030 ldrb r3, [r0, #32] @ zero_extendqisi2
2842 0006 D8B2 uxtb r0, r3
2843 .LVL216:
2336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
2337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
2844 .loc 1 2337 3 is_stmt 1 view .LVU917
2845 .loc 1 2337 38 is_stmt 0 view .LVU918
2846 0008 013B subs r3, r3, #1
2847 000a DBB2 uxtb r3, r3
2848 .loc 1 2337 6 view .LVU919
2849 000c 012B cmp r3, #1
2850 000e 00D9 bls .L220
2851 .LVL217:
2852 .L217:
2338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
2339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check sleep mode acknowledge flag */
2341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((hcan->Instance->MSR & CAN_MSR_SLAK) != 0U)
2342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Sleep mode is active */
2344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** state = HAL_CAN_STATE_SLEEP_ACTIVE;
2345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
2346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Check sleep mode request flag */
2347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else if ((hcan->Instance->MCR & CAN_MCR_SLEEP) != 0U)
2348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Sleep mode request is pending */
2350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** state = HAL_CAN_STATE_SLEEP_PENDING;
2351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
2352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
2353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Neither sleep mode request nor sleep mode acknowledge */
2355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
2853 .loc 1 2355 5 is_stmt 1 view .LVU920
2356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
2357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
2358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return CAN state */
2359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return state;
2854 .loc 1 2359 3 view .LVU921
2360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
2855 .loc 1 2360 1 is_stmt 0 view .LVU922
2856 0010 7047 bx lr
2857 .LVL218:
2858 .L220:
2341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2859 .loc 1 2341 5 is_stmt 1 view .LVU923
2341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2860 .loc 1 2341 14 is_stmt 0 view .LVU924
2861 0012 1368 ldr r3, [r2]
2341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2862 .loc 1 2341 24 view .LVU925
2863 0014 5A68 ldr r2, [r3, #4]
2864 .LVL219:
2341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2865 .loc 1 2341 8 view .LVU926
2866 0016 12F0020F tst r2, #2
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 118
2867 001a 05D1 bne .L218
2347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2868 .loc 1 2347 10 is_stmt 1 view .LVU927
2347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2869 .loc 1 2347 29 is_stmt 0 view .LVU928
2870 001c 1B68 ldr r3, [r3]
2347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2871 .loc 1 2347 13 view .LVU929
2872 001e 13F0020F tst r3, #2
2873 0022 F5D0 beq .L217
2350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
2874 .loc 1 2350 13 view .LVU930
2875 0024 0320 movs r0, #3
2876 .LVL220:
2350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
2877 .loc 1 2350 13 view .LVU931
2878 0026 F3E7 b .L217
2879 .LVL221:
2880 .L218:
2344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
2881 .loc 1 2344 13 view .LVU932
2882 0028 0420 movs r0, #4
2883 .LVL222:
2344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
2884 .loc 1 2344 13 view .LVU933
2885 002a 7047 bx lr
2886 .cfi_endproc
2887 .LFE163:
2889 .section .text.HAL_CAN_GetError,"ax",%progbits
2890 .align 1
2891 .global HAL_CAN_GetError
2892 .syntax unified
2893 .thumb
2894 .thumb_func
2896 HAL_CAN_GetError:
2897 .LVL223:
2898 .LFB164:
2361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
2362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
2363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Return the CAN error code.
2364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
2365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
2366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval CAN Error Code
2367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
2368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t HAL_CAN_GetError(const CAN_HandleTypeDef *hcan)
2369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2899 .loc 1 2369 1 is_stmt 1 view -0
2900 .cfi_startproc
2901 @ args = 0, pretend = 0, frame = 0
2902 @ frame_needed = 0, uses_anonymous_args = 0
2903 @ link register save eliminated.
2370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return CAN error code */
2371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return hcan->ErrorCode;
2904 .loc 1 2371 3 view .LVU935
2905 .loc 1 2371 14 is_stmt 0 view .LVU936
2906 0000 406A ldr r0, [r0, #36]
2907 .LVL224:
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 119
2372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
2908 .loc 1 2372 1 view .LVU937
2909 0002 7047 bx lr
2910 .cfi_endproc
2911 .LFE164:
2913 .section .text.HAL_CAN_ResetError,"ax",%progbits
2914 .align 1
2915 .global HAL_CAN_ResetError
2916 .syntax unified
2917 .thumb
2918 .thumb_func
2920 HAL_CAN_ResetError:
2921 .LVL225:
2922 .LFB165:
2373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
2374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
2375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @brief Reset the CAN error code.
2376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @param hcan pointer to a CAN_HandleTypeDef structure that contains
2377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * the configuration information for the specified CAN.
2378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** * @retval HAL status
2379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** */
2380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_ResetError(CAN_HandleTypeDef *hcan)
2381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2923 .loc 1 2381 1 is_stmt 1 view -0
2924 .cfi_startproc
2925 @ args = 0, pretend = 0, frame = 0
2926 @ frame_needed = 0, uses_anonymous_args = 0
2927 @ link register save eliminated.
2382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef status = HAL_OK;
2928 .loc 1 2382 3 view .LVU939
2383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
2929 .loc 1 2383 3 view .LVU940
2930 .loc 1 2383 24 is_stmt 0 view .LVU941
2931 0000 90F82030 ldrb r3, [r0, #32] @ zero_extendqisi2
2932 .LVL226:
2384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
2385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** if ((state == HAL_CAN_STATE_READY) ||
2933 .loc 1 2385 3 is_stmt 1 view .LVU942
2934 .loc 1 2385 38 is_stmt 0 view .LVU943
2935 0004 013B subs r3, r3, #1
2936 .LVL227:
2937 .loc 1 2385 38 view .LVU944
2938 0006 DBB2 uxtb r3, r3
2939 .loc 1 2385 6 view .LVU945
2940 0008 012B cmp r3, #1
2941 000a 05D9 bls .L225
2386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** (state == HAL_CAN_STATE_LISTENING))
2387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Reset CAN error code */
2389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode = 0U;
2390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
2391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** else
2392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
2393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Update error code */
2394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** hcan->ErrorCode |= HAL_CAN_ERROR_NOT_INITIALIZED;
2942 .loc 1 2394 5 is_stmt 1 view .LVU946
2943 .loc 1 2394 9 is_stmt 0 view .LVU947
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 120
2944 000c 436A ldr r3, [r0, #36]
2945 .loc 1 2394 21 view .LVU948
2946 000e 43F48023 orr r3, r3, #262144
2947 0012 4362 str r3, [r0, #36]
2395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
2396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** status = HAL_ERROR;
2948 .loc 1 2396 5 is_stmt 1 view .LVU949
2949 .LVL228:
2950 .loc 1 2396 12 is_stmt 0 view .LVU950
2951 0014 0120 movs r0, #1
2952 .LVL229:
2397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
2398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****
2399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Return the status */
2400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** return status;
2953 .loc 1 2400 3 is_stmt 1 view .LVU951
2401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
2954 .loc 1 2401 1 is_stmt 0 view .LVU952
2955 0016 7047 bx lr
2956 .LVL230:
2957 .L225:
2389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
2958 .loc 1 2389 5 is_stmt 1 view .LVU953
2389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
2959 .loc 1 2389 21 is_stmt 0 view .LVU954
2960 0018 0023 movs r3, #0
2961 001a 4362 str r3, [r0, #36]
2382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
2962 .loc 1 2382 21 view .LVU955
2963 001c 1846 mov r0, r3
2964 .LVL231:
2382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef state = hcan->State;
2965 .loc 1 2382 21 view .LVU956
2966 001e 7047 bx lr
2967 .cfi_endproc
2968 .LFE165:
2970 .text
2971 .Letext0:
2972 .file 3 "c:\\users\\nived\\appdata\\roaming\\code\\user\\globalstorage\\bmd.stm32-for-vscode\\@xpa
2973 .file 4 "c:\\users\\nived\\appdata\\roaming\\code\\user\\globalstorage\\bmd.stm32-for-vscode\\@xpa
2974 .file 5 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/stm32f302xc.h"
2975 .file 6 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/stm32f3xx.h"
2976 .file 7 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_def.h"
2977 .file 8 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_can.h"
2978 .file 9 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal.h"
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 121
DEFINED SYMBOLS
*ABS*:00000000 stm32f3xx_hal_can.c
C:\Users\nived\AppData\Local\Temp\ccBG23ts.s:21 .text.HAL_CAN_MspInit:00000000 $t
C:\Users\nived\AppData\Local\Temp\ccBG23ts.s:27 .text.HAL_CAN_MspInit:00000000 HAL_CAN_MspInit
C:\Users\nived\AppData\Local\Temp\ccBG23ts.s:42 .text.HAL_CAN_Init:00000000 $t
C:\Users\nived\AppData\Local\Temp\ccBG23ts.s:48 .text.HAL_CAN_Init:00000000 HAL_CAN_Init
C:\Users\nived\AppData\Local\Temp\ccBG23ts.s:338 .text.HAL_CAN_MspDeInit:00000000 $t
C:\Users\nived\AppData\Local\Temp\ccBG23ts.s:344 .text.HAL_CAN_MspDeInit:00000000 HAL_CAN_MspDeInit
C:\Users\nived\AppData\Local\Temp\ccBG23ts.s:359 .text.HAL_CAN_ConfigFilter:00000000 $t
C:\Users\nived\AppData\Local\Temp\ccBG23ts.s:365 .text.HAL_CAN_ConfigFilter:00000000 HAL_CAN_ConfigFilter
C:\Users\nived\AppData\Local\Temp\ccBG23ts.s:578 .text.HAL_CAN_Start:00000000 $t
C:\Users\nived\AppData\Local\Temp\ccBG23ts.s:584 .text.HAL_CAN_Start:00000000 HAL_CAN_Start
C:\Users\nived\AppData\Local\Temp\ccBG23ts.s:683 .text.HAL_CAN_Stop:00000000 $t
C:\Users\nived\AppData\Local\Temp\ccBG23ts.s:689 .text.HAL_CAN_Stop:00000000 HAL_CAN_Stop
C:\Users\nived\AppData\Local\Temp\ccBG23ts.s:789 .text.HAL_CAN_DeInit:00000000 $t
C:\Users\nived\AppData\Local\Temp\ccBG23ts.s:795 .text.HAL_CAN_DeInit:00000000 HAL_CAN_DeInit
C:\Users\nived\AppData\Local\Temp\ccBG23ts.s:849 .text.HAL_CAN_RequestSleep:00000000 $t
C:\Users\nived\AppData\Local\Temp\ccBG23ts.s:855 .text.HAL_CAN_RequestSleep:00000000 HAL_CAN_RequestSleep
C:\Users\nived\AppData\Local\Temp\ccBG23ts.s:905 .text.HAL_CAN_WakeUp:00000000 $t
C:\Users\nived\AppData\Local\Temp\ccBG23ts.s:911 .text.HAL_CAN_WakeUp:00000000 HAL_CAN_WakeUp
C:\Users\nived\AppData\Local\Temp\ccBG23ts.s:1008 .text.HAL_CAN_WakeUp:00000054 $d
C:\Users\nived\AppData\Local\Temp\ccBG23ts.s:1013 .text.HAL_CAN_IsSleepActive:00000000 $t
C:\Users\nived\AppData\Local\Temp\ccBG23ts.s:1019 .text.HAL_CAN_IsSleepActive:00000000 HAL_CAN_IsSleepActive
C:\Users\nived\AppData\Local\Temp\ccBG23ts.s:1069 .text.HAL_CAN_AddTxMessage:00000000 $t
C:\Users\nived\AppData\Local\Temp\ccBG23ts.s:1075 .text.HAL_CAN_AddTxMessage:00000000 HAL_CAN_AddTxMessage
C:\Users\nived\AppData\Local\Temp\ccBG23ts.s:1270 .text.HAL_CAN_AbortTxRequest:00000000 $t
C:\Users\nived\AppData\Local\Temp\ccBG23ts.s:1276 .text.HAL_CAN_AbortTxRequest:00000000 HAL_CAN_AbortTxRequest
C:\Users\nived\AppData\Local\Temp\ccBG23ts.s:1352 .text.HAL_CAN_GetTxMailboxesFreeLevel:00000000 $t
C:\Users\nived\AppData\Local\Temp\ccBG23ts.s:1358 .text.HAL_CAN_GetTxMailboxesFreeLevel:00000000 HAL_CAN_GetTxMailboxesFreeLevel
C:\Users\nived\AppData\Local\Temp\ccBG23ts.s:1429 .text.HAL_CAN_IsTxMessagePending:00000000 $t
C:\Users\nived\AppData\Local\Temp\ccBG23ts.s:1435 .text.HAL_CAN_IsTxMessagePending:00000000 HAL_CAN_IsTxMessagePending
C:\Users\nived\AppData\Local\Temp\ccBG23ts.s:1492 .text.HAL_CAN_GetTxTimestamp:00000000 $t
C:\Users\nived\AppData\Local\Temp\ccBG23ts.s:1498 .text.HAL_CAN_GetTxTimestamp:00000000 HAL_CAN_GetTxTimestamp
C:\Users\nived\AppData\Local\Temp\ccBG23ts.s:1571 .text.HAL_CAN_GetRxMessage:00000000 $t
C:\Users\nived\AppData\Local\Temp\ccBG23ts.s:1577 .text.HAL_CAN_GetRxMessage:00000000 HAL_CAN_GetRxMessage
C:\Users\nived\AppData\Local\Temp\ccBG23ts.s:1884 .text.HAL_CAN_GetRxFifoFillLevel:00000000 $t
C:\Users\nived\AppData\Local\Temp\ccBG23ts.s:1890 .text.HAL_CAN_GetRxFifoFillLevel:00000000 HAL_CAN_GetRxFifoFillLevel
C:\Users\nived\AppData\Local\Temp\ccBG23ts.s:1952 .text.HAL_CAN_ActivateNotification:00000000 $t
C:\Users\nived\AppData\Local\Temp\ccBG23ts.s:1958 .text.HAL_CAN_ActivateNotification:00000000 HAL_CAN_ActivateNotification
C:\Users\nived\AppData\Local\Temp\ccBG23ts.s:2009 .text.HAL_CAN_DeactivateNotification:00000000 $t
C:\Users\nived\AppData\Local\Temp\ccBG23ts.s:2015 .text.HAL_CAN_DeactivateNotification:00000000 HAL_CAN_DeactivateNotification
C:\Users\nived\AppData\Local\Temp\ccBG23ts.s:2066 .text.HAL_CAN_TxMailbox0CompleteCallback:00000000 $t
C:\Users\nived\AppData\Local\Temp\ccBG23ts.s:2072 .text.HAL_CAN_TxMailbox0CompleteCallback:00000000 HAL_CAN_TxMailbox0CompleteCallback
C:\Users\nived\AppData\Local\Temp\ccBG23ts.s:2087 .text.HAL_CAN_TxMailbox1CompleteCallback:00000000 $t
C:\Users\nived\AppData\Local\Temp\ccBG23ts.s:2093 .text.HAL_CAN_TxMailbox1CompleteCallback:00000000 HAL_CAN_TxMailbox1CompleteCallback
C:\Users\nived\AppData\Local\Temp\ccBG23ts.s:2108 .text.HAL_CAN_TxMailbox2CompleteCallback:00000000 $t
C:\Users\nived\AppData\Local\Temp\ccBG23ts.s:2114 .text.HAL_CAN_TxMailbox2CompleteCallback:00000000 HAL_CAN_TxMailbox2CompleteCallback
C:\Users\nived\AppData\Local\Temp\ccBG23ts.s:2129 .text.HAL_CAN_TxMailbox0AbortCallback:00000000 $t
C:\Users\nived\AppData\Local\Temp\ccBG23ts.s:2135 .text.HAL_CAN_TxMailbox0AbortCallback:00000000 HAL_CAN_TxMailbox0AbortCallback
C:\Users\nived\AppData\Local\Temp\ccBG23ts.s:2150 .text.HAL_CAN_TxMailbox1AbortCallback:00000000 $t
C:\Users\nived\AppData\Local\Temp\ccBG23ts.s:2156 .text.HAL_CAN_TxMailbox1AbortCallback:00000000 HAL_CAN_TxMailbox1AbortCallback
C:\Users\nived\AppData\Local\Temp\ccBG23ts.s:2171 .text.HAL_CAN_TxMailbox2AbortCallback:00000000 $t
C:\Users\nived\AppData\Local\Temp\ccBG23ts.s:2177 .text.HAL_CAN_TxMailbox2AbortCallback:00000000 HAL_CAN_TxMailbox2AbortCallback
C:\Users\nived\AppData\Local\Temp\ccBG23ts.s:2192 .text.HAL_CAN_RxFifo0MsgPendingCallback:00000000 $t
C:\Users\nived\AppData\Local\Temp\ccBG23ts.s:2198 .text.HAL_CAN_RxFifo0MsgPendingCallback:00000000 HAL_CAN_RxFifo0MsgPendingCallback
C:\Users\nived\AppData\Local\Temp\ccBG23ts.s:2213 .text.HAL_CAN_RxFifo0FullCallback:00000000 $t
C:\Users\nived\AppData\Local\Temp\ccBG23ts.s:2219 .text.HAL_CAN_RxFifo0FullCallback:00000000 HAL_CAN_RxFifo0FullCallback
ARM GAS C:\Users\nived\AppData\Local\Temp\ccBG23ts.s page 122
C:\Users\nived\AppData\Local\Temp\ccBG23ts.s:2234 .text.HAL_CAN_RxFifo1MsgPendingCallback:00000000 $t
C:\Users\nived\AppData\Local\Temp\ccBG23ts.s:2240 .text.HAL_CAN_RxFifo1MsgPendingCallback:00000000 HAL_CAN_RxFifo1MsgPendingCallback
C:\Users\nived\AppData\Local\Temp\ccBG23ts.s:2255 .text.HAL_CAN_RxFifo1FullCallback:00000000 $t
C:\Users\nived\AppData\Local\Temp\ccBG23ts.s:2261 .text.HAL_CAN_RxFifo1FullCallback:00000000 HAL_CAN_RxFifo1FullCallback
C:\Users\nived\AppData\Local\Temp\ccBG23ts.s:2276 .text.HAL_CAN_SleepCallback:00000000 $t
C:\Users\nived\AppData\Local\Temp\ccBG23ts.s:2282 .text.HAL_CAN_SleepCallback:00000000 HAL_CAN_SleepCallback
C:\Users\nived\AppData\Local\Temp\ccBG23ts.s:2297 .text.HAL_CAN_WakeUpFromRxMsgCallback:00000000 $t
C:\Users\nived\AppData\Local\Temp\ccBG23ts.s:2303 .text.HAL_CAN_WakeUpFromRxMsgCallback:00000000 HAL_CAN_WakeUpFromRxMsgCallback
C:\Users\nived\AppData\Local\Temp\ccBG23ts.s:2318 .text.HAL_CAN_ErrorCallback:00000000 $t
C:\Users\nived\AppData\Local\Temp\ccBG23ts.s:2324 .text.HAL_CAN_ErrorCallback:00000000 HAL_CAN_ErrorCallback
C:\Users\nived\AppData\Local\Temp\ccBG23ts.s:2339 .text.HAL_CAN_IRQHandler:00000000 $t
C:\Users\nived\AppData\Local\Temp\ccBG23ts.s:2345 .text.HAL_CAN_IRQHandler:00000000 HAL_CAN_IRQHandler
C:\Users\nived\AppData\Local\Temp\ccBG23ts.s:2823 .text.HAL_CAN_GetState:00000000 $t
C:\Users\nived\AppData\Local\Temp\ccBG23ts.s:2829 .text.HAL_CAN_GetState:00000000 HAL_CAN_GetState
C:\Users\nived\AppData\Local\Temp\ccBG23ts.s:2890 .text.HAL_CAN_GetError:00000000 $t
C:\Users\nived\AppData\Local\Temp\ccBG23ts.s:2896 .text.HAL_CAN_GetError:00000000 HAL_CAN_GetError
C:\Users\nived\AppData\Local\Temp\ccBG23ts.s:2914 .text.HAL_CAN_ResetError:00000000 $t
C:\Users\nived\AppData\Local\Temp\ccBG23ts.s:2920 .text.HAL_CAN_ResetError:00000000 HAL_CAN_ResetError
UNDEFINED SYMBOLS
HAL_GetTick