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