ARM GAS  /tmp/ccj1aKCo.s 			page 1


   1              		.cpu cortex-m4
   2              		.arch armv7e-m
   3              		.fpu fpv4-sp-d16
   4              		.eabi_attribute 27, 1
   5              		.eabi_attribute 28, 1
   6              		.eabi_attribute 20, 1
   7              		.eabi_attribute 21, 1
   8              		.eabi_attribute 23, 3
   9              		.eabi_attribute 24, 1
  10              		.eabi_attribute 25, 1
  11              		.eabi_attribute 26, 1
  12              		.eabi_attribute 30, 1
  13              		.eabi_attribute 34, 1
  14              		.eabi_attribute 18, 4
  15              		.file	"stm32f3xx_hal_can.c"
  16              		.text
  17              	.Ltext0:
  18              		.cfi_sections	.debug_frame
  19              		.file 1 "Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c"
  20              		.section	.text.HAL_CAN_MspInit,"ax",%progbits
  21              		.align	1
  22              		.weak	HAL_CAN_MspInit
  23              		.syntax unified
  24              		.thumb
  25              		.thumb_func
  27              	HAL_CAN_MspInit:
  28              	.LVL0:
  29              	.LFB132:
   1:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
   2:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   ******************************************************************************
   3:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @file    stm32f3xx_hal_can.c
   4:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @author  MCD Application Team
   5:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @brief   CAN HAL module driver.
   6:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *          This file provides firmware functions to manage the following
   7:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *          functionalities of the Controller Area Network (CAN) peripheral:
   8:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *           + Initialization and de-initialization functions
   9:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *           + Configuration functions
  10:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *           + Control functions
  11:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *           + Interrupts management
  12:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *           + Callbacks functions
  13:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *           + Peripheral State and Error functions
  14:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *
  15:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   @verbatim
  16:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   ==============================================================================
  17:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****                         ##### How to use this driver #####
  18:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   ==============================================================================
  19:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     [..]
  20:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       (#) Initialize the CAN low level resources by implementing the
  21:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           HAL_CAN_MspInit():
  22:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****          (++) Enable the CAN interface clock using __HAL_RCC_CANx_CLK_ENABLE()
  23:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****          (++) Configure CAN pins
  24:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****              (+++) Enable the clock for the CAN GPIOs
  25:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****              (+++) Configure CAN pins as alternate function open-drain
  26:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****          (++) In case of using interrupts (e.g. HAL_CAN_ActivateNotification())
  27:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****              (+++) Configure the CAN interrupt priority using
  28:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****                    HAL_NVIC_SetPriority()
  29:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****              (+++) Enable the CAN IRQ handler using HAL_NVIC_EnableIRQ()
ARM GAS  /tmp/ccj1aKCo.s 			page 2


  30:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****              (+++) In CAN IRQ handler, call HAL_CAN_IRQHandler()
  31:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
  32:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       (#) Initialize the CAN peripheral using HAL_CAN_Init() function. This
  33:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           function resorts to HAL_CAN_MspInit() for low-level initialization.
  34:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
  35:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       (#) Configure the reception filters using the following configuration
  36:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           functions:
  37:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****             (++) HAL_CAN_ConfigFilter()
  38:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
  39:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       (#) Start the CAN module using HAL_CAN_Start() function. At this level
  40:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           the node is active on the bus: it receive messages, and can send
  41:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           messages.
  42:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
  43:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       (#) To manage messages transmission, the following Tx control functions
  44:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           can be used:
  45:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****             (++) HAL_CAN_AddTxMessage() to request transmission of a new
  46:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****                  message.
  47:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****             (++) HAL_CAN_AbortTxRequest() to abort transmission of a pending
  48:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****                  message.
  49:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****             (++) HAL_CAN_GetTxMailboxesFreeLevel() to get the number of free Tx
  50:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****                  mailboxes.
  51:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****             (++) HAL_CAN_IsTxMessagePending() to check if a message is pending
  52:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****                  in a Tx mailbox.
  53:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****             (++) HAL_CAN_GetTxTimestamp() to get the timestamp of Tx message
  54:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****                  sent, if time triggered communication mode is enabled.
  55:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
  56:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       (#) When a message is received into the CAN Rx FIFOs, it can be retrieved
  57:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           using the HAL_CAN_GetRxMessage() function. The function
  58:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           HAL_CAN_GetRxFifoFillLevel() allows to know how many Rx message are
  59:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           stored in the Rx Fifo.
  60:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
  61:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       (#) Calling the HAL_CAN_Stop() function stops the CAN module.
  62:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
  63:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       (#) The deinitialization is achieved with HAL_CAN_DeInit() function.
  64:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
  65:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
  66:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       *** Polling mode operation ***
  67:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       ==============================
  68:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     [..]
  69:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       (#) Reception:
  70:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****             (++) Monitor reception of message using HAL_CAN_GetRxFifoFillLevel()
  71:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****                  until at least one message is received.
  72:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****             (++) Then get the message using HAL_CAN_GetRxMessage().
  73:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
  74:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       (#) Transmission:
  75:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****             (++) Monitor the Tx mailboxes availability until at least one Tx
  76:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****                  mailbox is free, using HAL_CAN_GetTxMailboxesFreeLevel().
  77:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****             (++) Then request transmission of a message using
  78:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****                  HAL_CAN_AddTxMessage().
  79:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
  80:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
  81:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       *** Interrupt mode operation ***
  82:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       ================================
  83:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     [..]
  84:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       (#) Notifications are activated using HAL_CAN_ActivateNotification()
  85:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           function. Then, the process can be controlled through the
  86:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           available user callbacks: HAL_CAN_xxxCallback(), using same APIs
ARM GAS  /tmp/ccj1aKCo.s 			page 3


  87:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           HAL_CAN_GetRxMessage() and HAL_CAN_AddTxMessage().
  88:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
  89:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       (#) Notifications can be deactivated using
  90:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           HAL_CAN_DeactivateNotification() function.
  91:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
  92:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       (#) Special care should be taken for CAN_IT_RX_FIFO0_MSG_PENDING and
  93:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           CAN_IT_RX_FIFO1_MSG_PENDING notifications. These notifications trig
  94:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           the callbacks HAL_CAN_RxFIFO0MsgPendingCallback() and
  95:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           HAL_CAN_RxFIFO1MsgPendingCallback(). User has two possible options
  96:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           here.
  97:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****             (++) Directly get the Rx message in the callback, using
  98:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****                  HAL_CAN_GetRxMessage().
  99:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****             (++) Or deactivate the notification in the callback without
 100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****                  getting the Rx message. The Rx message can then be got later
 101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****                  using HAL_CAN_GetRxMessage(). Once the Rx message have been
 102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****                  read, the notification can be activated again.
 103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       *** Sleep mode ***
 106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       ==================
 107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     [..]
 108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       (#) The CAN peripheral can be put in sleep mode (low power), using
 109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           HAL_CAN_RequestSleep(). The sleep mode will be entered as soon as the
 110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           current CAN activity (transmission or reception of a CAN frame) will
 111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           be completed.
 112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       (#) A notification can be activated to be informed when the sleep mode
 114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           will be entered.
 115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       (#) It can be checked if the sleep mode is entered using
 117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           HAL_CAN_IsSleepActive().
 118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           Note that the CAN state (accessible from the API HAL_CAN_GetState())
 119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           is HAL_CAN_STATE_SLEEP_PENDING as soon as the sleep mode request is
 120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           submitted (the sleep mode is not yet entered), and become
 121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           HAL_CAN_STATE_SLEEP_ACTIVE when the sleep mode is effective.
 122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       (#) The wake-up from sleep mode can be triggered by two ways:
 124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****             (++) Using HAL_CAN_WakeUp(). When returning from this function,
 125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****                  the sleep mode is exited (if return status is HAL_OK).
 126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****             (++) When a start of Rx CAN frame is detected by the CAN peripheral,
 127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****                  if automatic wake up mode is enabled.
 128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *** Callback registration ***
 130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   =============================================
 131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   The compilation define  USE_HAL_CAN_REGISTER_CALLBACKS when set to 1
 133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   allows the user to configure dynamically the driver callbacks.
 134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   Use Function HAL_CAN_RegisterCallback() to register an interrupt callback.
 135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   Function HAL_CAN_RegisterCallback() allows to register following callbacks:
 137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     (+) TxMailbox0CompleteCallback   : Tx Mailbox 0 Complete Callback.
 138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     (+) TxMailbox1CompleteCallback   : Tx Mailbox 1 Complete Callback.
 139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     (+) TxMailbox2CompleteCallback   : Tx Mailbox 2 Complete Callback.
 140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     (+) TxMailbox0AbortCallback      : Tx Mailbox 0 Abort Callback.
 141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     (+) TxMailbox1AbortCallback      : Tx Mailbox 1 Abort Callback.
 142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     (+) TxMailbox2AbortCallback      : Tx Mailbox 2 Abort Callback.
 143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     (+) RxFifo0MsgPendingCallback    : Rx Fifo 0 Message Pending Callback.
ARM GAS  /tmp/ccj1aKCo.s 			page 4


 144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     (+) RxFifo0FullCallback          : Rx Fifo 0 Full Callback.
 145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     (+) RxFifo1MsgPendingCallback    : Rx Fifo 1 Message Pending Callback.
 146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     (+) RxFifo1FullCallback          : Rx Fifo 1 Full Callback.
 147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     (+) SleepCallback                : Sleep Callback.
 148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     (+) WakeUpFromRxMsgCallback      : Wake Up From Rx Message Callback.
 149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     (+) ErrorCallback                : Error Callback.
 150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     (+) MspInitCallback              : CAN MspInit.
 151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     (+) MspDeInitCallback            : CAN MspDeInit.
 152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   This function takes as parameters the HAL peripheral handle, the Callback ID
 153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   and a pointer to the user callback function.
 154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   Use function HAL_CAN_UnRegisterCallback() to reset a callback to the default
 156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   weak function.
 157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   HAL_CAN_UnRegisterCallback takes as parameters the HAL peripheral handle,
 158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   and the Callback ID.
 159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   This function allows to reset following callbacks:
 160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     (+) TxMailbox0CompleteCallback   : Tx Mailbox 0 Complete Callback.
 161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     (+) TxMailbox1CompleteCallback   : Tx Mailbox 1 Complete Callback.
 162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     (+) TxMailbox2CompleteCallback   : Tx Mailbox 2 Complete Callback.
 163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     (+) TxMailbox0AbortCallback      : Tx Mailbox 0 Abort Callback.
 164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     (+) TxMailbox1AbortCallback      : Tx Mailbox 1 Abort Callback.
 165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     (+) TxMailbox2AbortCallback      : Tx Mailbox 2 Abort Callback.
 166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     (+) RxFifo0MsgPendingCallback    : Rx Fifo 0 Message Pending Callback.
 167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     (+) RxFifo0FullCallback          : Rx Fifo 0 Full Callback.
 168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     (+) RxFifo1MsgPendingCallback    : Rx Fifo 1 Message Pending Callback.
 169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     (+) RxFifo1FullCallback          : Rx Fifo 1 Full Callback.
 170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     (+) SleepCallback                : Sleep Callback.
 171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     (+) WakeUpFromRxMsgCallback      : Wake Up From Rx Message Callback.
 172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     (+) ErrorCallback                : Error Callback.
 173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     (+) MspInitCallback              : CAN MspInit.
 174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     (+) MspDeInitCallback            : CAN MspDeInit.
 175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   By default, after the HAL_CAN_Init() and when the state is HAL_CAN_STATE_RESET,
 177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   all callbacks are set to the corresponding weak functions:
 178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   example HAL_CAN_ErrorCallback().
 179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   Exception done for MspInit and MspDeInit functions that are
 180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   reset to the legacy weak function in the HAL_CAN_Init()/ HAL_CAN_DeInit() only when
 181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   these callbacks are null (not registered beforehand).
 182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   if not, MspInit or MspDeInit are not null, the HAL_CAN_Init()/ HAL_CAN_DeInit()
 183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   keep and use the user MspInit/MspDeInit callbacks (registered beforehand)
 184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   Callbacks can be registered/unregistered in HAL_CAN_STATE_READY state only.
 186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   Exception done MspInit/MspDeInit that can be registered/unregistered
 187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   in HAL_CAN_STATE_READY or HAL_CAN_STATE_RESET state,
 188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   thus registered (user) MspInit/DeInit callbacks can be used during the Init/DeInit.
 189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   In that case first register the MspInit/MspDeInit user callbacks
 190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   using HAL_CAN_RegisterCallback() before calling HAL_CAN_DeInit()
 191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   or HAL_CAN_Init() function.
 192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   When The compilation define USE_HAL_CAN_REGISTER_CALLBACKS is set to 0 or
 194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   not defined, the callback registration feature is not available and all callbacks
 195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   are set to the corresponding weak functions.
 196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   @endverbatim
 198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   ******************************************************************************
 199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @attention
 200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *
ARM GAS  /tmp/ccj1aKCo.s 			page 5


 201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * <h2><center>&copy; Copyright (c) 2016 STMicroelectronics.
 202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * All rights reserved.</center></h2>
 203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *
 204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * This software component is licensed by ST under BSD 3-Clause license,
 205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * the "License"; You may not use this file except in compliance with the
 206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * License. You may obtain a copy of the License at:
 207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *                        opensource.org/licenses/BSD-3-Clause
 208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *
 209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   ******************************************************************************
 210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   */
 211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Includes ------------------------------------------------------------------*/
 213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #include "stm32f3xx_hal.h"
 214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /** @addtogroup STM32F3xx_HAL_Driver
 216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @{
 217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   */
 218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if defined(CAN)
 220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /** @defgroup CAN CAN
 222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @brief CAN driver modules
 223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @{
 224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   */
 225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #ifdef HAL_CAN_MODULE_ENABLED
 227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #ifdef HAL_CAN_LEGACY_MODULE_ENABLED
 229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   #error "The CAN driver cannot be used with its legacy, Please enable only one CAN module at once"
 230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif
 231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Private typedef -----------------------------------------------------------*/
 233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Private define ------------------------------------------------------------*/
 234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /** @defgroup CAN_Private_Constants CAN Private Constants
 235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @{
 236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   */
 237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #define CAN_TIMEOUT_VALUE 10U
 238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
 239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @}
 240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   */
 241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Private macro -------------------------------------------------------------*/
 242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Private variables ---------------------------------------------------------*/
 243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Private function prototypes -----------------------------------------------*/
 244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /* Exported functions --------------------------------------------------------*/
 245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /** @defgroup CAN_Exported_Functions CAN Exported Functions
 247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @{
 248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   */
 249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /** @defgroup CAN_Exported_Functions_Group1 Initialization and de-initialization functions
 251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****  *  @brief    Initialization and Configuration functions
 252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****  *
 253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** @verbatim
 254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   ==============================================================================
 255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****               ##### Initialization and de-initialization functions #####
 256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   ==============================================================================
 257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     [..]  This section provides functions allowing to:
ARM GAS  /tmp/ccj1aKCo.s 			page 6


 258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       (+) HAL_CAN_Init                       : Initialize and configure the CAN.
 259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       (+) HAL_CAN_DeInit                     : De-initialize the CAN.
 260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       (+) HAL_CAN_MspInit                    : Initialize the CAN MSP.
 261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       (+) HAL_CAN_MspDeInit                  : DeInitialize the CAN MSP.
 262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** @endverbatim
 264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @{
 265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   */
 266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
 268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @brief  Initializes the CAN peripheral according to the specified
 269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *         parameters in the CAN_InitStruct.
 270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @param  hcan pointer to a CAN_HandleTypeDef structure that contains
 271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *         the configuration information for the specified CAN.
 272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @retval HAL status
 273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   */
 274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_Init(CAN_HandleTypeDef *hcan)
 275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
 276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   uint32_t tickstart;
 277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* Check CAN handle */
 279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   if (hcan == NULL)
 280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
 281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     return HAL_ERROR;
 282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
 283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* Check the parameters */
 285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   assert_param(IS_CAN_ALL_INSTANCE(hcan->Instance));
 286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   assert_param(IS_FUNCTIONAL_STATE(hcan->Init.TimeTriggeredMode));
 287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   assert_param(IS_FUNCTIONAL_STATE(hcan->Init.AutoBusOff));
 288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   assert_param(IS_FUNCTIONAL_STATE(hcan->Init.AutoWakeUp));
 289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   assert_param(IS_FUNCTIONAL_STATE(hcan->Init.AutoRetransmission));
 290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   assert_param(IS_FUNCTIONAL_STATE(hcan->Init.ReceiveFifoLocked));
 291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   assert_param(IS_FUNCTIONAL_STATE(hcan->Init.TransmitFifoPriority));
 292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   assert_param(IS_CAN_MODE(hcan->Init.Mode));
 293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   assert_param(IS_CAN_SJW(hcan->Init.SyncJumpWidth));
 294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   assert_param(IS_CAN_BS1(hcan->Init.TimeSeg1));
 295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   assert_param(IS_CAN_BS2(hcan->Init.TimeSeg2));
 296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   assert_param(IS_CAN_PRESCALER(hcan->Init.Prescaler));
 297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
 299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   if (hcan->State == HAL_CAN_STATE_RESET)
 300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
 301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* Reset callbacks to legacy functions */
 302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     hcan->RxFifo0MsgPendingCallback  =  HAL_CAN_RxFifo0MsgPendingCallback;  /* Legacy weak RxFifo0M
 303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     hcan->RxFifo0FullCallback        =  HAL_CAN_RxFifo0FullCallback;        /* Legacy weak RxFifo0F
 304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     hcan->RxFifo1MsgPendingCallback  =  HAL_CAN_RxFifo1MsgPendingCallback;  /* Legacy weak RxFifo1M
 305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     hcan->RxFifo1FullCallback        =  HAL_CAN_RxFifo1FullCallback;        /* Legacy weak RxFifo1F
 306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     hcan->TxMailbox0CompleteCallback =  HAL_CAN_TxMailbox0CompleteCallback; /* Legacy weak TxMailbo
 307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     hcan->TxMailbox1CompleteCallback =  HAL_CAN_TxMailbox1CompleteCallback; /* Legacy weak TxMailbo
 308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     hcan->TxMailbox2CompleteCallback =  HAL_CAN_TxMailbox2CompleteCallback; /* Legacy weak TxMailbo
 309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     hcan->TxMailbox0AbortCallback    =  HAL_CAN_TxMailbox0AbortCallback;    /* Legacy weak TxMailbo
 310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     hcan->TxMailbox1AbortCallback    =  HAL_CAN_TxMailbox1AbortCallback;    /* Legacy weak TxMailbo
 311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     hcan->TxMailbox2AbortCallback    =  HAL_CAN_TxMailbox2AbortCallback;    /* Legacy weak TxMailbo
 312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     hcan->SleepCallback              =  HAL_CAN_SleepCallback;              /* Legacy weak SleepCal
 313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     hcan->WakeUpFromRxMsgCallback    =  HAL_CAN_WakeUpFromRxMsgCallback;    /* Legacy weak WakeUpFr
 314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     hcan->ErrorCallback              =  HAL_CAN_ErrorCallback;              /* Legacy weak ErrorCal
ARM GAS  /tmp/ccj1aKCo.s 			page 7


 315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     if (hcan->MspInitCallback == NULL)
 317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       hcan->MspInitCallback = HAL_CAN_MspInit; /* Legacy weak MspInit */
 319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
 320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* Init the low level hardware: CLOCK, NVIC */
 322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     hcan->MspInitCallback(hcan);
 323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
 324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #else
 326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   if (hcan->State == HAL_CAN_STATE_RESET)
 327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
 328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* Init the low level hardware: CLOCK, NVIC */
 329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     HAL_CAN_MspInit(hcan);
 330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
 331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* (USE_HAL_CAN_REGISTER_CALLBACKS) */
 332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* Request initialisation */
 334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   SET_BIT(hcan->Instance->MCR, CAN_MCR_INRQ);
 335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* Get tick */
 337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   tickstart = HAL_GetTick();
 338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* Wait initialisation acknowledge */
 340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   while ((hcan->Instance->MSR & CAN_MSR_INAK) == 0U)
 341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
 342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     if ((HAL_GetTick() - tickstart) > CAN_TIMEOUT_VALUE)
 343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       /* Update error code */
 345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       hcan->ErrorCode |= HAL_CAN_ERROR_TIMEOUT;
 346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       /* Change CAN state */
 348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       hcan->State = HAL_CAN_STATE_ERROR;
 349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       return HAL_ERROR;
 351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
 352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
 353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* Exit from sleep mode */
 355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   CLEAR_BIT(hcan->Instance->MCR, CAN_MCR_SLEEP);
 356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* Get tick */
 358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   tickstart = HAL_GetTick();
 359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* Check Sleep mode leave acknowledge */
 361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   while ((hcan->Instance->MSR & CAN_MSR_SLAK) != 0U)
 362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
 363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     if ((HAL_GetTick() - tickstart) > CAN_TIMEOUT_VALUE)
 364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       /* Update error code */
 366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       hcan->ErrorCode |= HAL_CAN_ERROR_TIMEOUT;
 367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       /* Change CAN state */
 369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       hcan->State = HAL_CAN_STATE_ERROR;
 370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       return HAL_ERROR;
ARM GAS  /tmp/ccj1aKCo.s 			page 8


 372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
 373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
 374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* Set the time triggered communication mode */
 376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   if (hcan->Init.TimeTriggeredMode == ENABLE)
 377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
 378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     SET_BIT(hcan->Instance->MCR, CAN_MCR_TTCM);
 379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
 380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   else
 381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
 382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     CLEAR_BIT(hcan->Instance->MCR, CAN_MCR_TTCM);
 383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
 384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* Set the automatic bus-off management */
 386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   if (hcan->Init.AutoBusOff == ENABLE)
 387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
 388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     SET_BIT(hcan->Instance->MCR, CAN_MCR_ABOM);
 389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
 390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   else
 391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
 392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     CLEAR_BIT(hcan->Instance->MCR, CAN_MCR_ABOM);
 393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
 394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* Set the automatic wake-up mode */
 396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   if (hcan->Init.AutoWakeUp == ENABLE)
 397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
 398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     SET_BIT(hcan->Instance->MCR, CAN_MCR_AWUM);
 399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
 400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   else
 401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
 402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     CLEAR_BIT(hcan->Instance->MCR, CAN_MCR_AWUM);
 403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
 404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* Set the automatic retransmission */
 406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   if (hcan->Init.AutoRetransmission == ENABLE)
 407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
 408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     CLEAR_BIT(hcan->Instance->MCR, CAN_MCR_NART);
 409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
 410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   else
 411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
 412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     SET_BIT(hcan->Instance->MCR, CAN_MCR_NART);
 413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
 414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* Set the receive FIFO locked mode */
 416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   if (hcan->Init.ReceiveFifoLocked == ENABLE)
 417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
 418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     SET_BIT(hcan->Instance->MCR, CAN_MCR_RFLM);
 419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
 420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   else
 421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
 422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     CLEAR_BIT(hcan->Instance->MCR, CAN_MCR_RFLM);
 423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
 424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* Set the transmit FIFO priority */
 426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   if (hcan->Init.TransmitFifoPriority == ENABLE)
 427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
 428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     SET_BIT(hcan->Instance->MCR, CAN_MCR_TXFP);
ARM GAS  /tmp/ccj1aKCo.s 			page 9


 429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
 430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   else
 431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
 432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     CLEAR_BIT(hcan->Instance->MCR, CAN_MCR_TXFP);
 433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
 434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* Set the bit timing register */
 436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   WRITE_REG(hcan->Instance->BTR, (uint32_t)(hcan->Init.Mode           |
 437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****                                             hcan->Init.SyncJumpWidth  |
 438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****                                             hcan->Init.TimeSeg1       |
 439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****                                             hcan->Init.TimeSeg2       |
 440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****                                             (hcan->Init.Prescaler - 1U)));
 441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* Initialize the error code */
 443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   hcan->ErrorCode = HAL_CAN_ERROR_NONE;
 444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* Initialize the CAN state */
 446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   hcan->State = HAL_CAN_STATE_READY;
 447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* Return function status */
 449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   return HAL_OK;
 450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
 451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
 453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @brief  Deinitializes the CAN peripheral registers to their default
 454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *         reset values.
 455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @param  hcan pointer to a CAN_HandleTypeDef structure that contains
 456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *         the configuration information for the specified CAN.
 457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @retval HAL status
 458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   */
 459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_DeInit(CAN_HandleTypeDef *hcan)
 460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
 461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* Check CAN handle */
 462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   if (hcan == NULL)
 463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
 464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     return HAL_ERROR;
 465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
 466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* Check the parameters */
 468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   assert_param(IS_CAN_ALL_INSTANCE(hcan->Instance));
 469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* Stop the CAN module */
 471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   (void)HAL_CAN_Stop(hcan);
 472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
 474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   if (hcan->MspDeInitCallback == NULL)
 475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
 476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     hcan->MspDeInitCallback = HAL_CAN_MspDeInit; /* Legacy weak MspDeInit */
 477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
 478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* DeInit the low level hardware: CLOCK, NVIC */
 480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   hcan->MspDeInitCallback(hcan);
 481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #else
 483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* DeInit the low level hardware: CLOCK, NVIC */
 484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   HAL_CAN_MspDeInit(hcan);
 485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* (USE_HAL_CAN_REGISTER_CALLBACKS) */
ARM GAS  /tmp/ccj1aKCo.s 			page 10


 486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* Reset the CAN peripheral */
 488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   SET_BIT(hcan->Instance->MCR, CAN_MCR_RESET);
 489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* Reset the CAN ErrorCode */
 491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   hcan->ErrorCode = HAL_CAN_ERROR_NONE;
 492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* Change CAN state */
 494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   hcan->State = HAL_CAN_STATE_RESET;
 495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* Return function status */
 497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   return HAL_OK;
 498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
 499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
 501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @brief  Initializes the CAN MSP.
 502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @param  hcan pointer to a CAN_HandleTypeDef structure that contains
 503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *         the configuration information for the specified CAN.
 504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @retval None
 505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   */
 506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __weak void HAL_CAN_MspInit(CAN_HandleTypeDef *hcan)
 507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
  30              		.loc 1 507 1 view -0
  31              		.cfi_startproc
  32              		@ args = 0, pretend = 0, frame = 0
  33              		@ frame_needed = 0, uses_anonymous_args = 0
  34              		@ link register save eliminated.
 508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* Prevent unused argument(s) compilation warning */
 509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   UNUSED(hcan);
  35              		.loc 1 509 3 view .LVU1
 510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* NOTE : This function Should not be modified, when the callback is needed,
 512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****             the HAL_CAN_MspInit could be implemented in the user file
 513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****    */
 514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
  36              		.loc 1 514 1 is_stmt 0 view .LVU2
  37 0000 7047     		bx	lr
  38              		.cfi_endproc
  39              	.LFE132:
  41              		.section	.text.HAL_CAN_Init,"ax",%progbits
  42              		.align	1
  43              		.global	HAL_CAN_Init
  44              		.syntax unified
  45              		.thumb
  46              		.thumb_func
  48              	HAL_CAN_Init:
  49              	.LVL1:
  50              	.LFB130:
 275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   uint32_t tickstart;
  51              		.loc 1 275 1 is_stmt 1 view -0
  52              		.cfi_startproc
  53              		@ args = 0, pretend = 0, frame = 0
  54              		@ frame_needed = 0, uses_anonymous_args = 0
 276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
  55              		.loc 1 276 3 view .LVU4
 279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
  56              		.loc 1 279 3 view .LVU5
ARM GAS  /tmp/ccj1aKCo.s 			page 11


 279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
  57              		.loc 1 279 6 is_stmt 0 view .LVU6
  58 0000 0028     		cmp	r0, #0
  59 0002 00F0A180 		beq	.L21
 275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   uint32_t tickstart;
  60              		.loc 1 275 1 view .LVU7
  61 0006 38B5     		push	{r3, r4, r5, lr}
  62              		.cfi_def_cfa_offset 16
  63              		.cfi_offset 3, -16
  64              		.cfi_offset 4, -12
  65              		.cfi_offset 5, -8
  66              		.cfi_offset 14, -4
  67 0008 0446     		mov	r4, r0
 285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   assert_param(IS_FUNCTIONAL_STATE(hcan->Init.TimeTriggeredMode));
  68              		.loc 1 285 3 is_stmt 1 view .LVU8
 286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   assert_param(IS_FUNCTIONAL_STATE(hcan->Init.AutoBusOff));
  69              		.loc 1 286 3 view .LVU9
 287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   assert_param(IS_FUNCTIONAL_STATE(hcan->Init.AutoWakeUp));
  70              		.loc 1 287 3 view .LVU10
 288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   assert_param(IS_FUNCTIONAL_STATE(hcan->Init.AutoRetransmission));
  71              		.loc 1 288 3 view .LVU11
 289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   assert_param(IS_FUNCTIONAL_STATE(hcan->Init.ReceiveFifoLocked));
  72              		.loc 1 289 3 view .LVU12
 290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   assert_param(IS_FUNCTIONAL_STATE(hcan->Init.TransmitFifoPriority));
  73              		.loc 1 290 3 view .LVU13
 291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   assert_param(IS_CAN_MODE(hcan->Init.Mode));
  74              		.loc 1 291 3 view .LVU14
 292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   assert_param(IS_CAN_SJW(hcan->Init.SyncJumpWidth));
  75              		.loc 1 292 3 view .LVU15
 293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   assert_param(IS_CAN_BS1(hcan->Init.TimeSeg1));
  76              		.loc 1 293 3 view .LVU16
 294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   assert_param(IS_CAN_BS2(hcan->Init.TimeSeg2));
  77              		.loc 1 294 3 view .LVU17
 295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   assert_param(IS_CAN_PRESCALER(hcan->Init.Prescaler));
  78              		.loc 1 295 3 view .LVU18
 296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
  79              		.loc 1 296 3 view .LVU19
 326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
  80              		.loc 1 326 3 view .LVU20
 326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
  81              		.loc 1 326 11 is_stmt 0 view .LVU21
  82 000a 90F82030 		ldrb	r3, [r0, #32]	@ zero_extendqisi2
 326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
  83              		.loc 1 326 6 view .LVU22
  84 000e D3B1     		cbz	r3, .L26
  85              	.LVL2:
  86              	.L4:
 334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
  87              		.loc 1 334 3 is_stmt 1 view .LVU23
  88 0010 2268     		ldr	r2, [r4]
  89 0012 1368     		ldr	r3, [r2]
  90 0014 43F00103 		orr	r3, r3, #1
  91 0018 1360     		str	r3, [r2]
 337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
  92              		.loc 1 337 3 view .LVU24
 337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
  93              		.loc 1 337 15 is_stmt 0 view .LVU25
ARM GAS  /tmp/ccj1aKCo.s 			page 12


  94 001a FFF7FEFF 		bl	HAL_GetTick
  95              	.LVL3:
  96 001e 0546     		mov	r5, r0
  97              	.LVL4:
 340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
  98              		.loc 1 340 3 is_stmt 1 view .LVU26
  99              	.L5:
 340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
 100              		.loc 1 340 47 view .LVU27
 340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
 101              		.loc 1 340 15 is_stmt 0 view .LVU28
 102 0020 2368     		ldr	r3, [r4]
 340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
 103              		.loc 1 340 25 view .LVU29
 104 0022 5A68     		ldr	r2, [r3, #4]
 340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
 105              		.loc 1 340 47 view .LVU30
 106 0024 12F0010F 		tst	r2, #1
 107 0028 10D1     		bne	.L27
 342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 108              		.loc 1 342 5 is_stmt 1 view .LVU31
 342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 109              		.loc 1 342 10 is_stmt 0 view .LVU32
 110 002a FFF7FEFF 		bl	HAL_GetTick
 111              	.LVL5:
 342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 112              		.loc 1 342 24 view .LVU33
 113 002e 401B     		subs	r0, r0, r5
 342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 114              		.loc 1 342 8 view .LVU34
 115 0030 0A28     		cmp	r0, #10
 116 0032 F5D9     		bls	.L5
 345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 117              		.loc 1 345 7 is_stmt 1 view .LVU35
 345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 118              		.loc 1 345 11 is_stmt 0 view .LVU36
 119 0034 636A     		ldr	r3, [r4, #36]
 345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 120              		.loc 1 345 23 view .LVU37
 121 0036 43F40033 		orr	r3, r3, #131072
 122 003a 6362     		str	r3, [r4, #36]
 348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 123              		.loc 1 348 7 is_stmt 1 view .LVU38
 348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 124              		.loc 1 348 19 is_stmt 0 view .LVU39
 125 003c 0523     		movs	r3, #5
 126 003e 84F82030 		strb	r3, [r4, #32]
 350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
 127              		.loc 1 350 7 is_stmt 1 view .LVU40
 350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
 128              		.loc 1 350 14 is_stmt 0 view .LVU41
 129 0042 0120     		movs	r0, #1
 130              	.L3:
 450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 131              		.loc 1 450 1 view .LVU42
 132 0044 38BD     		pop	{r3, r4, r5, pc}
 133              	.LVL6:
ARM GAS  /tmp/ccj1aKCo.s 			page 13


 134              	.L26:
 329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
 135              		.loc 1 329 5 is_stmt 1 view .LVU43
 136 0046 FFF7FEFF 		bl	HAL_CAN_MspInit
 137              	.LVL7:
 329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
 138              		.loc 1 329 5 is_stmt 0 view .LVU44
 139 004a E1E7     		b	.L4
 140              	.LVL8:
 141              	.L27:
 355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 142              		.loc 1 355 3 is_stmt 1 view .LVU45
 143 004c 1A68     		ldr	r2, [r3]
 144 004e 22F00202 		bic	r2, r2, #2
 145 0052 1A60     		str	r2, [r3]
 358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 146              		.loc 1 358 3 view .LVU46
 358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 147              		.loc 1 358 15 is_stmt 0 view .LVU47
 148 0054 FFF7FEFF 		bl	HAL_GetTick
 149              	.LVL9:
 150 0058 0546     		mov	r5, r0
 151              	.LVL10:
 361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
 152              		.loc 1 361 3 is_stmt 1 view .LVU48
 153              	.L7:
 361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
 154              		.loc 1 361 47 view .LVU49
 361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
 155              		.loc 1 361 15 is_stmt 0 view .LVU50
 156 005a 2368     		ldr	r3, [r4]
 361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
 157              		.loc 1 361 25 view .LVU51
 158 005c 5A68     		ldr	r2, [r3, #4]
 361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
 159              		.loc 1 361 47 view .LVU52
 160 005e 12F0020F 		tst	r2, #2
 161 0062 0DD0     		beq	.L28
 363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 162              		.loc 1 363 5 is_stmt 1 view .LVU53
 363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 163              		.loc 1 363 10 is_stmt 0 view .LVU54
 164 0064 FFF7FEFF 		bl	HAL_GetTick
 165              	.LVL11:
 363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 166              		.loc 1 363 24 view .LVU55
 167 0068 401B     		subs	r0, r0, r5
 363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 168              		.loc 1 363 8 view .LVU56
 169 006a 0A28     		cmp	r0, #10
 170 006c F5D9     		bls	.L7
 366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 171              		.loc 1 366 7 is_stmt 1 view .LVU57
 366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 172              		.loc 1 366 11 is_stmt 0 view .LVU58
 173 006e 636A     		ldr	r3, [r4, #36]
 366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
ARM GAS  /tmp/ccj1aKCo.s 			page 14


 174              		.loc 1 366 23 view .LVU59
 175 0070 43F40033 		orr	r3, r3, #131072
 176 0074 6362     		str	r3, [r4, #36]
 369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 177              		.loc 1 369 7 is_stmt 1 view .LVU60
 369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 178              		.loc 1 369 19 is_stmt 0 view .LVU61
 179 0076 0523     		movs	r3, #5
 180 0078 84F82030 		strb	r3, [r4, #32]
 371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
 181              		.loc 1 371 7 is_stmt 1 view .LVU62
 371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
 182              		.loc 1 371 14 is_stmt 0 view .LVU63
 183 007c 0120     		movs	r0, #1
 184 007e E1E7     		b	.L3
 185              	.L28:
 376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
 186              		.loc 1 376 3 is_stmt 1 view .LVU64
 376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
 187              		.loc 1 376 17 is_stmt 0 view .LVU65
 188 0080 227E     		ldrb	r2, [r4, #24]	@ zero_extendqisi2
 376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
 189              		.loc 1 376 6 view .LVU66
 190 0082 012A     		cmp	r2, #1
 191 0084 3DD0     		beq	.L29
 382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
 192              		.loc 1 382 5 is_stmt 1 view .LVU67
 193 0086 1A68     		ldr	r2, [r3]
 194 0088 22F08002 		bic	r2, r2, #128
 195 008c 1A60     		str	r2, [r3]
 196              	.L10:
 386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
 197              		.loc 1 386 3 view .LVU68
 386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
 198              		.loc 1 386 17 is_stmt 0 view .LVU69
 199 008e 637E     		ldrb	r3, [r4, #25]	@ zero_extendqisi2
 386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
 200              		.loc 1 386 6 view .LVU70
 201 0090 012B     		cmp	r3, #1
 202 0092 3BD0     		beq	.L30
 392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
 203              		.loc 1 392 5 is_stmt 1 view .LVU71
 204 0094 2268     		ldr	r2, [r4]
 205 0096 1368     		ldr	r3, [r2]
 206 0098 23F04003 		bic	r3, r3, #64
 207 009c 1360     		str	r3, [r2]
 208              	.L12:
 396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
 209              		.loc 1 396 3 view .LVU72
 396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
 210              		.loc 1 396 17 is_stmt 0 view .LVU73
 211 009e A37E     		ldrb	r3, [r4, #26]	@ zero_extendqisi2
 396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
 212              		.loc 1 396 6 view .LVU74
 213 00a0 012B     		cmp	r3, #1
 214 00a2 39D0     		beq	.L31
 402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
ARM GAS  /tmp/ccj1aKCo.s 			page 15


 215              		.loc 1 402 5 is_stmt 1 view .LVU75
 216 00a4 2268     		ldr	r2, [r4]
 217 00a6 1368     		ldr	r3, [r2]
 218 00a8 23F02003 		bic	r3, r3, #32
 219 00ac 1360     		str	r3, [r2]
 220              	.L14:
 406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
 221              		.loc 1 406 3 view .LVU76
 406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
 222              		.loc 1 406 17 is_stmt 0 view .LVU77
 223 00ae E37E     		ldrb	r3, [r4, #27]	@ zero_extendqisi2
 406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
 224              		.loc 1 406 6 view .LVU78
 225 00b0 012B     		cmp	r3, #1
 226 00b2 37D0     		beq	.L32
 412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
 227              		.loc 1 412 5 is_stmt 1 view .LVU79
 228 00b4 2268     		ldr	r2, [r4]
 229 00b6 1368     		ldr	r3, [r2]
 230 00b8 43F01003 		orr	r3, r3, #16
 231 00bc 1360     		str	r3, [r2]
 232              	.L16:
 416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
 233              		.loc 1 416 3 view .LVU80
 416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
 234              		.loc 1 416 17 is_stmt 0 view .LVU81
 235 00be 237F     		ldrb	r3, [r4, #28]	@ zero_extendqisi2
 416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
 236              		.loc 1 416 6 view .LVU82
 237 00c0 012B     		cmp	r3, #1
 238 00c2 35D0     		beq	.L33
 422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
 239              		.loc 1 422 5 is_stmt 1 view .LVU83
 240 00c4 2268     		ldr	r2, [r4]
 241 00c6 1368     		ldr	r3, [r2]
 242 00c8 23F00803 		bic	r3, r3, #8
 243 00cc 1360     		str	r3, [r2]
 244              	.L18:
 426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
 245              		.loc 1 426 3 view .LVU84
 426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
 246              		.loc 1 426 17 is_stmt 0 view .LVU85
 247 00ce 637F     		ldrb	r3, [r4, #29]	@ zero_extendqisi2
 426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
 248              		.loc 1 426 6 view .LVU86
 249 00d0 012B     		cmp	r3, #1
 250 00d2 33D0     		beq	.L34
 432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
 251              		.loc 1 432 5 is_stmt 1 view .LVU87
 252 00d4 2268     		ldr	r2, [r4]
 253 00d6 1368     		ldr	r3, [r2]
 254 00d8 23F00403 		bic	r3, r3, #4
 255 00dc 1360     		str	r3, [r2]
 256              	.L20:
 436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****                                             hcan->Init.SyncJumpWidth  |
 257              		.loc 1 436 3 view .LVU88
 258 00de A368     		ldr	r3, [r4, #8]
ARM GAS  /tmp/ccj1aKCo.s 			page 16


 259 00e0 E268     		ldr	r2, [r4, #12]
 260 00e2 1343     		orrs	r3, r3, r2
 261 00e4 2269     		ldr	r2, [r4, #16]
 262 00e6 1343     		orrs	r3, r3, r2
 263 00e8 6269     		ldr	r2, [r4, #20]
 264 00ea 1343     		orrs	r3, r3, r2
 265 00ec 6268     		ldr	r2, [r4, #4]
 266 00ee 013A     		subs	r2, r2, #1
 267 00f0 2168     		ldr	r1, [r4]
 268 00f2 1343     		orrs	r3, r3, r2
 269 00f4 CB61     		str	r3, [r1, #28]
 443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 270              		.loc 1 443 3 view .LVU89
 443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 271              		.loc 1 443 19 is_stmt 0 view .LVU90
 272 00f6 0020     		movs	r0, #0
 273 00f8 6062     		str	r0, [r4, #36]
 446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 274              		.loc 1 446 3 is_stmt 1 view .LVU91
 446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 275              		.loc 1 446 15 is_stmt 0 view .LVU92
 276 00fa 0123     		movs	r3, #1
 277 00fc 84F82030 		strb	r3, [r4, #32]
 449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
 278              		.loc 1 449 3 is_stmt 1 view .LVU93
 449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
 279              		.loc 1 449 10 is_stmt 0 view .LVU94
 280 0100 A0E7     		b	.L3
 281              	.L29:
 378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
 282              		.loc 1 378 5 is_stmt 1 view .LVU95
 283 0102 1A68     		ldr	r2, [r3]
 284 0104 42F08002 		orr	r2, r2, #128
 285 0108 1A60     		str	r2, [r3]
 286 010a C0E7     		b	.L10
 287              	.L30:
 388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
 288              		.loc 1 388 5 view .LVU96
 289 010c 2268     		ldr	r2, [r4]
 290 010e 1368     		ldr	r3, [r2]
 291 0110 43F04003 		orr	r3, r3, #64
 292 0114 1360     		str	r3, [r2]
 293 0116 C2E7     		b	.L12
 294              	.L31:
 398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
 295              		.loc 1 398 5 view .LVU97
 296 0118 2268     		ldr	r2, [r4]
 297 011a 1368     		ldr	r3, [r2]
 298 011c 43F02003 		orr	r3, r3, #32
 299 0120 1360     		str	r3, [r2]
 300 0122 C4E7     		b	.L14
 301              	.L32:
 408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
 302              		.loc 1 408 5 view .LVU98
 303 0124 2268     		ldr	r2, [r4]
 304 0126 1368     		ldr	r3, [r2]
 305 0128 23F01003 		bic	r3, r3, #16
ARM GAS  /tmp/ccj1aKCo.s 			page 17


 306 012c 1360     		str	r3, [r2]
 307 012e C6E7     		b	.L16
 308              	.L33:
 418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
 309              		.loc 1 418 5 view .LVU99
 310 0130 2268     		ldr	r2, [r4]
 311 0132 1368     		ldr	r3, [r2]
 312 0134 43F00803 		orr	r3, r3, #8
 313 0138 1360     		str	r3, [r2]
 314 013a C8E7     		b	.L18
 315              	.L34:
 428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
 316              		.loc 1 428 5 view .LVU100
 317 013c 2268     		ldr	r2, [r4]
 318 013e 1368     		ldr	r3, [r2]
 319 0140 43F00403 		orr	r3, r3, #4
 320 0144 1360     		str	r3, [r2]
 321 0146 CAE7     		b	.L20
 322              	.LVL12:
 323              	.L21:
 324              		.cfi_def_cfa_offset 0
 325              		.cfi_restore 3
 326              		.cfi_restore 4
 327              		.cfi_restore 5
 328              		.cfi_restore 14
 281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
 329              		.loc 1 281 12 is_stmt 0 view .LVU101
 330 0148 0120     		movs	r0, #1
 331              	.LVL13:
 450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 332              		.loc 1 450 1 view .LVU102
 333 014a 7047     		bx	lr
 334              		.cfi_endproc
 335              	.LFE130:
 337              		.section	.text.HAL_CAN_MspDeInit,"ax",%progbits
 338              		.align	1
 339              		.weak	HAL_CAN_MspDeInit
 340              		.syntax unified
 341              		.thumb
 342              		.thumb_func
 344              	HAL_CAN_MspDeInit:
 345              	.LVL14:
 346              	.LFB133:
 515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
 517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @brief  DeInitializes the CAN MSP.
 518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @param  hcan pointer to a CAN_HandleTypeDef structure that contains
 519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *         the configuration information for the specified CAN.
 520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @retval None
 521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   */
 522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __weak void HAL_CAN_MspDeInit(CAN_HandleTypeDef *hcan)
 523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
 347              		.loc 1 523 1 is_stmt 1 view -0
 348              		.cfi_startproc
 349              		@ args = 0, pretend = 0, frame = 0
 350              		@ frame_needed = 0, uses_anonymous_args = 0
 351              		@ link register save eliminated.
ARM GAS  /tmp/ccj1aKCo.s 			page 18


 524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* Prevent unused argument(s) compilation warning */
 525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   UNUSED(hcan);
 352              		.loc 1 525 3 view .LVU104
 526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* NOTE : This function Should not be modified, when the callback is needed,
 528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****             the HAL_CAN_MspDeInit could be implemented in the user file
 529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****    */
 530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
 353              		.loc 1 530 1 is_stmt 0 view .LVU105
 354 0000 7047     		bx	lr
 355              		.cfi_endproc
 356              	.LFE133:
 358              		.section	.text.HAL_CAN_ConfigFilter,"ax",%progbits
 359              		.align	1
 360              		.global	HAL_CAN_ConfigFilter
 361              		.syntax unified
 362              		.thumb
 363              		.thumb_func
 365              	HAL_CAN_ConfigFilter:
 366              	.LVL15:
 367              	.LFB134:
 531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
 533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
 534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @brief  Register a CAN CallBack.
 535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *         To be used instead of the weak predefined callback
 536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @param  hcan pointer to a CAN_HandleTypeDef structure that contains
 537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *         the configuration information for CAN module
 538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @param  CallbackID ID of the callback to be registered
 539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *         This parameter can be one of the following values:
 540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *           @arg @ref HAL_CAN_TX_MAILBOX0_COMPLETE_CB_ID Tx Mailbox 0 Complete callback ID
 541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *           @arg @ref HAL_CAN_TX_MAILBOX1_COMPLETE_CB_ID Tx Mailbox 1 Complete callback ID
 542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *           @arg @ref HAL_CAN_TX_MAILBOX2_COMPLETE_CB_ID Tx Mailbox 2 Complete callback ID
 543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *           @arg @ref HAL_CAN_TX_MAILBOX0_ABORT_CB_ID Tx Mailbox 0 Abort callback ID
 544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *           @arg @ref HAL_CAN_TX_MAILBOX1_ABORT_CB_ID Tx Mailbox 1 Abort callback ID
 545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *           @arg @ref HAL_CAN_TX_MAILBOX2_ABORT_CB_ID Tx Mailbox 2 Abort callback ID
 546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *           @arg @ref HAL_CAN_RX_FIFO0_MSG_PENDING_CB_ID Rx Fifo 0 message pending callback ID
 547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *           @arg @ref HAL_CAN_RX_FIFO0_FULL_CB_ID Rx Fifo 0 full callback ID
 548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *           @arg @ref HAL_CAN_RX_FIFO1_MSG_PENDING_CB_ID Rx Fifo 1 message pending callback ID
 549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *           @arg @ref HAL_CAN_RX_FIFO1_FULL_CB_ID Rx Fifo 1 full callback ID
 550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *           @arg @ref HAL_CAN_SLEEP_CB_ID Sleep callback ID
 551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *           @arg @ref HAL_CAN_WAKEUP_FROM_RX_MSG_CB_ID Wake Up from Rx message callback ID
 552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *           @arg @ref HAL_CAN_ERROR_CB_ID Error callback ID
 553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *           @arg @ref HAL_CAN_MSPINIT_CB_ID MspInit callback ID
 554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *           @arg @ref HAL_CAN_MSPDEINIT_CB_ID MspDeInit callback ID
 555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @param  pCallback pointer to the Callback function
 556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @retval HAL status
 557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   */
 558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_RegisterCallback(CAN_HandleTypeDef *hcan, HAL_CAN_CallbackIDTypeDef Callb
 559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
 560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   HAL_StatusTypeDef status = HAL_OK;
 561:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   if (pCallback == NULL)
 563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
 564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* Update the error code */
 565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     hcan->ErrorCode |= HAL_CAN_ERROR_INVALID_CALLBACK;
 566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
ARM GAS  /tmp/ccj1aKCo.s 			page 19


 567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     return HAL_ERROR;
 568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
 569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   if (hcan->State == HAL_CAN_STATE_READY)
 571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
 572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     switch (CallbackID)
 573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       case HAL_CAN_TX_MAILBOX0_COMPLETE_CB_ID :
 575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         hcan->TxMailbox0CompleteCallback = pCallback;
 576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         break;
 577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       case HAL_CAN_TX_MAILBOX1_COMPLETE_CB_ID :
 579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         hcan->TxMailbox1CompleteCallback = pCallback;
 580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         break;
 581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       case HAL_CAN_TX_MAILBOX2_COMPLETE_CB_ID :
 583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         hcan->TxMailbox2CompleteCallback = pCallback;
 584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         break;
 585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       case HAL_CAN_TX_MAILBOX0_ABORT_CB_ID :
 587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         hcan->TxMailbox0AbortCallback = pCallback;
 588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         break;
 589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       case HAL_CAN_TX_MAILBOX1_ABORT_CB_ID :
 591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         hcan->TxMailbox1AbortCallback = pCallback;
 592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         break;
 593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       case HAL_CAN_TX_MAILBOX2_ABORT_CB_ID :
 595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         hcan->TxMailbox2AbortCallback = pCallback;
 596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         break;
 597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       case HAL_CAN_RX_FIFO0_MSG_PENDING_CB_ID :
 599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         hcan->RxFifo0MsgPendingCallback = pCallback;
 600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         break;
 601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       case HAL_CAN_RX_FIFO0_FULL_CB_ID :
 603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         hcan->RxFifo0FullCallback = pCallback;
 604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         break;
 605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       case HAL_CAN_RX_FIFO1_MSG_PENDING_CB_ID :
 607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         hcan->RxFifo1MsgPendingCallback = pCallback;
 608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         break;
 609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       case HAL_CAN_RX_FIFO1_FULL_CB_ID :
 611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         hcan->RxFifo1FullCallback = pCallback;
 612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         break;
 613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       case HAL_CAN_SLEEP_CB_ID :
 615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         hcan->SleepCallback = pCallback;
 616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         break;
 617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       case HAL_CAN_WAKEUP_FROM_RX_MSG_CB_ID :
 619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         hcan->WakeUpFromRxMsgCallback = pCallback;
 620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         break;
 621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       case HAL_CAN_ERROR_CB_ID :
 623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         hcan->ErrorCallback = pCallback;
ARM GAS  /tmp/ccj1aKCo.s 			page 20


 624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         break;
 625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       case HAL_CAN_MSPINIT_CB_ID :
 627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         hcan->MspInitCallback = pCallback;
 628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         break;
 629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       case HAL_CAN_MSPDEINIT_CB_ID :
 631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         hcan->MspDeInitCallback = pCallback;
 632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         break;
 633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       default :
 635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         /* Update the error code */
 636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         hcan->ErrorCode |= HAL_CAN_ERROR_INVALID_CALLBACK;
 637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         /* Return error status */
 639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         status =  HAL_ERROR;
 640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         break;
 641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
 642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
 643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   else if (hcan->State == HAL_CAN_STATE_RESET)
 644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
 645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     switch (CallbackID)
 646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       case HAL_CAN_MSPINIT_CB_ID :
 648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         hcan->MspInitCallback = pCallback;
 649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         break;
 650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       case HAL_CAN_MSPDEINIT_CB_ID :
 652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         hcan->MspDeInitCallback = pCallback;
 653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         break;
 654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       default :
 656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         /* Update the error code */
 657:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         hcan->ErrorCode |= HAL_CAN_ERROR_INVALID_CALLBACK;
 658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         /* Return error status */
 660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         status =  HAL_ERROR;
 661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         break;
 662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
 663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
 664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   else
 665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
 666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* Update the error code */
 667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     hcan->ErrorCode |= HAL_CAN_ERROR_INVALID_CALLBACK;
 668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* Return error status */
 670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     status =  HAL_ERROR;
 671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
 672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   return status;
 674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
 675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
 677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @brief  Unregister a CAN CallBack.
 678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *         CAN callabck is redirected to the weak predefined callback
 679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @param  hcan pointer to a CAN_HandleTypeDef structure that contains
 680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *         the configuration information for CAN module
ARM GAS  /tmp/ccj1aKCo.s 			page 21


 681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @param  CallbackID ID of the callback to be unregistered
 682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *         This parameter can be one of the following values:
 683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *           @arg @ref HAL_CAN_TX_MAILBOX0_COMPLETE_CB_ID Tx Mailbox 0 Complete callback ID
 684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *           @arg @ref HAL_CAN_TX_MAILBOX1_COMPLETE_CB_ID Tx Mailbox 1 Complete callback ID
 685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *           @arg @ref HAL_CAN_TX_MAILBOX2_COMPLETE_CB_ID Tx Mailbox 2 Complete callback ID
 686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *           @arg @ref HAL_CAN_TX_MAILBOX0_ABORT_CB_ID Tx Mailbox 0 Abort callback ID
 687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *           @arg @ref HAL_CAN_TX_MAILBOX1_ABORT_CB_ID Tx Mailbox 1 Abort callback ID
 688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *           @arg @ref HAL_CAN_TX_MAILBOX2_ABORT_CB_ID Tx Mailbox 2 Abort callback ID
 689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *           @arg @ref HAL_CAN_RX_FIFO0_MSG_PENDING_CB_ID Rx Fifo 0 message pending callback ID
 690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *           @arg @ref HAL_CAN_RX_FIFO0_FULL_CB_ID Rx Fifo 0 full callback ID
 691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *           @arg @ref HAL_CAN_RX_FIFO1_MSG_PENDING_CB_ID Rx Fifo 1 message pending callback ID
 692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *           @arg @ref HAL_CAN_RX_FIFO1_FULL_CB_ID Rx Fifo 1 full callback ID
 693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *           @arg @ref HAL_CAN_SLEEP_CB_ID Sleep callback ID
 694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *           @arg @ref HAL_CAN_WAKEUP_FROM_RX_MSG_CB_ID Wake Up from Rx message callback ID
 695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *           @arg @ref HAL_CAN_ERROR_CB_ID Error callback ID
 696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *           @arg @ref HAL_CAN_MSPINIT_CB_ID MspInit callback ID
 697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *           @arg @ref HAL_CAN_MSPDEINIT_CB_ID MspDeInit callback ID
 698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @retval HAL status
 699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   */
 700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_UnRegisterCallback(CAN_HandleTypeDef *hcan, HAL_CAN_CallbackIDTypeDef Cal
 701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
 702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   HAL_StatusTypeDef status = HAL_OK;
 703:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   if (hcan->State == HAL_CAN_STATE_READY)
 705:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
 706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     switch (CallbackID)
 707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       case HAL_CAN_TX_MAILBOX0_COMPLETE_CB_ID :
 709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         hcan->TxMailbox0CompleteCallback = HAL_CAN_TxMailbox0CompleteCallback;
 710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         break;
 711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       case HAL_CAN_TX_MAILBOX1_COMPLETE_CB_ID :
 713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         hcan->TxMailbox1CompleteCallback = HAL_CAN_TxMailbox1CompleteCallback;
 714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         break;
 715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       case HAL_CAN_TX_MAILBOX2_COMPLETE_CB_ID :
 717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         hcan->TxMailbox2CompleteCallback = HAL_CAN_TxMailbox2CompleteCallback;
 718:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         break;
 719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       case HAL_CAN_TX_MAILBOX0_ABORT_CB_ID :
 721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         hcan->TxMailbox0AbortCallback = HAL_CAN_TxMailbox0AbortCallback;
 722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         break;
 723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       case HAL_CAN_TX_MAILBOX1_ABORT_CB_ID :
 725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         hcan->TxMailbox1AbortCallback = HAL_CAN_TxMailbox1AbortCallback;
 726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         break;
 727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       case HAL_CAN_TX_MAILBOX2_ABORT_CB_ID :
 729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         hcan->TxMailbox2AbortCallback = HAL_CAN_TxMailbox2AbortCallback;
 730:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         break;
 731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       case HAL_CAN_RX_FIFO0_MSG_PENDING_CB_ID :
 733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         hcan->RxFifo0MsgPendingCallback = HAL_CAN_RxFifo0MsgPendingCallback;
 734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         break;
 735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       case HAL_CAN_RX_FIFO0_FULL_CB_ID :
 737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         hcan->RxFifo0FullCallback = HAL_CAN_RxFifo0FullCallback;
ARM GAS  /tmp/ccj1aKCo.s 			page 22


 738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         break;
 739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       case HAL_CAN_RX_FIFO1_MSG_PENDING_CB_ID :
 741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         hcan->RxFifo1MsgPendingCallback = HAL_CAN_RxFifo1MsgPendingCallback;
 742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         break;
 743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       case HAL_CAN_RX_FIFO1_FULL_CB_ID :
 745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         hcan->RxFifo1FullCallback = HAL_CAN_RxFifo1FullCallback;
 746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         break;
 747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       case HAL_CAN_SLEEP_CB_ID :
 749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         hcan->SleepCallback = HAL_CAN_SleepCallback;
 750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         break;
 751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       case HAL_CAN_WAKEUP_FROM_RX_MSG_CB_ID :
 753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         hcan->WakeUpFromRxMsgCallback = HAL_CAN_WakeUpFromRxMsgCallback;
 754:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         break;
 755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       case HAL_CAN_ERROR_CB_ID :
 757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         hcan->ErrorCallback = HAL_CAN_ErrorCallback;
 758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         break;
 759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       case HAL_CAN_MSPINIT_CB_ID :
 761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         hcan->MspInitCallback = HAL_CAN_MspInit;
 762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         break;
 763:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       case HAL_CAN_MSPDEINIT_CB_ID :
 765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         hcan->MspDeInitCallback = HAL_CAN_MspDeInit;
 766:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         break;
 767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       default :
 769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         /* Update the error code */
 770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         hcan->ErrorCode |= HAL_CAN_ERROR_INVALID_CALLBACK;
 771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         /* Return error status */
 773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         status =  HAL_ERROR;
 774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         break;
 775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
 776:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
 777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   else if (hcan->State == HAL_CAN_STATE_RESET)
 778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
 779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     switch (CallbackID)
 780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       case HAL_CAN_MSPINIT_CB_ID :
 782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         hcan->MspInitCallback = HAL_CAN_MspInit;
 783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         break;
 784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       case HAL_CAN_MSPDEINIT_CB_ID :
 786:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         hcan->MspDeInitCallback = HAL_CAN_MspDeInit;
 787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         break;
 788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       default :
 790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         /* Update the error code */
 791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         hcan->ErrorCode |= HAL_CAN_ERROR_INVALID_CALLBACK;
 792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         /* Return error status */
 794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         status =  HAL_ERROR;
ARM GAS  /tmp/ccj1aKCo.s 			page 23


 795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         break;
 796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
 797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
 798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   else
 799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
 800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* Update the error code */
 801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     hcan->ErrorCode |= HAL_CAN_ERROR_INVALID_CALLBACK;
 802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* Return error status */
 804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     status =  HAL_ERROR;
 805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
 806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   return status;
 808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
 809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
 810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
 812:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @}
 813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   */
 814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /** @defgroup CAN_Exported_Functions_Group2 Configuration functions
 816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****  *  @brief    Configuration functions.
 817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****  *
 818:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** @verbatim
 819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   ==============================================================================
 820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****               ##### Configuration functions #####
 821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   ==============================================================================
 822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     [..]  This section provides functions allowing to:
 823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       (+) HAL_CAN_ConfigFilter            : Configure the CAN reception filters
 824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** @endverbatim
 826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @{
 827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   */
 828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
 830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @brief  Configures the CAN reception filter according to the specified
 831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *         parameters in the CAN_FilterInitStruct.
 832:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @param  hcan pointer to a CAN_HandleTypeDef structure that contains
 833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *         the configuration information for the specified CAN.
 834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @param  sFilterConfig pointer to a CAN_FilterTypeDef structure that
 835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *         contains the filter configuration information.
 836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @retval None
 837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   */
 838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_ConfigFilter(CAN_HandleTypeDef *hcan, CAN_FilterTypeDef *sFilterConfig)
 839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
 368              		.loc 1 839 1 is_stmt 1 view -0
 369              		.cfi_startproc
 370              		@ args = 0, pretend = 0, frame = 0
 371              		@ frame_needed = 0, uses_anonymous_args = 0
 372              		@ link register save eliminated.
 840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   uint32_t filternbrbitpos;
 373              		.loc 1 840 3 view .LVU107
 841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   CAN_TypeDef *can_ip = hcan->Instance;
 374              		.loc 1 841 3 view .LVU108
 375              		.loc 1 841 16 is_stmt 0 view .LVU109
 376 0000 0268     		ldr	r2, [r0]
 377              	.LVL16:
ARM GAS  /tmp/ccj1aKCo.s 			page 24


 842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   HAL_CAN_StateTypeDef state = hcan->State;
 378              		.loc 1 842 3 is_stmt 1 view .LVU110
 379              		.loc 1 842 24 is_stmt 0 view .LVU111
 380 0002 90F82030 		ldrb	r3, [r0, #32]	@ zero_extendqisi2
 381              	.LVL17:
 843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   if ((state == HAL_CAN_STATE_READY) ||
 382              		.loc 1 844 3 is_stmt 1 view .LVU112
 383              		.loc 1 844 38 is_stmt 0 view .LVU113
 384 0006 013B     		subs	r3, r3, #1
 385              	.LVL18:
 386              		.loc 1 844 38 view .LVU114
 387 0008 DBB2     		uxtb	r3, r3
 388              		.loc 1 844 6 view .LVU115
 389 000a 012B     		cmp	r3, #1
 390 000c 05D9     		bls	.L50
 845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       (state == HAL_CAN_STATE_LISTENING))
 846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
 847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* Check the parameters */
 848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     assert_param(IS_CAN_FILTER_ID_HALFWORD(sFilterConfig->FilterIdHigh));
 849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     assert_param(IS_CAN_FILTER_ID_HALFWORD(sFilterConfig->FilterIdLow));
 850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     assert_param(IS_CAN_FILTER_ID_HALFWORD(sFilterConfig->FilterMaskIdHigh));
 851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     assert_param(IS_CAN_FILTER_ID_HALFWORD(sFilterConfig->FilterMaskIdLow));
 852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     assert_param(IS_CAN_FILTER_MODE(sFilterConfig->FilterMode));
 853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     assert_param(IS_CAN_FILTER_SCALE(sFilterConfig->FilterScale));
 854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     assert_param(IS_CAN_FILTER_FIFO(sFilterConfig->FilterFIFOAssignment));
 855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     assert_param(IS_CAN_FILTER_ACTIVATION(sFilterConfig->FilterActivation));
 856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* CAN is single instance with 14 dedicated filters banks */
 858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* Check the parameters */
 860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     assert_param(IS_CAN_FILTER_BANK_SINGLE(sFilterConfig->FilterBank));
 861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* Initialisation mode for the filter */
 863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     SET_BIT(can_ip->FMR, CAN_FMR_FINIT);
 864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* Convert filter number into bit position */
 866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     filternbrbitpos = (uint32_t)1 << (sFilterConfig->FilterBank & 0x1FU);
 867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* Filter Deactivation */
 869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     CLEAR_BIT(can_ip->FA1R, filternbrbitpos);
 870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* Filter Scale */
 872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     if (sFilterConfig->FilterScale == CAN_FILTERSCALE_16BIT)
 873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       /* 16-bit scale for the filter */
 875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       CLEAR_BIT(can_ip->FS1R, filternbrbitpos);
 876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       /* First 16-bit identifier and First 16-bit mask */
 878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       /* Or First 16-bit identifier and Second 16-bit identifier */
 879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       can_ip->sFilterRegister[sFilterConfig->FilterBank].FR1 =
 880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdLow) << 16U) |
 881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         (0x0000FFFFU & (uint32_t)sFilterConfig->FilterIdLow);
 882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       /* Second 16-bit identifier and Second 16-bit mask */
 884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       /* Or Third 16-bit identifier and Fourth 16-bit identifier */
 885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       can_ip->sFilterRegister[sFilterConfig->FilterBank].FR2 =
ARM GAS  /tmp/ccj1aKCo.s 			page 25


 886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdHigh) << 16U) |
 887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         (0x0000FFFFU & (uint32_t)sFilterConfig->FilterIdHigh);
 888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
 889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     if (sFilterConfig->FilterScale == CAN_FILTERSCALE_32BIT)
 891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       /* 32-bit scale for the filter */
 893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       SET_BIT(can_ip->FS1R, filternbrbitpos);
 894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       /* 32-bit identifier or First 32-bit identifier */
 896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       can_ip->sFilterRegister[sFilterConfig->FilterBank].FR1 =
 897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterIdHigh) << 16U) |
 898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         (0x0000FFFFU & (uint32_t)sFilterConfig->FilterIdLow);
 899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       /* 32-bit mask or Second 32-bit identifier */
 901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       can_ip->sFilterRegister[sFilterConfig->FilterBank].FR2 =
 902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdHigh) << 16U) |
 903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         (0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdLow);
 904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
 905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 906:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* Filter Mode */
 907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     if (sFilterConfig->FilterMode == CAN_FILTERMODE_IDMASK)
 908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       /* Id/Mask mode for the filter*/
 910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       CLEAR_BIT(can_ip->FM1R, filternbrbitpos);
 911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
 912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     else /* CAN_FilterInitStruct->CAN_FilterMode == CAN_FilterMode_IdList */
 913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       /* Identifier list mode for the filter*/
 915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       SET_BIT(can_ip->FM1R, filternbrbitpos);
 916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
 917:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 918:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* Filter FIFO assignment */
 919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     if (sFilterConfig->FilterFIFOAssignment == CAN_FILTER_FIFO0)
 920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       /* FIFO 0 assignation for the filter */
 922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       CLEAR_BIT(can_ip->FFA1R, filternbrbitpos);
 923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
 924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     else
 925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       /* FIFO 1 assignation for the filter */
 927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       SET_BIT(can_ip->FFA1R, filternbrbitpos);
 928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
 929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* Filter activation */
 931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     if (sFilterConfig->FilterActivation == CAN_FILTER_ENABLE)
 932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       SET_BIT(can_ip->FA1R, filternbrbitpos);
 934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
 935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* Leave the initialisation mode for the filter */
 937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     CLEAR_BIT(can_ip->FMR, CAN_FMR_FINIT);
 938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* Return function status */
 940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     return HAL_OK;
 941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
 942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   else
ARM GAS  /tmp/ccj1aKCo.s 			page 26


 943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
 944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* Update error code */
 945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     hcan->ErrorCode |= HAL_CAN_ERROR_NOT_INITIALIZED;
 391              		.loc 1 945 5 is_stmt 1 view .LVU116
 392              		.loc 1 945 9 is_stmt 0 view .LVU117
 393 000e 436A     		ldr	r3, [r0, #36]
 394              		.loc 1 945 21 view .LVU118
 395 0010 43F48023 		orr	r3, r3, #262144
 396 0014 4362     		str	r3, [r0, #36]
 946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     return HAL_ERROR;
 397              		.loc 1 947 5 is_stmt 1 view .LVU119
 398              		.loc 1 947 12 is_stmt 0 view .LVU120
 399 0016 0120     		movs	r0, #1
 400              	.LVL19:
 948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
 949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
 401              		.loc 1 949 1 view .LVU121
 402 0018 7047     		bx	lr
 403              	.LVL20:
 404              	.L50:
 839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   uint32_t filternbrbitpos;
 405              		.loc 1 839 1 view .LVU122
 406 001a 30B4     		push	{r4, r5}
 407              		.cfi_def_cfa_offset 8
 408              		.cfi_offset 4, -8
 409              		.cfi_offset 5, -4
 848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     assert_param(IS_CAN_FILTER_ID_HALFWORD(sFilterConfig->FilterIdLow));
 410              		.loc 1 848 5 is_stmt 1 view .LVU123
 849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     assert_param(IS_CAN_FILTER_ID_HALFWORD(sFilterConfig->FilterMaskIdHigh));
 411              		.loc 1 849 5 view .LVU124
 850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     assert_param(IS_CAN_FILTER_ID_HALFWORD(sFilterConfig->FilterMaskIdLow));
 412              		.loc 1 850 5 view .LVU125
 851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     assert_param(IS_CAN_FILTER_MODE(sFilterConfig->FilterMode));
 413              		.loc 1 851 5 view .LVU126
 852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     assert_param(IS_CAN_FILTER_SCALE(sFilterConfig->FilterScale));
 414              		.loc 1 852 5 view .LVU127
 853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     assert_param(IS_CAN_FILTER_FIFO(sFilterConfig->FilterFIFOAssignment));
 415              		.loc 1 853 5 view .LVU128
 854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     assert_param(IS_CAN_FILTER_ACTIVATION(sFilterConfig->FilterActivation));
 416              		.loc 1 854 5 view .LVU129
 855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 417              		.loc 1 855 5 view .LVU130
 860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 418              		.loc 1 860 5 view .LVU131
 863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 419              		.loc 1 863 5 view .LVU132
 420 001c D2F80032 		ldr	r3, [r2, #512]
 421 0020 43F00103 		orr	r3, r3, #1
 422 0024 C2F80032 		str	r3, [r2, #512]
 866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 423              		.loc 1 866 5 view .LVU133
 866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 424              		.loc 1 866 52 is_stmt 0 view .LVU134
 425 0028 4B69     		ldr	r3, [r1, #20]
 866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 426              		.loc 1 866 65 view .LVU135
ARM GAS  /tmp/ccj1aKCo.s 			page 27


 427 002a 03F01F03 		and	r3, r3, #31
 866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 428              		.loc 1 866 21 view .LVU136
 429 002e 0120     		movs	r0, #1
 430              	.LVL21:
 866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 431              		.loc 1 866 21 view .LVU137
 432 0030 00FA03F3 		lsl	r3, r0, r3
 433              	.LVL22:
 869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 434              		.loc 1 869 5 is_stmt 1 view .LVU138
 435 0034 D2F81C02 		ldr	r0, [r2, #540]
 436 0038 6FEA030C 		mvn	ip, r3
 437 003c 20EA0300 		bic	r0, r0, r3
 438 0040 C2F81C02 		str	r0, [r2, #540]
 872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 439              		.loc 1 872 5 view .LVU139
 872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 440              		.loc 1 872 22 is_stmt 0 view .LVU140
 441 0044 C869     		ldr	r0, [r1, #28]
 872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 442              		.loc 1 872 8 view .LVU141
 443 0046 B0B9     		cbnz	r0, .L38
 875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 444              		.loc 1 875 7 is_stmt 1 view .LVU142
 445 0048 D2F80C02 		ldr	r0, [r2, #524]
 446 004c 0CEA0000 		and	r0, ip, r0
 447 0050 C2F80C02 		str	r0, [r2, #524]
 879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdLow) << 16U) |
 448              		.loc 1 879 7 view .LVU143
 881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 449              		.loc 1 881 22 is_stmt 0 view .LVU144
 450 0054 8C88     		ldrh	r4, [r1, #4]
 879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdLow) << 16U) |
 451              		.loc 1 879 44 view .LVU145
 452 0056 4869     		ldr	r0, [r1, #20]
 880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         (0x0000FFFFU & (uint32_t)sFilterConfig->FilterIdLow);
 453              		.loc 1 880 75 view .LVU146
 454 0058 CD68     		ldr	r5, [r1, #12]
 455 005a 44EA0544 		orr	r4, r4, r5, lsl #16
 879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdLow) << 16U) |
 456              		.loc 1 879 62 view .LVU147
 457 005e 4830     		adds	r0, r0, #72
 458 0060 42F83040 		str	r4, [r2, r0, lsl #3]
 885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdHigh) << 16U) |
 459              		.loc 1 885 7 is_stmt 1 view .LVU148
 887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
 460              		.loc 1 887 22 is_stmt 0 view .LVU149
 461 0064 0C88     		ldrh	r4, [r1]
 885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdHigh) << 16U) |
 462              		.loc 1 885 44 view .LVU150
 463 0066 4869     		ldr	r0, [r1, #20]
 886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         (0x0000FFFFU & (uint32_t)sFilterConfig->FilterIdHigh);
 464              		.loc 1 886 76 view .LVU151
 465 0068 8D68     		ldr	r5, [r1, #8]
 466 006a 44EA0544 		orr	r4, r4, r5, lsl #16
 885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdHigh) << 16U) |
ARM GAS  /tmp/ccj1aKCo.s 			page 28


 467              		.loc 1 885 62 view .LVU152
 468 006e 4830     		adds	r0, r0, #72
 469 0070 02EBC000 		add	r0, r2, r0, lsl #3
 470 0074 4460     		str	r4, [r0, #4]
 471              	.L38:
 890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 472              		.loc 1 890 5 is_stmt 1 view .LVU153
 890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 473              		.loc 1 890 22 is_stmt 0 view .LVU154
 474 0076 C869     		ldr	r0, [r1, #28]
 890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 475              		.loc 1 890 8 view .LVU155
 476 0078 0128     		cmp	r0, #1
 477 007a 1BD0     		beq	.L51
 478              	.L39:
 907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 479              		.loc 1 907 5 is_stmt 1 view .LVU156
 907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 480              		.loc 1 907 22 is_stmt 0 view .LVU157
 481 007c 8869     		ldr	r0, [r1, #24]
 907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 482              		.loc 1 907 8 view .LVU158
 483 007e 80BB     		cbnz	r0, .L40
 910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
 484              		.loc 1 910 7 is_stmt 1 view .LVU159
 485 0080 D2F80402 		ldr	r0, [r2, #516]
 486 0084 0CEA0000 		and	r0, ip, r0
 487 0088 C2F80402 		str	r0, [r2, #516]
 488              	.L41:
 919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 489              		.loc 1 919 5 view .LVU160
 919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 490              		.loc 1 919 22 is_stmt 0 view .LVU161
 491 008c 0869     		ldr	r0, [r1, #16]
 919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 492              		.loc 1 919 8 view .LVU162
 493 008e 70BB     		cbnz	r0, .L42
 922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
 494              		.loc 1 922 7 is_stmt 1 view .LVU163
 495 0090 D2F81402 		ldr	r0, [r2, #532]
 496 0094 0CEA0000 		and	r0, ip, r0
 497 0098 C2F81402 		str	r0, [r2, #532]
 498              	.L43:
 931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 499              		.loc 1 931 5 view .LVU164
 931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 500              		.loc 1 931 22 is_stmt 0 view .LVU165
 501 009c 096A     		ldr	r1, [r1, #32]
 502              	.LVL23:
 931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 503              		.loc 1 931 8 view .LVU166
 504 009e 0129     		cmp	r1, #1
 505 00a0 2BD0     		beq	.L52
 506              	.LVL24:
 507              	.L44:
 937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 508              		.loc 1 937 5 is_stmt 1 view .LVU167
ARM GAS  /tmp/ccj1aKCo.s 			page 29


 509 00a2 D2F80032 		ldr	r3, [r2, #512]
 510 00a6 23F00103 		bic	r3, r3, #1
 511 00aa C2F80032 		str	r3, [r2, #512]
 940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
 512              		.loc 1 940 5 view .LVU168
 940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
 513              		.loc 1 940 12 is_stmt 0 view .LVU169
 514 00ae 0020     		movs	r0, #0
 515              		.loc 1 949 1 view .LVU170
 516 00b0 30BC     		pop	{r4, r5}
 517              		.cfi_remember_state
 518              		.cfi_restore 5
 519              		.cfi_restore 4
 520              		.cfi_def_cfa_offset 0
 521 00b2 7047     		bx	lr
 522              	.LVL25:
 523              	.L51:
 524              		.cfi_restore_state
 893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 525              		.loc 1 893 7 is_stmt 1 view .LVU171
 526 00b4 D2F80C02 		ldr	r0, [r2, #524]
 527 00b8 1843     		orrs	r0, r0, r3
 528 00ba C2F80C02 		str	r0, [r2, #524]
 896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterIdHigh) << 16U) |
 529              		.loc 1 896 7 view .LVU172
 898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 530              		.loc 1 898 22 is_stmt 0 view .LVU173
 531 00be 8C88     		ldrh	r4, [r1, #4]
 896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterIdHigh) << 16U) |
 532              		.loc 1 896 44 view .LVU174
 533 00c0 4869     		ldr	r0, [r1, #20]
 897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         (0x0000FFFFU & (uint32_t)sFilterConfig->FilterIdLow);
 534              		.loc 1 897 72 view .LVU175
 535 00c2 0D68     		ldr	r5, [r1]
 536 00c4 44EA0544 		orr	r4, r4, r5, lsl #16
 896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterIdHigh) << 16U) |
 537              		.loc 1 896 62 view .LVU176
 538 00c8 4830     		adds	r0, r0, #72
 539 00ca 42F83040 		str	r4, [r2, r0, lsl #3]
 901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdHigh) << 16U) |
 540              		.loc 1 901 7 is_stmt 1 view .LVU177
 903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
 541              		.loc 1 903 22 is_stmt 0 view .LVU178
 542 00ce 8C89     		ldrh	r4, [r1, #12]
 901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdHigh) << 16U) |
 543              		.loc 1 901 44 view .LVU179
 544 00d0 4869     		ldr	r0, [r1, #20]
 902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         (0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdLow);
 545              		.loc 1 902 76 view .LVU180
 546 00d2 8D68     		ldr	r5, [r1, #8]
 547 00d4 44EA0544 		orr	r4, r4, r5, lsl #16
 901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         ((0x0000FFFFU & (uint32_t)sFilterConfig->FilterMaskIdHigh) << 16U) |
 548              		.loc 1 901 62 view .LVU181
 549 00d8 4830     		adds	r0, r0, #72
 550 00da 02EBC000 		add	r0, r2, r0, lsl #3
 551 00de 4460     		str	r4, [r0, #4]
 552 00e0 CCE7     		b	.L39
ARM GAS  /tmp/ccj1aKCo.s 			page 30


 553              	.L40:
 915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
 554              		.loc 1 915 7 is_stmt 1 view .LVU182
 555 00e2 D2F80402 		ldr	r0, [r2, #516]
 556 00e6 1843     		orrs	r0, r0, r3
 557 00e8 C2F80402 		str	r0, [r2, #516]
 558 00ec CEE7     		b	.L41
 559              	.L42:
 927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
 560              		.loc 1 927 7 view .LVU183
 561 00ee D2F81402 		ldr	r0, [r2, #532]
 562 00f2 1843     		orrs	r0, r0, r3
 563 00f4 C2F81402 		str	r0, [r2, #532]
 564 00f8 D0E7     		b	.L43
 565              	.LVL26:
 566              	.L52:
 933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
 567              		.loc 1 933 7 view .LVU184
 568 00fa D2F81C12 		ldr	r1, [r2, #540]
 569 00fe 0B43     		orrs	r3, r3, r1
 570              	.LVL27:
 933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
 571              		.loc 1 933 7 is_stmt 0 view .LVU185
 572 0100 C2F81C32 		str	r3, [r2, #540]
 573 0104 CDE7     		b	.L44
 574              		.cfi_endproc
 575              	.LFE134:
 577              		.section	.text.HAL_CAN_Start,"ax",%progbits
 578              		.align	1
 579              		.global	HAL_CAN_Start
 580              		.syntax unified
 581              		.thumb
 582              		.thumb_func
 584              	HAL_CAN_Start:
 585              	.LVL28:
 586              	.LFB135:
 950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
 952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @}
 953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   */
 954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /** @defgroup CAN_Exported_Functions_Group3 Control functions
 956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****  *  @brief    Control functions
 957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****  *
 958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** @verbatim
 959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   ==============================================================================
 960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****                       ##### Control functions #####
 961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   ==============================================================================
 962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     [..]  This section provides functions allowing to:
 963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       (+) HAL_CAN_Start                    : Start the CAN module
 964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       (+) HAL_CAN_Stop                     : Stop the CAN module
 965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       (+) HAL_CAN_RequestSleep             : Request sleep mode entry.
 966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       (+) HAL_CAN_WakeUp                   : Wake up from sleep mode.
 967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       (+) HAL_CAN_IsSleepActive            : Check is sleep mode is active.
 968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       (+) HAL_CAN_AddTxMessage             : Add a message to the Tx mailboxes
 969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****                                              and activate the corresponding
 970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****                                              transmission request
ARM GAS  /tmp/ccj1aKCo.s 			page 31


 971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       (+) HAL_CAN_AbortTxRequest           : Abort transmission request
 972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       (+) HAL_CAN_GetTxMailboxesFreeLevel  : Return Tx mailboxes free level
 973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       (+) HAL_CAN_IsTxMessagePending       : Check if a transmission request is
 974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****                                              pending on the selected Tx mailbox
 975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       (+) HAL_CAN_GetRxMessage             : Get a CAN frame from the Rx FIFO
 976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       (+) HAL_CAN_GetRxFifoFillLevel       : Return Rx FIFO fill level
 977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** @endverbatim
 979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @{
 980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   */
 981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
 983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @brief  Start the CAN module.
 984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @param  hcan pointer to an CAN_HandleTypeDef structure that contains
 985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *         the configuration information for the specified CAN.
 986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @retval HAL status
 987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   */
 988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_Start(CAN_HandleTypeDef *hcan)
 989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
 587              		.loc 1 989 1 is_stmt 1 view -0
 588              		.cfi_startproc
 589              		@ args = 0, pretend = 0, frame = 0
 590              		@ frame_needed = 0, uses_anonymous_args = 0
 591              		.loc 1 989 1 is_stmt 0 view .LVU187
 592 0000 70B5     		push	{r4, r5, r6, lr}
 593              		.cfi_def_cfa_offset 16
 594              		.cfi_offset 4, -16
 595              		.cfi_offset 5, -12
 596              		.cfi_offset 6, -8
 597              		.cfi_offset 14, -4
 598 0002 0446     		mov	r4, r0
 990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   uint32_t tickstart;
 599              		.loc 1 990 3 is_stmt 1 view .LVU188
 991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   if (hcan->State == HAL_CAN_STATE_READY)
 600              		.loc 1 992 3 view .LVU189
 601              		.loc 1 992 11 is_stmt 0 view .LVU190
 602 0004 90F82050 		ldrb	r5, [r0, #32]	@ zero_extendqisi2
 603 0008 EDB2     		uxtb	r5, r5
 604              		.loc 1 992 6 view .LVU191
 605 000a 012D     		cmp	r5, #1
 606 000c 06D0     		beq	.L59
 993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
 994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* Change CAN peripheral state */
 995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     hcan->State = HAL_CAN_STATE_LISTENING;
 996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* Request leave initialisation */
 998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     CLEAR_BIT(hcan->Instance->MCR, CAN_MCR_INRQ);
 999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* Get tick */
1001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     tickstart = HAL_GetTick();
1002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* Wait the acknowledge */
1004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     while ((hcan->Instance->MSR & CAN_MSR_INAK) != 0U)
1005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
1006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       /* Check for the Timeout */
1007:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       if ((HAL_GetTick() - tickstart) > CAN_TIMEOUT_VALUE)
ARM GAS  /tmp/ccj1aKCo.s 			page 32


1008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       {
1009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         /* Update error code */
1010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         hcan->ErrorCode |= HAL_CAN_ERROR_TIMEOUT;
1011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         /* Change CAN state */
1013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         hcan->State = HAL_CAN_STATE_ERROR;
1014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         return HAL_ERROR;
1016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       }
1017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
1018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* Reset the CAN ErrorCode */
1020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     hcan->ErrorCode = HAL_CAN_ERROR_NONE;
1021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* Return function status */
1023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     return HAL_OK;
1024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
1025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   else
1026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
1027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* Update error code */
1028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     hcan->ErrorCode |= HAL_CAN_ERROR_NOT_READY;
 607              		.loc 1 1028 5 is_stmt 1 view .LVU192
 608              		.loc 1 1028 9 is_stmt 0 view .LVU193
 609 000e 436A     		ldr	r3, [r0, #36]
 610              		.loc 1 1028 21 view .LVU194
 611 0010 43F40023 		orr	r3, r3, #524288
 612 0014 4362     		str	r3, [r0, #36]
1029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1030:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     return HAL_ERROR;
 613              		.loc 1 1030 5 is_stmt 1 view .LVU195
 614              		.loc 1 1030 12 is_stmt 0 view .LVU196
 615 0016 0125     		movs	r5, #1
 616              	.LVL29:
 617              	.L56:
1031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
1032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
 618              		.loc 1 1032 1 view .LVU197
 619 0018 2846     		mov	r0, r5
 620 001a 70BD     		pop	{r4, r5, r6, pc}
 621              	.LVL30:
 622              	.L59:
 995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 623              		.loc 1 995 5 is_stmt 1 view .LVU198
 995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 624              		.loc 1 995 17 is_stmt 0 view .LVU199
 625 001c 0223     		movs	r3, #2
 626 001e 80F82030 		strb	r3, [r0, #32]
 998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 627              		.loc 1 998 5 is_stmt 1 view .LVU200
 628 0022 0268     		ldr	r2, [r0]
 629 0024 1368     		ldr	r3, [r2]
 630 0026 23F00103 		bic	r3, r3, #1
 631 002a 1360     		str	r3, [r2]
1001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 632              		.loc 1 1001 5 view .LVU201
1001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 633              		.loc 1 1001 17 is_stmt 0 view .LVU202
ARM GAS  /tmp/ccj1aKCo.s 			page 33


 634 002c FFF7FEFF 		bl	HAL_GetTick
 635              	.LVL31:
1001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 636              		.loc 1 1001 17 view .LVU203
 637 0030 0646     		mov	r6, r0
 638              	.LVL32:
1004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 639              		.loc 1 1004 5 is_stmt 1 view .LVU204
 640              	.L55:
1004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 641              		.loc 1 1004 49 view .LVU205
1004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 642              		.loc 1 1004 17 is_stmt 0 view .LVU206
 643 0032 2368     		ldr	r3, [r4]
1004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 644              		.loc 1 1004 27 view .LVU207
 645 0034 5B68     		ldr	r3, [r3, #4]
1004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 646              		.loc 1 1004 49 view .LVU208
 647 0036 13F0010F 		tst	r3, #1
 648 003a 0CD0     		beq	.L60
1007:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       {
 649              		.loc 1 1007 7 is_stmt 1 view .LVU209
1007:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       {
 650              		.loc 1 1007 12 is_stmt 0 view .LVU210
 651 003c FFF7FEFF 		bl	HAL_GetTick
 652              	.LVL33:
1007:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       {
 653              		.loc 1 1007 26 view .LVU211
 654 0040 831B     		subs	r3, r0, r6
1007:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       {
 655              		.loc 1 1007 10 view .LVU212
 656 0042 0A2B     		cmp	r3, #10
 657 0044 F5D9     		bls	.L55
1010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 658              		.loc 1 1010 9 is_stmt 1 view .LVU213
1010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 659              		.loc 1 1010 13 is_stmt 0 view .LVU214
 660 0046 636A     		ldr	r3, [r4, #36]
1010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 661              		.loc 1 1010 25 view .LVU215
 662 0048 43F40033 		orr	r3, r3, #131072
 663 004c 6362     		str	r3, [r4, #36]
1013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 664              		.loc 1 1013 9 is_stmt 1 view .LVU216
1013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 665              		.loc 1 1013 21 is_stmt 0 view .LVU217
 666 004e 0523     		movs	r3, #5
 667 0050 84F82030 		strb	r3, [r4, #32]
1015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       }
 668              		.loc 1 1015 9 is_stmt 1 view .LVU218
1015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       }
 669              		.loc 1 1015 16 is_stmt 0 view .LVU219
 670 0054 E0E7     		b	.L56
 671              	.L60:
1020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 672              		.loc 1 1020 5 is_stmt 1 view .LVU220
ARM GAS  /tmp/ccj1aKCo.s 			page 34


1020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 673              		.loc 1 1020 21 is_stmt 0 view .LVU221
 674 0056 0025     		movs	r5, #0
 675 0058 6562     		str	r5, [r4, #36]
1023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
 676              		.loc 1 1023 5 is_stmt 1 view .LVU222
1023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
 677              		.loc 1 1023 12 is_stmt 0 view .LVU223
 678 005a DDE7     		b	.L56
 679              		.cfi_endproc
 680              	.LFE135:
 682              		.section	.text.HAL_CAN_Stop,"ax",%progbits
 683              		.align	1
 684              		.global	HAL_CAN_Stop
 685              		.syntax unified
 686              		.thumb
 687              		.thumb_func
 689              	HAL_CAN_Stop:
 690              	.LVL34:
 691              	.LFB136:
1033:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
1035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @brief  Stop the CAN module and enable access to configuration registers.
1036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @param  hcan pointer to an CAN_HandleTypeDef structure that contains
1037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *         the configuration information for the specified CAN.
1038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @retval HAL status
1039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   */
1040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_Stop(CAN_HandleTypeDef *hcan)
1041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
 692              		.loc 1 1041 1 is_stmt 1 view -0
 693              		.cfi_startproc
 694              		@ args = 0, pretend = 0, frame = 0
 695              		@ frame_needed = 0, uses_anonymous_args = 0
 696              		.loc 1 1041 1 is_stmt 0 view .LVU225
 697 0000 38B5     		push	{r3, r4, r5, lr}
 698              		.cfi_def_cfa_offset 16
 699              		.cfi_offset 3, -16
 700              		.cfi_offset 4, -12
 701              		.cfi_offset 5, -8
 702              		.cfi_offset 14, -4
 703 0002 0446     		mov	r4, r0
1042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   uint32_t tickstart;
 704              		.loc 1 1042 3 is_stmt 1 view .LVU226
1043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   if (hcan->State == HAL_CAN_STATE_LISTENING)
 705              		.loc 1 1044 3 view .LVU227
 706              		.loc 1 1044 11 is_stmt 0 view .LVU228
 707 0004 90F82030 		ldrb	r3, [r0, #32]	@ zero_extendqisi2
 708 0008 DBB2     		uxtb	r3, r3
 709              		.loc 1 1044 6 view .LVU229
 710 000a 022B     		cmp	r3, #2
 711 000c 05D0     		beq	.L67
1045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
1046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* Request initialisation */
1047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     SET_BIT(hcan->Instance->MCR, CAN_MCR_INRQ);
1048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* Get tick */
ARM GAS  /tmp/ccj1aKCo.s 			page 35


1050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     tickstart = HAL_GetTick();
1051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* Wait the acknowledge */
1053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     while ((hcan->Instance->MSR & CAN_MSR_INAK) == 0U)
1054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
1055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       /* Check for the Timeout */
1056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       if ((HAL_GetTick() - tickstart) > CAN_TIMEOUT_VALUE)
1057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       {
1058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         /* Update error code */
1059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         hcan->ErrorCode |= HAL_CAN_ERROR_TIMEOUT;
1060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         /* Change CAN state */
1062:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         hcan->State = HAL_CAN_STATE_ERROR;
1063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         return HAL_ERROR;
1065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       }
1066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
1067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1068:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* Exit from sleep mode */
1069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     CLEAR_BIT(hcan->Instance->MCR, CAN_MCR_SLEEP);
1070:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1071:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* Change CAN peripheral state */
1072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     hcan->State = HAL_CAN_STATE_READY;
1073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* Return function status */
1075:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     return HAL_OK;
1076:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
1077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   else
1078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
1079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* Update error code */
1080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     hcan->ErrorCode |= HAL_CAN_ERROR_NOT_STARTED;
 712              		.loc 1 1080 5 is_stmt 1 view .LVU230
 713              		.loc 1 1080 9 is_stmt 0 view .LVU231
 714 000e 436A     		ldr	r3, [r0, #36]
 715              		.loc 1 1080 21 view .LVU232
 716 0010 43F48013 		orr	r3, r3, #1048576
 717 0014 4362     		str	r3, [r0, #36]
1081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     return HAL_ERROR;
 718              		.loc 1 1082 5 is_stmt 1 view .LVU233
 719              		.loc 1 1082 12 is_stmt 0 view .LVU234
 720 0016 0120     		movs	r0, #1
 721              	.LVL35:
 722              	.L64:
1083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
1084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
 723              		.loc 1 1084 1 view .LVU235
 724 0018 38BD     		pop	{r3, r4, r5, pc}
 725              	.LVL36:
 726              	.L67:
1047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 727              		.loc 1 1047 5 is_stmt 1 view .LVU236
 728 001a 0268     		ldr	r2, [r0]
 729 001c 1368     		ldr	r3, [r2]
 730 001e 43F00103 		orr	r3, r3, #1
 731 0022 1360     		str	r3, [r2]
1050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
ARM GAS  /tmp/ccj1aKCo.s 			page 36


 732              		.loc 1 1050 5 view .LVU237
1050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 733              		.loc 1 1050 17 is_stmt 0 view .LVU238
 734 0024 FFF7FEFF 		bl	HAL_GetTick
 735              	.LVL37:
1050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 736              		.loc 1 1050 17 view .LVU239
 737 0028 0546     		mov	r5, r0
 738              	.LVL38:
1053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 739              		.loc 1 1053 5 is_stmt 1 view .LVU240
 740              	.L63:
1053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 741              		.loc 1 1053 49 view .LVU241
1053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 742              		.loc 1 1053 17 is_stmt 0 view .LVU242
 743 002a 2368     		ldr	r3, [r4]
1053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 744              		.loc 1 1053 27 view .LVU243
 745 002c 5A68     		ldr	r2, [r3, #4]
1053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 746              		.loc 1 1053 49 view .LVU244
 747 002e 12F0010F 		tst	r2, #1
 748 0032 0DD1     		bne	.L68
1056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       {
 749              		.loc 1 1056 7 is_stmt 1 view .LVU245
1056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       {
 750              		.loc 1 1056 12 is_stmt 0 view .LVU246
 751 0034 FFF7FEFF 		bl	HAL_GetTick
 752              	.LVL39:
1056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       {
 753              		.loc 1 1056 26 view .LVU247
 754 0038 431B     		subs	r3, r0, r5
1056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       {
 755              		.loc 1 1056 10 view .LVU248
 756 003a 0A2B     		cmp	r3, #10
 757 003c F5D9     		bls	.L63
1059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 758              		.loc 1 1059 9 is_stmt 1 view .LVU249
1059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 759              		.loc 1 1059 13 is_stmt 0 view .LVU250
 760 003e 636A     		ldr	r3, [r4, #36]
1059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 761              		.loc 1 1059 25 view .LVU251
 762 0040 43F40033 		orr	r3, r3, #131072
 763 0044 6362     		str	r3, [r4, #36]
1062:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 764              		.loc 1 1062 9 is_stmt 1 view .LVU252
1062:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 765              		.loc 1 1062 21 is_stmt 0 view .LVU253
 766 0046 0523     		movs	r3, #5
 767 0048 84F82030 		strb	r3, [r4, #32]
1064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       }
 768              		.loc 1 1064 9 is_stmt 1 view .LVU254
1064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       }
 769              		.loc 1 1064 16 is_stmt 0 view .LVU255
 770 004c 0120     		movs	r0, #1
ARM GAS  /tmp/ccj1aKCo.s 			page 37


 771 004e E3E7     		b	.L64
 772              	.L68:
1069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 773              		.loc 1 1069 5 is_stmt 1 view .LVU256
 774 0050 1A68     		ldr	r2, [r3]
 775 0052 22F00202 		bic	r2, r2, #2
 776 0056 1A60     		str	r2, [r3]
1072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 777              		.loc 1 1072 5 view .LVU257
1072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 778              		.loc 1 1072 17 is_stmt 0 view .LVU258
 779 0058 0123     		movs	r3, #1
 780 005a 84F82030 		strb	r3, [r4, #32]
1075:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
 781              		.loc 1 1075 5 is_stmt 1 view .LVU259
1075:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
 782              		.loc 1 1075 12 is_stmt 0 view .LVU260
 783 005e 0020     		movs	r0, #0
 784 0060 DAE7     		b	.L64
 785              		.cfi_endproc
 786              	.LFE136:
 788              		.section	.text.HAL_CAN_DeInit,"ax",%progbits
 789              		.align	1
 790              		.global	HAL_CAN_DeInit
 791              		.syntax unified
 792              		.thumb
 793              		.thumb_func
 795              	HAL_CAN_DeInit:
 796              	.LVL40:
 797              	.LFB131:
 460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* Check CAN handle */
 798              		.loc 1 460 1 is_stmt 1 view -0
 799              		.cfi_startproc
 800              		@ args = 0, pretend = 0, frame = 0
 801              		@ frame_needed = 0, uses_anonymous_args = 0
 462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
 802              		.loc 1 462 3 view .LVU262
 462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
 803              		.loc 1 462 6 is_stmt 0 view .LVU263
 804 0000 80B1     		cbz	r0, .L71
 460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* Check CAN handle */
 805              		.loc 1 460 1 view .LVU264
 806 0002 10B5     		push	{r4, lr}
 807              		.cfi_def_cfa_offset 8
 808              		.cfi_offset 4, -8
 809              		.cfi_offset 14, -4
 810 0004 0446     		mov	r4, r0
 468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 811              		.loc 1 468 3 is_stmt 1 view .LVU265
 471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 812              		.loc 1 471 3 view .LVU266
 471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 813              		.loc 1 471 9 is_stmt 0 view .LVU267
 814 0006 FFF7FEFF 		bl	HAL_CAN_Stop
 815              	.LVL41:
 484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* (USE_HAL_CAN_REGISTER_CALLBACKS) */
 816              		.loc 1 484 3 is_stmt 1 view .LVU268
ARM GAS  /tmp/ccj1aKCo.s 			page 38


 817 000a 2046     		mov	r0, r4
 818 000c FFF7FEFF 		bl	HAL_CAN_MspDeInit
 819              	.LVL42:
 488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 820              		.loc 1 488 3 view .LVU269
 821 0010 2268     		ldr	r2, [r4]
 822 0012 1368     		ldr	r3, [r2]
 823 0014 43F40043 		orr	r3, r3, #32768
 824 0018 1360     		str	r3, [r2]
 491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 825              		.loc 1 491 3 view .LVU270
 491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 826              		.loc 1 491 19 is_stmt 0 view .LVU271
 827 001a 0020     		movs	r0, #0
 828 001c 6062     		str	r0, [r4, #36]
 494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 829              		.loc 1 494 3 is_stmt 1 view .LVU272
 494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 830              		.loc 1 494 15 is_stmt 0 view .LVU273
 831 001e 84F82000 		strb	r0, [r4, #32]
 497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
 832              		.loc 1 497 3 is_stmt 1 view .LVU274
 498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 833              		.loc 1 498 1 is_stmt 0 view .LVU275
 834 0022 10BD     		pop	{r4, pc}
 835              	.LVL43:
 836              	.L71:
 837              		.cfi_def_cfa_offset 0
 838              		.cfi_restore 4
 839              		.cfi_restore 14
 464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
 840              		.loc 1 464 12 view .LVU276
 841 0024 0120     		movs	r0, #1
 842              	.LVL44:
 498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 843              		.loc 1 498 1 view .LVU277
 844 0026 7047     		bx	lr
 845              		.cfi_endproc
 846              	.LFE131:
 848              		.section	.text.HAL_CAN_RequestSleep,"ax",%progbits
 849              		.align	1
 850              		.global	HAL_CAN_RequestSleep
 851              		.syntax unified
 852              		.thumb
 853              		.thumb_func
 855              	HAL_CAN_RequestSleep:
 856              	.LVL45:
 857              	.LFB137:
1085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1086:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
1087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @brief  Request the sleep mode (low power) entry.
1088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *         When returning from this function, Sleep mode will be entered
1089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *         as soon as the current CAN activity (transmission or reception
1090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *         of a CAN frame) has been completed.
1091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @param  hcan pointer to a CAN_HandleTypeDef structure that contains
1092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *         the configuration information for the specified CAN.
1093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @retval HAL status.
ARM GAS  /tmp/ccj1aKCo.s 			page 39


1094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   */
1095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_RequestSleep(CAN_HandleTypeDef *hcan)
1096:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
 858              		.loc 1 1096 1 is_stmt 1 view -0
 859              		.cfi_startproc
 860              		@ args = 0, pretend = 0, frame = 0
 861              		@ frame_needed = 0, uses_anonymous_args = 0
 862              		@ link register save eliminated.
1097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   HAL_CAN_StateTypeDef state = hcan->State;
 863              		.loc 1 1097 3 view .LVU279
 864              		.loc 1 1097 24 is_stmt 0 view .LVU280
 865 0000 90F82030 		ldrb	r3, [r0, #32]	@ zero_extendqisi2
 866              	.LVL46:
1098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   if ((state == HAL_CAN_STATE_READY) ||
 867              		.loc 1 1099 3 is_stmt 1 view .LVU281
 868              		.loc 1 1099 38 is_stmt 0 view .LVU282
 869 0004 013B     		subs	r3, r3, #1
 870              	.LVL47:
 871              		.loc 1 1099 38 view .LVU283
 872 0006 DBB2     		uxtb	r3, r3
 873              		.loc 1 1099 6 view .LVU284
 874 0008 012B     		cmp	r3, #1
 875 000a 05D9     		bls	.L79
1100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       (state == HAL_CAN_STATE_LISTENING))
1101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
1102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* Request Sleep mode */
1103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     SET_BIT(hcan->Instance->MCR, CAN_MCR_SLEEP);
1104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* Return function status */
1106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     return HAL_OK;
1107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
1108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   else
1109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
1110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* Update error code */
1111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     hcan->ErrorCode |= HAL_CAN_ERROR_NOT_INITIALIZED;
 876              		.loc 1 1111 5 is_stmt 1 view .LVU285
 877              		.loc 1 1111 9 is_stmt 0 view .LVU286
 878 000c 436A     		ldr	r3, [r0, #36]
 879              		.loc 1 1111 21 view .LVU287
 880 000e 43F48023 		orr	r3, r3, #262144
 881 0012 4362     		str	r3, [r0, #36]
1112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* Return function status */
1114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     return HAL_ERROR;
 882              		.loc 1 1114 5 is_stmt 1 view .LVU288
 883              		.loc 1 1114 12 is_stmt 0 view .LVU289
 884 0014 0120     		movs	r0, #1
 885              	.LVL48:
1115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
1116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
 886              		.loc 1 1116 1 view .LVU290
 887 0016 7047     		bx	lr
 888              	.LVL49:
 889              	.L79:
1103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 890              		.loc 1 1103 5 is_stmt 1 view .LVU291
ARM GAS  /tmp/ccj1aKCo.s 			page 40


 891 0018 0268     		ldr	r2, [r0]
 892 001a 1368     		ldr	r3, [r2]
 893 001c 43F00203 		orr	r3, r3, #2
 894 0020 1360     		str	r3, [r2]
1106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
 895              		.loc 1 1106 5 view .LVU292
1106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
 896              		.loc 1 1106 12 is_stmt 0 view .LVU293
 897 0022 0020     		movs	r0, #0
 898              	.LVL50:
1106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
 899              		.loc 1 1106 12 view .LVU294
 900 0024 7047     		bx	lr
 901              		.cfi_endproc
 902              	.LFE137:
 904              		.section	.text.HAL_CAN_WakeUp,"ax",%progbits
 905              		.align	1
 906              		.global	HAL_CAN_WakeUp
 907              		.syntax unified
 908              		.thumb
 909              		.thumb_func
 911              	HAL_CAN_WakeUp:
 912              	.LVL51:
 913              	.LFB138:
1117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
1119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @brief  Wake up from sleep mode.
1120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *         When returning with HAL_OK status from this function, Sleep mode
1121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *         is exited.
1122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @param  hcan pointer to a CAN_HandleTypeDef structure that contains
1123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *         the configuration information for the specified CAN.
1124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @retval HAL status.
1125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   */
1126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_WakeUp(CAN_HandleTypeDef *hcan)
1127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
 914              		.loc 1 1127 1 is_stmt 1 view -0
 915              		.cfi_startproc
 916              		@ args = 0, pretend = 0, frame = 8
 917              		@ frame_needed = 0, uses_anonymous_args = 0
 918              		@ link register save eliminated.
 919              		.loc 1 1127 1 is_stmt 0 view .LVU296
 920 0000 82B0     		sub	sp, sp, #8
 921              		.cfi_def_cfa_offset 8
1128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   __IO uint32_t count = 0;
 922              		.loc 1 1128 3 is_stmt 1 view .LVU297
 923              		.loc 1 1128 17 is_stmt 0 view .LVU298
 924 0002 0023     		movs	r3, #0
 925 0004 0193     		str	r3, [sp, #4]
1129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   uint32_t timeout = 1000000U;
 926              		.loc 1 1129 3 is_stmt 1 view .LVU299
 927              	.LVL52:
1130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   HAL_CAN_StateTypeDef state = hcan->State;
 928              		.loc 1 1130 3 view .LVU300
 929              		.loc 1 1130 24 is_stmt 0 view .LVU301
 930 0006 90F82030 		ldrb	r3, [r0, #32]	@ zero_extendqisi2
 931              	.LVL53:
1131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
ARM GAS  /tmp/ccj1aKCo.s 			page 41


1132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   if ((state == HAL_CAN_STATE_READY) ||
 932              		.loc 1 1132 3 is_stmt 1 view .LVU302
 933              		.loc 1 1132 38 is_stmt 0 view .LVU303
 934 000a 013B     		subs	r3, r3, #1
 935              	.LVL54:
 936              		.loc 1 1132 38 view .LVU304
 937 000c DBB2     		uxtb	r3, r3
 938              		.loc 1 1132 6 view .LVU305
 939 000e 012B     		cmp	r3, #1
 940 0010 18D8     		bhi	.L81
1133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       (state == HAL_CAN_STATE_LISTENING))
1134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
1135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* Wake up request */
1136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     CLEAR_BIT(hcan->Instance->MCR, CAN_MCR_SLEEP);
 941              		.loc 1 1136 5 is_stmt 1 view .LVU306
 942 0012 0268     		ldr	r2, [r0]
 943 0014 1368     		ldr	r3, [r2]
 944 0016 23F00203 		bic	r3, r3, #2
 945 001a 1360     		str	r3, [r2]
 946              	.L84:
1137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* Wait sleep mode is exited */
1139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     do
 947              		.loc 1 1139 5 view .LVU307
1140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
1141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       /* Increment counter */
1142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       count++;
 948              		.loc 1 1142 7 view .LVU308
 949              		.loc 1 1142 12 is_stmt 0 view .LVU309
 950 001c 019B     		ldr	r3, [sp, #4]
 951 001e 0133     		adds	r3, r3, #1
 952 0020 0193     		str	r3, [sp, #4]
1143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       /* Check if timeout is reached */
1145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       if (count > timeout)
 953              		.loc 1 1145 7 is_stmt 1 view .LVU310
 954              		.loc 1 1145 17 is_stmt 0 view .LVU311
 955 0022 019A     		ldr	r2, [sp, #4]
 956              		.loc 1 1145 10 view .LVU312
 957 0024 0B4B     		ldr	r3, .L87
 958 0026 9A42     		cmp	r2, r3
 959 0028 06D8     		bhi	.L86
1146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       {
1147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         /* Update error code */
1148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         hcan->ErrorCode |= HAL_CAN_ERROR_TIMEOUT;
1149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         return HAL_ERROR;
1151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       }
1152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
1153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     while ((hcan->Instance->MSR & CAN_MSR_SLAK) != 0U);
 960              		.loc 1 1153 49 is_stmt 1 view .LVU313
 961              		.loc 1 1153 17 is_stmt 0 view .LVU314
 962 002a 0368     		ldr	r3, [r0]
 963              		.loc 1 1153 27 view .LVU315
 964 002c 5B68     		ldr	r3, [r3, #4]
 965              		.loc 1 1153 49 view .LVU316
 966 002e 13F0020F 		tst	r3, #2
ARM GAS  /tmp/ccj1aKCo.s 			page 42


 967 0032 F3D1     		bne	.L84
1154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* Return function status */
1156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     return HAL_OK;
 968              		.loc 1 1156 12 view .LVU317
 969 0034 0020     		movs	r0, #0
 970              	.LVL55:
 971              		.loc 1 1156 12 view .LVU318
 972 0036 0AE0     		b	.L83
 973              	.LVL56:
 974              	.L86:
1148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 975              		.loc 1 1148 9 is_stmt 1 view .LVU319
1148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 976              		.loc 1 1148 13 is_stmt 0 view .LVU320
 977 0038 436A     		ldr	r3, [r0, #36]
1148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 978              		.loc 1 1148 25 view .LVU321
 979 003a 43F40033 		orr	r3, r3, #131072
 980 003e 4362     		str	r3, [r0, #36]
1150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       }
 981              		.loc 1 1150 9 is_stmt 1 view .LVU322
1150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       }
 982              		.loc 1 1150 16 is_stmt 0 view .LVU323
 983 0040 0120     		movs	r0, #1
 984              	.LVL57:
1150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       }
 985              		.loc 1 1150 16 view .LVU324
 986 0042 04E0     		b	.L83
 987              	.LVL58:
 988              	.L81:
1157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
1158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   else
1159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
1160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* Update error code */
1161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     hcan->ErrorCode |= HAL_CAN_ERROR_NOT_INITIALIZED;
 989              		.loc 1 1161 5 is_stmt 1 view .LVU325
 990              		.loc 1 1161 9 is_stmt 0 view .LVU326
 991 0044 436A     		ldr	r3, [r0, #36]
 992              		.loc 1 1161 21 view .LVU327
 993 0046 43F48023 		orr	r3, r3, #262144
 994 004a 4362     		str	r3, [r0, #36]
1162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     return HAL_ERROR;
 995              		.loc 1 1163 5 is_stmt 1 view .LVU328
 996              		.loc 1 1163 12 is_stmt 0 view .LVU329
 997 004c 0120     		movs	r0, #1
 998              	.LVL59:
 999              	.L83:
1164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
1165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
 1000              		.loc 1 1165 1 view .LVU330
 1001 004e 02B0     		add	sp, sp, #8
 1002              		.cfi_def_cfa_offset 0
 1003              		@ sp needed
 1004 0050 7047     		bx	lr
 1005              	.L88:
ARM GAS  /tmp/ccj1aKCo.s 			page 43


 1006 0052 00BF     		.align	2
 1007              	.L87:
 1008 0054 40420F00 		.word	1000000
 1009              		.cfi_endproc
 1010              	.LFE138:
 1012              		.section	.text.HAL_CAN_IsSleepActive,"ax",%progbits
 1013              		.align	1
 1014              		.global	HAL_CAN_IsSleepActive
 1015              		.syntax unified
 1016              		.thumb
 1017              		.thumb_func
 1019              	HAL_CAN_IsSleepActive:
 1020              	.LVL60:
 1021              	.LFB139:
1166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
1168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @brief  Check is sleep mode is active.
1169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @param  hcan pointer to a CAN_HandleTypeDef structure that contains
1170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *         the configuration information for the specified CAN.
1171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @retval Status
1172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *          - 0 : Sleep mode is not active.
1173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *          - 1 : Sleep mode is active.
1174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   */
1175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t HAL_CAN_IsSleepActive(CAN_HandleTypeDef *hcan)
1176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
 1022              		.loc 1 1176 1 is_stmt 1 view -0
 1023              		.cfi_startproc
 1024              		@ args = 0, pretend = 0, frame = 0
 1025              		@ frame_needed = 0, uses_anonymous_args = 0
 1026              		@ link register save eliminated.
1177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   uint32_t status = 0U;
 1027              		.loc 1 1177 3 view .LVU332
1178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   HAL_CAN_StateTypeDef state = hcan->State;
 1028              		.loc 1 1178 3 view .LVU333
 1029              		.loc 1 1178 24 is_stmt 0 view .LVU334
 1030 0000 90F82030 		ldrb	r3, [r0, #32]	@ zero_extendqisi2
 1031              	.LVL61:
1179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   if ((state == HAL_CAN_STATE_READY) ||
 1032              		.loc 1 1180 3 is_stmt 1 view .LVU335
 1033              		.loc 1 1180 38 is_stmt 0 view .LVU336
 1034 0004 013B     		subs	r3, r3, #1
 1035              	.LVL62:
 1036              		.loc 1 1180 38 view .LVU337
 1037 0006 DBB2     		uxtb	r3, r3
 1038              		.loc 1 1180 6 view .LVU338
 1039 0008 012B     		cmp	r3, #1
 1040 000a 01D9     		bls	.L93
1177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   HAL_CAN_StateTypeDef state = hcan->State;
 1041              		.loc 1 1177 12 view .LVU339
 1042 000c 0020     		movs	r0, #0
 1043              	.LVL63:
1177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   HAL_CAN_StateTypeDef state = hcan->State;
 1044              		.loc 1 1177 12 view .LVU340
 1045 000e 7047     		bx	lr
 1046              	.LVL64:
 1047              	.L93:
ARM GAS  /tmp/ccj1aKCo.s 			page 44


1181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       (state == HAL_CAN_STATE_LISTENING))
1182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
1183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* Check Sleep mode */
1184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     if ((hcan->Instance->MSR & CAN_MSR_SLAK) != 0U)
 1048              		.loc 1 1184 5 is_stmt 1 view .LVU341
 1049              		.loc 1 1184 14 is_stmt 0 view .LVU342
 1050 0010 0368     		ldr	r3, [r0]
 1051              		.loc 1 1184 24 view .LVU343
 1052 0012 5868     		ldr	r0, [r3, #4]
 1053              	.LVL65:
 1054              		.loc 1 1184 8 view .LVU344
 1055 0014 10F00200 		ands	r0, r0, #2
 1056 0018 00D1     		bne	.L92
 1057 001a 7047     		bx	lr
 1058              	.L92:
1185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
1186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       status = 1U;
 1059              		.loc 1 1186 14 view .LVU345
 1060 001c 0120     		movs	r0, #1
 1061              	.LVL66:
1187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
1188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
1189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* Return function status */
1191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   return status;
 1062              		.loc 1 1191 3 is_stmt 1 view .LVU346
1192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
 1063              		.loc 1 1192 1 is_stmt 0 view .LVU347
 1064 001e 7047     		bx	lr
 1065              		.cfi_endproc
 1066              	.LFE139:
 1068              		.section	.text.HAL_CAN_AddTxMessage,"ax",%progbits
 1069              		.align	1
 1070              		.global	HAL_CAN_AddTxMessage
 1071              		.syntax unified
 1072              		.thumb
 1073              		.thumb_func
 1075              	HAL_CAN_AddTxMessage:
 1076              	.LVL67:
 1077              	.LFB140:
1193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
1195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @brief  Add a message to the first free Tx mailbox and activate the
1196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *         corresponding transmission request.
1197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @param  hcan pointer to a CAN_HandleTypeDef structure that contains
1198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *         the configuration information for the specified CAN.
1199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @param  pHeader pointer to a CAN_TxHeaderTypeDef structure.
1200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @param  aData array containing the payload of the Tx frame.
1201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @param  pTxMailbox pointer to a variable where the function will return
1202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *         the TxMailbox used to store the Tx message.
1203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *         This parameter can be a value of @arg CAN_Tx_Mailboxes.
1204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @retval HAL status
1205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   */
1206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_AddTxMessage(CAN_HandleTypeDef *hcan, CAN_TxHeaderTypeDef *pHeader, uint8
1207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
 1078              		.loc 1 1207 1 is_stmt 1 view -0
 1079              		.cfi_startproc
ARM GAS  /tmp/ccj1aKCo.s 			page 45


 1080              		@ args = 0, pretend = 0, frame = 0
 1081              		@ frame_needed = 0, uses_anonymous_args = 0
 1082              		.loc 1 1207 1 is_stmt 0 view .LVU349
 1083 0000 30B5     		push	{r4, r5, lr}
 1084              		.cfi_def_cfa_offset 12
 1085              		.cfi_offset 4, -12
 1086              		.cfi_offset 5, -8
 1087              		.cfi_offset 14, -4
1208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   uint32_t transmitmailbox;
 1088              		.loc 1 1208 3 is_stmt 1 view .LVU350
1209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   HAL_CAN_StateTypeDef state = hcan->State;
 1089              		.loc 1 1209 3 view .LVU351
 1090              		.loc 1 1209 24 is_stmt 0 view .LVU352
 1091 0002 90F820C0 		ldrb	ip, [r0, #32]	@ zero_extendqisi2
 1092              	.LVL68:
1210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   uint32_t tsr = READ_REG(hcan->Instance->TSR);
 1093              		.loc 1 1210 3 is_stmt 1 view .LVU353
 1094              		.loc 1 1210 12 is_stmt 0 view .LVU354
 1095 0006 0468     		ldr	r4, [r0]
 1096 0008 A468     		ldr	r4, [r4, #8]
 1097              	.LVL69:
1211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* Check the parameters */
1213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   assert_param(IS_CAN_IDTYPE(pHeader->IDE));
 1098              		.loc 1 1213 3 is_stmt 1 view .LVU355
1214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   assert_param(IS_CAN_RTR(pHeader->RTR));
 1099              		.loc 1 1214 3 view .LVU356
1215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   assert_param(IS_CAN_DLC(pHeader->DLC));
 1100              		.loc 1 1215 3 view .LVU357
1216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   if (pHeader->IDE == CAN_ID_STD)
 1101              		.loc 1 1216 3 view .LVU358
1217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
1218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     assert_param(IS_CAN_STDID(pHeader->StdId));
1219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
1220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   else
1221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
1222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     assert_param(IS_CAN_EXTID(pHeader->ExtId));
 1102              		.loc 1 1222 5 view .LVU359
1223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
1224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   assert_param(IS_FUNCTIONAL_STATE(pHeader->TransmitGlobalTime));
 1103              		.loc 1 1224 3 view .LVU360
1225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   if ((state == HAL_CAN_STATE_READY) ||
 1104              		.loc 1 1226 3 view .LVU361
 1105              		.loc 1 1226 38 is_stmt 0 view .LVU362
 1106 000a 0CF1FF3C 		add	ip, ip, #-1
 1107              	.LVL70:
 1108              		.loc 1 1226 38 view .LVU363
 1109 000e 5FFA8CFC 		uxtb	ip, ip
 1110              		.loc 1 1226 6 view .LVU364
 1111 0012 BCF1010F 		cmp	ip, #1
 1112 0016 6BD8     		bhi	.L95
1227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       (state == HAL_CAN_STATE_LISTENING))
1228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
1229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* Check that all the Tx mailboxes are not full */
1230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     if (((tsr & CAN_TSR_TME0) != 0U) ||
 1113              		.loc 1 1230 5 is_stmt 1 view .LVU365
ARM GAS  /tmp/ccj1aKCo.s 			page 46


 1114              		.loc 1 1230 8 is_stmt 0 view .LVU366
 1115 0018 14F0E05F 		tst	r4, #469762048
 1116 001c 62D0     		beq	.L96
1231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         ((tsr & CAN_TSR_TME1) != 0U) ||
1232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         ((tsr & CAN_TSR_TME2) != 0U))
1233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
1234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       /* Select an empty transmit mailbox */
1235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       transmitmailbox = (tsr & CAN_TSR_CODE) >> CAN_TSR_CODE_Pos;
 1117              		.loc 1 1235 7 is_stmt 1 view .LVU367
 1118              		.loc 1 1235 23 is_stmt 0 view .LVU368
 1119 001e C4F3016C 		ubfx	ip, r4, #24, #2
 1120              	.LVL71:
1236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       /* Check transmit mailbox value */
1238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       if (transmitmailbox > 2U)
 1121              		.loc 1 1238 7 is_stmt 1 view .LVU369
 1122              		.loc 1 1238 10 is_stmt 0 view .LVU370
 1123 0022 BCF1020F 		cmp	ip, #2
 1124 0026 05D9     		bls	.L97
1239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       {
1240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         /* Update error code */
1241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         hcan->ErrorCode |= HAL_CAN_ERROR_INTERNAL;
 1125              		.loc 1 1241 9 is_stmt 1 view .LVU371
 1126              		.loc 1 1241 13 is_stmt 0 view .LVU372
 1127 0028 436A     		ldr	r3, [r0, #36]
 1128              	.LVL72:
 1129              		.loc 1 1241 25 view .LVU373
 1130 002a 43F40003 		orr	r3, r3, #8388608
 1131 002e 4362     		str	r3, [r0, #36]
1242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         return HAL_ERROR;
 1132              		.loc 1 1243 9 is_stmt 1 view .LVU374
 1133              		.loc 1 1243 16 is_stmt 0 view .LVU375
 1134 0030 0120     		movs	r0, #1
 1135              	.LVL73:
 1136              		.loc 1 1243 16 view .LVU376
 1137 0032 62E0     		b	.L98
 1138              	.LVL74:
 1139              	.L97:
1244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       }
1245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       /* Store the Tx mailbox */
1247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       *pTxMailbox = (uint32_t)1 << transmitmailbox;
 1140              		.loc 1 1247 7 is_stmt 1 view .LVU377
 1141              		.loc 1 1247 33 is_stmt 0 view .LVU378
 1142 0034 0124     		movs	r4, #1
 1143              	.LVL75:
 1144              		.loc 1 1247 33 view .LVU379
 1145 0036 04FA0CF4 		lsl	r4, r4, ip
 1146              		.loc 1 1247 19 view .LVU380
 1147 003a 1C60     		str	r4, [r3]
1248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       /* Set up the Id */
1250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       if (pHeader->IDE == CAN_ID_STD)
 1148              		.loc 1 1250 7 is_stmt 1 view .LVU381
 1149              		.loc 1 1250 18 is_stmt 0 view .LVU382
 1150 003c 8B68     		ldr	r3, [r1, #8]
ARM GAS  /tmp/ccj1aKCo.s 			page 47


 1151              	.LVL76:
 1152              		.loc 1 1250 10 view .LVU383
 1153 003e 002B     		cmp	r3, #0
 1154 0040 3DD1     		bne	.L99
1251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       {
1252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         hcan->Instance->sTxMailBox[transmitmailbox].TIR = ((pHeader->StdId << CAN_TI0R_STID_Pos) |
 1155              		.loc 1 1252 9 is_stmt 1 view .LVU384
 1156              		.loc 1 1252 68 is_stmt 0 view .LVU385
 1157 0042 0D68     		ldr	r5, [r1]
1253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****                                                            pHeader->RTR);
 1158              		.loc 1 1253 67 view .LVU386
 1159 0044 CB68     		ldr	r3, [r1, #12]
1252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****                                                            pHeader->RTR);
 1160              		.loc 1 1252 13 view .LVU387
 1161 0046 0468     		ldr	r4, [r0]
1252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****                                                            pHeader->RTR);
 1162              		.loc 1 1252 98 view .LVU388
 1163 0048 43EA4555 		orr	r5, r3, r5, lsl #21
1252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****                                                            pHeader->RTR);
 1164              		.loc 1 1252 57 view .LVU389
 1165 004c 0CF11803 		add	r3, ip, #24
 1166 0050 1B01     		lsls	r3, r3, #4
 1167 0052 E550     		str	r5, [r4, r3]
 1168              	.L100:
1254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       }
1255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       else
1256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       {
1257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         hcan->Instance->sTxMailBox[transmitmailbox].TIR = ((pHeader->ExtId << CAN_TI0R_EXID_Pos) |
1258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****                                                            pHeader->IDE |
1259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****                                                            pHeader->RTR);
1260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       }
1261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       /* Set up the DLC */
1263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       hcan->Instance->sTxMailBox[transmitmailbox].TDTR = (pHeader->DLC);
 1169              		.loc 1 1263 7 is_stmt 1 view .LVU390
 1170              		.loc 1 1263 11 is_stmt 0 view .LVU391
 1171 0054 0368     		ldr	r3, [r0]
 1172              		.loc 1 1263 66 view .LVU392
 1173 0056 0C69     		ldr	r4, [r1, #16]
 1174              		.loc 1 1263 56 view .LVU393
 1175 0058 0CF1180E 		add	lr, ip, #24
 1176 005c 03EB0E13 		add	r3, r3, lr, lsl #4
 1177 0060 5C60     		str	r4, [r3, #4]
1264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       /* Set up the Transmit Global Time mode */
1266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       if (pHeader->TransmitGlobalTime == ENABLE)
 1178              		.loc 1 1266 7 is_stmt 1 view .LVU394
 1179              		.loc 1 1266 18 is_stmt 0 view .LVU395
 1180 0062 0B7D     		ldrb	r3, [r1, #20]	@ zero_extendqisi2
 1181              		.loc 1 1266 10 view .LVU396
 1182 0064 012B     		cmp	r3, #1
 1183 0066 35D0     		beq	.L103
 1184              	.LVL77:
 1185              	.L101:
1267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       {
1268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         SET_BIT(hcan->Instance->sTxMailBox[transmitmailbox].TDTR, CAN_TDT0R_TGT);
1269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       }
ARM GAS  /tmp/ccj1aKCo.s 			page 48


1270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       /* Set up the data field */
1272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       WRITE_REG(hcan->Instance->sTxMailBox[transmitmailbox].TDHR,
 1186              		.loc 1 1272 7 is_stmt 1 view .LVU397
 1187 0068 D179     		ldrb	r1, [r2, #7]	@ zero_extendqisi2
 1188 006a 9379     		ldrb	r3, [r2, #6]	@ zero_extendqisi2
 1189 006c 1B04     		lsls	r3, r3, #16
 1190 006e 43EA0163 		orr	r3, r3, r1, lsl #24
 1191 0072 5179     		ldrb	r1, [r2, #5]	@ zero_extendqisi2
 1192 0074 43EA0123 		orr	r3, r3, r1, lsl #8
 1193 0078 1479     		ldrb	r4, [r2, #4]	@ zero_extendqisi2
 1194 007a 0168     		ldr	r1, [r0]
 1195 007c 2343     		orrs	r3, r3, r4
 1196 007e 01EB0C11 		add	r1, r1, ip, lsl #4
 1197 0082 C1F88C31 		str	r3, [r1, #396]
1273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****                 ((uint32_t)aData[7] << CAN_TDH0R_DATA7_Pos) |
1274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****                 ((uint32_t)aData[6] << CAN_TDH0R_DATA6_Pos) |
1275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****                 ((uint32_t)aData[5] << CAN_TDH0R_DATA5_Pos) |
1276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****                 ((uint32_t)aData[4] << CAN_TDH0R_DATA4_Pos));
1277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       WRITE_REG(hcan->Instance->sTxMailBox[transmitmailbox].TDLR,
 1198              		.loc 1 1277 7 view .LVU398
 1199 0086 D178     		ldrb	r1, [r2, #3]	@ zero_extendqisi2
 1200 0088 9378     		ldrb	r3, [r2, #2]	@ zero_extendqisi2
 1201 008a 1B04     		lsls	r3, r3, #16
 1202 008c 43EA0163 		orr	r3, r3, r1, lsl #24
 1203 0090 5178     		ldrb	r1, [r2, #1]	@ zero_extendqisi2
 1204 0092 43EA0123 		orr	r3, r3, r1, lsl #8
 1205 0096 1178     		ldrb	r1, [r2]	@ zero_extendqisi2
 1206 0098 0268     		ldr	r2, [r0]
 1207              	.LVL78:
 1208              		.loc 1 1277 7 is_stmt 0 view .LVU399
 1209 009a 0B43     		orrs	r3, r3, r1
 1210 009c 02EB0C12 		add	r2, r2, ip, lsl #4
 1211 00a0 C2F88831 		str	r3, [r2, #392]
1278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****                 ((uint32_t)aData[3] << CAN_TDL0R_DATA3_Pos) |
1279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****                 ((uint32_t)aData[2] << CAN_TDL0R_DATA2_Pos) |
1280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****                 ((uint32_t)aData[1] << CAN_TDL0R_DATA1_Pos) |
1281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****                 ((uint32_t)aData[0] << CAN_TDL0R_DATA0_Pos));
1282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       /* Request transmission */
1284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       SET_BIT(hcan->Instance->sTxMailBox[transmitmailbox].TIR, CAN_TI0R_TXRQ);
 1212              		.loc 1 1284 7 is_stmt 1 view .LVU400
 1213 00a4 0268     		ldr	r2, [r0]
 1214 00a6 0CF1180C 		add	ip, ip, #24
 1215              	.LVL79:
 1216              		.loc 1 1284 7 is_stmt 0 view .LVU401
 1217 00aa 4FEA0C1C 		lsl	ip, ip, #4
 1218 00ae 52F80C30 		ldr	r3, [r2, ip]
 1219 00b2 43F00103 		orr	r3, r3, #1
 1220 00b6 42F80C30 		str	r3, [r2, ip]
1285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       /* Return function status */
1287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       return HAL_OK;
 1221              		.loc 1 1287 7 is_stmt 1 view .LVU402
 1222              		.loc 1 1287 14 is_stmt 0 view .LVU403
 1223 00ba 0020     		movs	r0, #0
 1224              	.LVL80:
ARM GAS  /tmp/ccj1aKCo.s 			page 49


 1225              		.loc 1 1287 14 view .LVU404
 1226 00bc 1DE0     		b	.L98
 1227              	.LVL81:
 1228              	.L99:
1257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****                                                            pHeader->IDE |
 1229              		.loc 1 1257 9 is_stmt 1 view .LVU405
1257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****                                                            pHeader->IDE |
 1230              		.loc 1 1257 68 is_stmt 0 view .LVU406
 1231 00be 4C68     		ldr	r4, [r1, #4]
1257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****                                                            pHeader->IDE |
 1232              		.loc 1 1257 98 view .LVU407
 1233 00c0 43EAC403 		orr	r3, r3, r4, lsl #3
1259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       }
 1234              		.loc 1 1259 67 view .LVU408
 1235 00c4 CC68     		ldr	r4, [r1, #12]
1258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****                                                            pHeader->RTR);
 1236              		.loc 1 1258 73 view .LVU409
 1237 00c6 2343     		orrs	r3, r3, r4
1257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****                                                            pHeader->IDE |
 1238              		.loc 1 1257 57 view .LVU410
 1239 00c8 0CF11804 		add	r4, ip, #24
 1240 00cc 2401     		lsls	r4, r4, #4
 1241 00ce 0568     		ldr	r5, [r0]
 1242 00d0 2B51     		str	r3, [r5, r4]
 1243 00d2 BFE7     		b	.L100
 1244              	.L103:
1268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       }
 1245              		.loc 1 1268 9 is_stmt 1 view .LVU411
 1246 00d4 0368     		ldr	r3, [r0]
 1247 00d6 03EB0E13 		add	r3, r3, lr, lsl #4
 1248 00da 5968     		ldr	r1, [r3, #4]
 1249              	.LVL82:
1268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       }
 1250              		.loc 1 1268 9 is_stmt 0 view .LVU412
 1251 00dc 41F48071 		orr	r1, r1, #256
 1252 00e0 5960     		str	r1, [r3, #4]
 1253 00e2 C1E7     		b	.L101
 1254              	.LVL83:
 1255              	.L96:
1288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
1289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     else
1290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
1291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       /* Update error code */
1292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       hcan->ErrorCode |= HAL_CAN_ERROR_PARAM;
 1256              		.loc 1 1292 7 is_stmt 1 view .LVU413
 1257              		.loc 1 1292 11 is_stmt 0 view .LVU414
 1258 00e4 436A     		ldr	r3, [r0, #36]
 1259              	.LVL84:
 1260              		.loc 1 1292 23 view .LVU415
 1261 00e6 43F40013 		orr	r3, r3, #2097152
 1262 00ea 4362     		str	r3, [r0, #36]
1293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       return HAL_ERROR;
 1263              		.loc 1 1294 7 is_stmt 1 view .LVU416
 1264              		.loc 1 1294 14 is_stmt 0 view .LVU417
 1265 00ec 0120     		movs	r0, #1
 1266              	.LVL85:
ARM GAS  /tmp/ccj1aKCo.s 			page 50


 1267              		.loc 1 1294 14 view .LVU418
 1268 00ee 04E0     		b	.L98
 1269              	.LVL86:
 1270              	.L95:
1295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
1296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
1297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   else
1298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
1299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* Update error code */
1300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     hcan->ErrorCode |= HAL_CAN_ERROR_NOT_INITIALIZED;
 1271              		.loc 1 1300 5 is_stmt 1 view .LVU419
 1272              		.loc 1 1300 9 is_stmt 0 view .LVU420
 1273 00f0 436A     		ldr	r3, [r0, #36]
 1274              	.LVL87:
 1275              		.loc 1 1300 21 view .LVU421
 1276 00f2 43F48023 		orr	r3, r3, #262144
 1277 00f6 4362     		str	r3, [r0, #36]
1301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     return HAL_ERROR;
 1278              		.loc 1 1302 5 is_stmt 1 view .LVU422
 1279              		.loc 1 1302 12 is_stmt 0 view .LVU423
 1280 00f8 0120     		movs	r0, #1
 1281              	.LVL88:
 1282              	.L98:
1303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
1304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
 1283              		.loc 1 1304 1 view .LVU424
 1284 00fa 30BD     		pop	{r4, r5, pc}
 1285              		.cfi_endproc
 1286              	.LFE140:
 1288              		.section	.text.HAL_CAN_AbortTxRequest,"ax",%progbits
 1289              		.align	1
 1290              		.global	HAL_CAN_AbortTxRequest
 1291              		.syntax unified
 1292              		.thumb
 1293              		.thumb_func
 1295              	HAL_CAN_AbortTxRequest:
 1296              	.LVL89:
 1297              	.LFB141:
1305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
1307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @brief  Abort transmission requests
1308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @param  hcan pointer to an CAN_HandleTypeDef structure that contains
1309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *         the configuration information for the specified CAN.
1310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @param  TxMailboxes List of the Tx Mailboxes to abort.
1311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *         This parameter can be any combination of @arg CAN_Tx_Mailboxes.
1312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @retval HAL status
1313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   */
1314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_AbortTxRequest(CAN_HandleTypeDef *hcan, uint32_t TxMailboxes)
1315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
 1298              		.loc 1 1315 1 is_stmt 1 view -0
 1299              		.cfi_startproc
 1300              		@ args = 0, pretend = 0, frame = 0
 1301              		@ frame_needed = 0, uses_anonymous_args = 0
 1302              		@ link register save eliminated.
1316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   HAL_CAN_StateTypeDef state = hcan->State;
 1303              		.loc 1 1316 3 view .LVU426
ARM GAS  /tmp/ccj1aKCo.s 			page 51


 1304              		.loc 1 1316 24 is_stmt 0 view .LVU427
 1305 0000 90F82030 		ldrb	r3, [r0, #32]	@ zero_extendqisi2
 1306              	.LVL90:
1317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* Check function parameters */
1319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   assert_param(IS_CAN_TX_MAILBOX_LIST(TxMailboxes));
 1307              		.loc 1 1319 3 is_stmt 1 view .LVU428
1320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   if ((state == HAL_CAN_STATE_READY) ||
 1308              		.loc 1 1321 3 view .LVU429
 1309              		.loc 1 1321 38 is_stmt 0 view .LVU430
 1310 0004 013B     		subs	r3, r3, #1
 1311              	.LVL91:
 1312              		.loc 1 1321 38 view .LVU431
 1313 0006 DBB2     		uxtb	r3, r3
 1314              		.loc 1 1321 6 view .LVU432
 1315 0008 012B     		cmp	r3, #1
 1316 000a 05D9     		bls	.L110
1322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       (state == HAL_CAN_STATE_LISTENING))
1323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
1324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* Check Tx Mailbox 0 */
1325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     if ((TxMailboxes & CAN_TX_MAILBOX0) != 0U)
1326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
1327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       /* Add cancellation request for Tx Mailbox 0 */
1328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       SET_BIT(hcan->Instance->TSR, CAN_TSR_ABRQ0);
1329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
1330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* Check Tx Mailbox 1 */
1332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     if ((TxMailboxes & CAN_TX_MAILBOX1) != 0U)
1333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
1334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       /* Add cancellation request for Tx Mailbox 1 */
1335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       SET_BIT(hcan->Instance->TSR, CAN_TSR_ABRQ1);
1336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
1337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* Check Tx Mailbox 2 */
1339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     if ((TxMailboxes & CAN_TX_MAILBOX2) != 0U)
1340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
1341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       /* Add cancellation request for Tx Mailbox 2 */
1342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       SET_BIT(hcan->Instance->TSR, CAN_TSR_ABRQ2);
1343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
1344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* Return function status */
1346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     return HAL_OK;
1347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
1348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   else
1349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
1350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* Update error code */
1351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     hcan->ErrorCode |= HAL_CAN_ERROR_NOT_INITIALIZED;
 1317              		.loc 1 1351 5 is_stmt 1 view .LVU433
 1318              		.loc 1 1351 9 is_stmt 0 view .LVU434
 1319 000c 436A     		ldr	r3, [r0, #36]
 1320              		.loc 1 1351 21 view .LVU435
 1321 000e 43F48023 		orr	r3, r3, #262144
 1322 0012 4362     		str	r3, [r0, #36]
1352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     return HAL_ERROR;
 1323              		.loc 1 1353 5 is_stmt 1 view .LVU436
ARM GAS  /tmp/ccj1aKCo.s 			page 52


 1324              		.loc 1 1353 12 is_stmt 0 view .LVU437
 1325 0014 0120     		movs	r0, #1
 1326              	.LVL92:
1354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
1355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
 1327              		.loc 1 1355 1 view .LVU438
 1328 0016 7047     		bx	lr
 1329              	.LVL93:
 1330              	.L110:
1325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 1331              		.loc 1 1325 5 is_stmt 1 view .LVU439
1325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 1332              		.loc 1 1325 8 is_stmt 0 view .LVU440
 1333 0018 11F0010F 		tst	r1, #1
 1334 001c 04D0     		beq	.L106
1328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
 1335              		.loc 1 1328 7 is_stmt 1 view .LVU441
 1336 001e 0268     		ldr	r2, [r0]
 1337 0020 9368     		ldr	r3, [r2, #8]
 1338 0022 43F08003 		orr	r3, r3, #128
 1339 0026 9360     		str	r3, [r2, #8]
 1340              	.L106:
1332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 1341              		.loc 1 1332 5 view .LVU442
1332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 1342              		.loc 1 1332 8 is_stmt 0 view .LVU443
 1343 0028 11F0020F 		tst	r1, #2
 1344 002c 04D0     		beq	.L107
1335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
 1345              		.loc 1 1335 7 is_stmt 1 view .LVU444
 1346 002e 0268     		ldr	r2, [r0]
 1347 0030 9368     		ldr	r3, [r2, #8]
 1348 0032 43F40043 		orr	r3, r3, #32768
 1349 0036 9360     		str	r3, [r2, #8]
 1350              	.L107:
1339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 1351              		.loc 1 1339 5 view .LVU445
1339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 1352              		.loc 1 1339 8 is_stmt 0 view .LVU446
 1353 0038 11F0040F 		tst	r1, #4
 1354 003c 04D0     		beq	.L108
1342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
 1355              		.loc 1 1342 7 is_stmt 1 view .LVU447
 1356 003e 0268     		ldr	r2, [r0]
 1357 0040 9368     		ldr	r3, [r2, #8]
 1358 0042 43F40003 		orr	r3, r3, #8388608
 1359 0046 9360     		str	r3, [r2, #8]
 1360              	.L108:
1346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
 1361              		.loc 1 1346 5 view .LVU448
1346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
 1362              		.loc 1 1346 12 is_stmt 0 view .LVU449
 1363 0048 0020     		movs	r0, #0
 1364              	.LVL94:
1346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
 1365              		.loc 1 1346 12 view .LVU450
 1366 004a 7047     		bx	lr
ARM GAS  /tmp/ccj1aKCo.s 			page 53


 1367              		.cfi_endproc
 1368              	.LFE141:
 1370              		.section	.text.HAL_CAN_GetTxMailboxesFreeLevel,"ax",%progbits
 1371              		.align	1
 1372              		.global	HAL_CAN_GetTxMailboxesFreeLevel
 1373              		.syntax unified
 1374              		.thumb
 1375              		.thumb_func
 1377              	HAL_CAN_GetTxMailboxesFreeLevel:
 1378              	.LVL95:
 1379              	.LFB142:
1356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
1358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @brief  Return Tx Mailboxes free level: number of free Tx Mailboxes.
1359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @param  hcan pointer to a CAN_HandleTypeDef structure that contains
1360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *         the configuration information for the specified CAN.
1361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @retval Number of free Tx Mailboxes.
1362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   */
1363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t HAL_CAN_GetTxMailboxesFreeLevel(CAN_HandleTypeDef *hcan)
1364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
 1380              		.loc 1 1364 1 is_stmt 1 view -0
 1381              		.cfi_startproc
 1382              		@ args = 0, pretend = 0, frame = 0
 1383              		@ frame_needed = 0, uses_anonymous_args = 0
 1384              		@ link register save eliminated.
1365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   uint32_t freelevel = 0U;
 1385              		.loc 1 1365 3 view .LVU452
1366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   HAL_CAN_StateTypeDef state = hcan->State;
 1386              		.loc 1 1366 3 view .LVU453
 1387              		.loc 1 1366 24 is_stmt 0 view .LVU454
 1388 0000 90F82030 		ldrb	r3, [r0, #32]	@ zero_extendqisi2
 1389              	.LVL96:
1367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   if ((state == HAL_CAN_STATE_READY) ||
 1390              		.loc 1 1368 3 is_stmt 1 view .LVU455
 1391              		.loc 1 1368 38 is_stmt 0 view .LVU456
 1392 0004 013B     		subs	r3, r3, #1
 1393              	.LVL97:
 1394              		.loc 1 1368 38 view .LVU457
 1395 0006 DBB2     		uxtb	r3, r3
 1396              		.loc 1 1368 6 view .LVU458
 1397 0008 012B     		cmp	r3, #1
 1398 000a 01D9     		bls	.L117
1365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   HAL_CAN_StateTypeDef state = hcan->State;
 1399              		.loc 1 1365 12 view .LVU459
 1400 000c 0020     		movs	r0, #0
 1401              	.LVL98:
1369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       (state == HAL_CAN_STATE_LISTENING))
1370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
1371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* Check Tx Mailbox 0 status */
1372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     if ((hcan->Instance->TSR & CAN_TSR_TME0) != 0U)
1373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
1374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       freelevel++;
1375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
1376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* Check Tx Mailbox 1 status */
1378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     if ((hcan->Instance->TSR & CAN_TSR_TME1) != 0U)
ARM GAS  /tmp/ccj1aKCo.s 			page 54


1379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
1380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       freelevel++;
1381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
1382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* Check Tx Mailbox 2 status */
1384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     if ((hcan->Instance->TSR & CAN_TSR_TME2) != 0U)
1385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
1386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       freelevel++;
1387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
1388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
1389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* Return Tx Mailboxes free level */
1391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   return freelevel;
 1402              		.loc 1 1391 3 is_stmt 1 view .LVU460
 1403              	.L111:
1392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
 1404              		.loc 1 1392 1 is_stmt 0 view .LVU461
 1405 000e 7047     		bx	lr
 1406              	.LVL99:
 1407              	.L117:
1372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 1408              		.loc 1 1372 5 is_stmt 1 view .LVU462
1372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 1409              		.loc 1 1372 14 is_stmt 0 view .LVU463
 1410 0010 0368     		ldr	r3, [r0]
1372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 1411              		.loc 1 1372 24 view .LVU464
 1412 0012 9868     		ldr	r0, [r3, #8]
 1413              	.LVL100:
1372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 1414              		.loc 1 1372 8 view .LVU465
 1415 0014 10F08060 		ands	r0, r0, #67108864
 1416 0018 00D0     		beq	.L113
1374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
 1417              		.loc 1 1374 16 view .LVU466
 1418 001a 0120     		movs	r0, #1
 1419              	.L113:
 1420              	.LVL101:
1378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 1421              		.loc 1 1378 5 is_stmt 1 view .LVU467
1378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 1422              		.loc 1 1378 24 is_stmt 0 view .LVU468
 1423 001c 9A68     		ldr	r2, [r3, #8]
1378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 1424              		.loc 1 1378 8 view .LVU469
 1425 001e 12F0006F 		tst	r2, #134217728
 1426 0022 00D0     		beq	.L114
1380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
 1427              		.loc 1 1380 7 is_stmt 1 view .LVU470
1380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
 1428              		.loc 1 1380 16 is_stmt 0 view .LVU471
 1429 0024 0130     		adds	r0, r0, #1
 1430              	.LVL102:
 1431              	.L114:
1384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 1432              		.loc 1 1384 5 is_stmt 1 view .LVU472
1384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
ARM GAS  /tmp/ccj1aKCo.s 			page 55


 1433              		.loc 1 1384 24 is_stmt 0 view .LVU473
 1434 0026 9B68     		ldr	r3, [r3, #8]
1384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 1435              		.loc 1 1384 8 view .LVU474
 1436 0028 13F0805F 		tst	r3, #268435456
 1437 002c EFD0     		beq	.L111
1386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
 1438              		.loc 1 1386 7 is_stmt 1 view .LVU475
1386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
 1439              		.loc 1 1386 16 is_stmt 0 view .LVU476
 1440 002e 0130     		adds	r0, r0, #1
 1441              	.LVL103:
1386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
 1442              		.loc 1 1386 16 view .LVU477
 1443 0030 7047     		bx	lr
 1444              		.cfi_endproc
 1445              	.LFE142:
 1447              		.section	.text.HAL_CAN_IsTxMessagePending,"ax",%progbits
 1448              		.align	1
 1449              		.global	HAL_CAN_IsTxMessagePending
 1450              		.syntax unified
 1451              		.thumb
 1452              		.thumb_func
 1454              	HAL_CAN_IsTxMessagePending:
 1455              	.LVL104:
 1456              	.LFB143:
1393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
1395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @brief  Check if a transmission request is pending on the selected Tx
1396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *         Mailboxes.
1397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @param  hcan pointer to an CAN_HandleTypeDef structure that contains
1398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *         the configuration information for the specified CAN.
1399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @param  TxMailboxes List of Tx Mailboxes to check.
1400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *         This parameter can be any combination of @arg CAN_Tx_Mailboxes.
1401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @retval Status
1402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *          - 0 : No pending transmission request on any selected Tx Mailboxes.
1403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *          - 1 : Pending transmission request on at least one of the selected
1404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *                Tx Mailbox.
1405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   */
1406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t HAL_CAN_IsTxMessagePending(CAN_HandleTypeDef *hcan, uint32_t TxMailboxes)
1407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
 1457              		.loc 1 1407 1 is_stmt 1 view -0
 1458              		.cfi_startproc
 1459              		@ args = 0, pretend = 0, frame = 0
 1460              		@ frame_needed = 0, uses_anonymous_args = 0
 1461              		@ link register save eliminated.
1408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   uint32_t status = 0U;
 1462              		.loc 1 1408 3 view .LVU479
1409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   HAL_CAN_StateTypeDef state = hcan->State;
 1463              		.loc 1 1409 3 view .LVU480
 1464              		.loc 1 1409 24 is_stmt 0 view .LVU481
 1465 0000 90F82030 		ldrb	r3, [r0, #32]	@ zero_extendqisi2
 1466              	.LVL105:
1410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* Check function parameters */
1412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   assert_param(IS_CAN_TX_MAILBOX_LIST(TxMailboxes));
 1467              		.loc 1 1412 3 is_stmt 1 view .LVU482
ARM GAS  /tmp/ccj1aKCo.s 			page 56


1413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   if ((state == HAL_CAN_STATE_READY) ||
 1468              		.loc 1 1414 3 view .LVU483
 1469              		.loc 1 1414 38 is_stmt 0 view .LVU484
 1470 0004 013B     		subs	r3, r3, #1
 1471              	.LVL106:
 1472              		.loc 1 1414 38 view .LVU485
 1473 0006 DBB2     		uxtb	r3, r3
 1474              		.loc 1 1414 6 view .LVU486
 1475 0008 012B     		cmp	r3, #1
 1476 000a 01D9     		bls	.L122
1408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   HAL_CAN_StateTypeDef state = hcan->State;
 1477              		.loc 1 1408 12 view .LVU487
 1478 000c 0020     		movs	r0, #0
 1479              	.LVL107:
1408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   HAL_CAN_StateTypeDef state = hcan->State;
 1480              		.loc 1 1408 12 view .LVU488
 1481 000e 7047     		bx	lr
 1482              	.LVL108:
 1483              	.L122:
1415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       (state == HAL_CAN_STATE_LISTENING))
1416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
1417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* Check pending transmission request on the selected Tx Mailboxes */
1418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     if ((hcan->Instance->TSR & (TxMailboxes << CAN_TSR_TME0_Pos)) != (TxMailboxes << CAN_TSR_TME0_P
 1484              		.loc 1 1418 5 is_stmt 1 view .LVU489
 1485              		.loc 1 1418 14 is_stmt 0 view .LVU490
 1486 0010 0368     		ldr	r3, [r0]
 1487              		.loc 1 1418 24 view .LVU491
 1488 0012 9B68     		ldr	r3, [r3, #8]
 1489              		.loc 1 1418 30 view .LVU492
 1490 0014 03EA8163 		and	r3, r3, r1, lsl #26
 1491              		.loc 1 1418 8 view .LVU493
 1492 0018 B3EB816F 		cmp	r3, r1, lsl #26
 1493 001c 01D0     		beq	.L123
1419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
1420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       status = 1U;
 1494              		.loc 1 1420 14 view .LVU494
 1495 001e 0120     		movs	r0, #1
 1496              	.LVL109:
1421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
1422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
1423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* Return status */
1425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   return status;
 1497              		.loc 1 1425 3 is_stmt 1 view .LVU495
1426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
 1498              		.loc 1 1426 1 is_stmt 0 view .LVU496
 1499 0020 7047     		bx	lr
 1500              	.LVL110:
 1501              	.L123:
1408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   HAL_CAN_StateTypeDef state = hcan->State;
 1502              		.loc 1 1408 12 view .LVU497
 1503 0022 0020     		movs	r0, #0
 1504              	.LVL111:
1408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   HAL_CAN_StateTypeDef state = hcan->State;
 1505              		.loc 1 1408 12 view .LVU498
 1506 0024 7047     		bx	lr
ARM GAS  /tmp/ccj1aKCo.s 			page 57


 1507              		.cfi_endproc
 1508              	.LFE143:
 1510              		.section	.text.HAL_CAN_GetTxTimestamp,"ax",%progbits
 1511              		.align	1
 1512              		.global	HAL_CAN_GetTxTimestamp
 1513              		.syntax unified
 1514              		.thumb
 1515              		.thumb_func
 1517              	HAL_CAN_GetTxTimestamp:
 1518              	.LVL112:
 1519              	.LFB144:
1427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
1429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @brief  Return timestamp of Tx message sent, if time triggered communication
1430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****             mode is enabled.
1431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @param  hcan pointer to a CAN_HandleTypeDef structure that contains
1432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *         the configuration information for the specified CAN.
1433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @param  TxMailbox Tx Mailbox where the timestamp of message sent will be
1434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *         read.
1435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *         This parameter can be one value of @arg CAN_Tx_Mailboxes.
1436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @retval Timestamp of message sent from Tx Mailbox.
1437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   */
1438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t HAL_CAN_GetTxTimestamp(CAN_HandleTypeDef *hcan, uint32_t TxMailbox)
1439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
 1520              		.loc 1 1439 1 is_stmt 1 view -0
 1521              		.cfi_startproc
 1522              		@ args = 0, pretend = 0, frame = 0
 1523              		@ frame_needed = 0, uses_anonymous_args = 0
 1524              		@ link register save eliminated.
1440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   uint32_t timestamp = 0U;
 1525              		.loc 1 1440 3 view .LVU500
1441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   uint32_t transmitmailbox;
 1526              		.loc 1 1441 3 view .LVU501
1442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   HAL_CAN_StateTypeDef state = hcan->State;
 1527              		.loc 1 1442 3 view .LVU502
 1528              		.loc 1 1442 24 is_stmt 0 view .LVU503
 1529 0000 90F82030 		ldrb	r3, [r0, #32]	@ zero_extendqisi2
 1530              	.LVL113:
1443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* Check function parameters */
1445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   assert_param(IS_CAN_TX_MAILBOX(TxMailbox));
 1531              		.loc 1 1445 3 is_stmt 1 view .LVU504
1446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   if ((state == HAL_CAN_STATE_READY) ||
 1532              		.loc 1 1447 3 view .LVU505
 1533              		.loc 1 1447 38 is_stmt 0 view .LVU506
 1534 0004 013B     		subs	r3, r3, #1
 1535              	.LVL114:
 1536              		.loc 1 1447 38 view .LVU507
 1537 0006 DBB2     		uxtb	r3, r3
 1538              		.loc 1 1447 6 view .LVU508
 1539 0008 012B     		cmp	r3, #1
 1540 000a 01D9     		bls	.L127
1440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   uint32_t transmitmailbox;
 1541              		.loc 1 1440 12 view .LVU509
 1542 000c 0020     		movs	r0, #0
 1543              	.LVL115:
ARM GAS  /tmp/ccj1aKCo.s 			page 58


1448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       (state == HAL_CAN_STATE_LISTENING))
1449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
1450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* Select the Tx mailbox */
1451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     transmitmailbox = POSITION_VAL(TxMailbox);
1452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* Get timestamp */
1454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     timestamp = (hcan->Instance->sTxMailBox[transmitmailbox].TDTR & CAN_TDT0R_TIME) >> CAN_TDT0R_TI
1455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
1456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* Return the timestamp */
1458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   return timestamp;
 1544              		.loc 1 1458 3 is_stmt 1 view .LVU510
1459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
 1545              		.loc 1 1459 1 is_stmt 0 view .LVU511
 1546 000e 7047     		bx	lr
 1547              	.LVL116:
 1548              	.L127:
1451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 1549              		.loc 1 1451 5 is_stmt 1 view .LVU512
 1550              	.LBB4:
 1551              	.LBI4:
 1552              		.file 2 "Drivers/CMSIS/Include/cmsis_gcc.h"
   1:Drivers/CMSIS/Include/cmsis_gcc.h **** /**************************************************************************//**
   2:Drivers/CMSIS/Include/cmsis_gcc.h ****  * @file     cmsis_gcc.h
   3:Drivers/CMSIS/Include/cmsis_gcc.h ****  * @brief    CMSIS compiler GCC header file
   4:Drivers/CMSIS/Include/cmsis_gcc.h ****  * @version  V5.0.4
   5:Drivers/CMSIS/Include/cmsis_gcc.h ****  * @date     09. April 2018
   6:Drivers/CMSIS/Include/cmsis_gcc.h ****  ******************************************************************************/
   7:Drivers/CMSIS/Include/cmsis_gcc.h **** /*
   8:Drivers/CMSIS/Include/cmsis_gcc.h ****  * Copyright (c) 2009-2018 Arm Limited. All rights reserved.
   9:Drivers/CMSIS/Include/cmsis_gcc.h ****  *
  10:Drivers/CMSIS/Include/cmsis_gcc.h ****  * SPDX-License-Identifier: Apache-2.0
  11:Drivers/CMSIS/Include/cmsis_gcc.h ****  *
  12:Drivers/CMSIS/Include/cmsis_gcc.h ****  * Licensed under the Apache License, Version 2.0 (the License); you may
  13:Drivers/CMSIS/Include/cmsis_gcc.h ****  * not use this file except in compliance with the License.
  14:Drivers/CMSIS/Include/cmsis_gcc.h ****  * You may obtain a copy of the License at
  15:Drivers/CMSIS/Include/cmsis_gcc.h ****  *
  16:Drivers/CMSIS/Include/cmsis_gcc.h ****  * www.apache.org/licenses/LICENSE-2.0
  17:Drivers/CMSIS/Include/cmsis_gcc.h ****  *
  18:Drivers/CMSIS/Include/cmsis_gcc.h ****  * Unless required by applicable law or agreed to in writing, software
  19:Drivers/CMSIS/Include/cmsis_gcc.h ****  * distributed under the License is distributed on an AS IS BASIS, WITHOUT
  20:Drivers/CMSIS/Include/cmsis_gcc.h ****  * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  21:Drivers/CMSIS/Include/cmsis_gcc.h ****  * See the License for the specific language governing permissions and
  22:Drivers/CMSIS/Include/cmsis_gcc.h ****  * limitations under the License.
  23:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
  24:Drivers/CMSIS/Include/cmsis_gcc.h **** 
  25:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __CMSIS_GCC_H
  26:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_H
  27:Drivers/CMSIS/Include/cmsis_gcc.h **** 
  28:Drivers/CMSIS/Include/cmsis_gcc.h **** /* ignore some GCC warnings */
  29:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
  30:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wsign-conversion"
  31:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wconversion"
  32:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wunused-parameter"
  33:Drivers/CMSIS/Include/cmsis_gcc.h **** 
  34:Drivers/CMSIS/Include/cmsis_gcc.h **** /* Fallback for __has_builtin */
  35:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __has_builtin
ARM GAS  /tmp/ccj1aKCo.s 			page 59


  36:Drivers/CMSIS/Include/cmsis_gcc.h ****   #define __has_builtin(x) (0)
  37:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  38:Drivers/CMSIS/Include/cmsis_gcc.h **** 
  39:Drivers/CMSIS/Include/cmsis_gcc.h **** /* CMSIS compiler specific defines */
  40:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef   __ASM
  41:Drivers/CMSIS/Include/cmsis_gcc.h ****   #define __ASM                                  __asm
  42:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  43:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef   __INLINE
  44:Drivers/CMSIS/Include/cmsis_gcc.h ****   #define __INLINE                               inline
  45:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  46:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef   __STATIC_INLINE
  47:Drivers/CMSIS/Include/cmsis_gcc.h ****   #define __STATIC_INLINE                        static inline
  48:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  49:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef   __STATIC_FORCEINLINE                 
  50:Drivers/CMSIS/Include/cmsis_gcc.h ****   #define __STATIC_FORCEINLINE                   __attribute__((always_inline)) static inline
  51:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif                                           
  52:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef   __NO_RETURN
  53:Drivers/CMSIS/Include/cmsis_gcc.h ****   #define __NO_RETURN                            __attribute__((__noreturn__))
  54:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  55:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef   __USED
  56:Drivers/CMSIS/Include/cmsis_gcc.h ****   #define __USED                                 __attribute__((used))
  57:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  58:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef   __WEAK
  59:Drivers/CMSIS/Include/cmsis_gcc.h ****   #define __WEAK                                 __attribute__((weak))
  60:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  61:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef   __PACKED
  62:Drivers/CMSIS/Include/cmsis_gcc.h ****   #define __PACKED                               __attribute__((packed, aligned(1)))
  63:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  64:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef   __PACKED_STRUCT
  65:Drivers/CMSIS/Include/cmsis_gcc.h ****   #define __PACKED_STRUCT                        struct __attribute__((packed, aligned(1)))
  66:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  67:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef   __PACKED_UNION
  68:Drivers/CMSIS/Include/cmsis_gcc.h ****   #define __PACKED_UNION                         union __attribute__((packed, aligned(1)))
  69:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  70:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef   __UNALIGNED_UINT32        /* deprecated */
  71:Drivers/CMSIS/Include/cmsis_gcc.h ****   #pragma GCC diagnostic push
  72:Drivers/CMSIS/Include/cmsis_gcc.h ****   #pragma GCC diagnostic ignored "-Wpacked"
  73:Drivers/CMSIS/Include/cmsis_gcc.h ****   #pragma GCC diagnostic ignored "-Wattributes"
  74:Drivers/CMSIS/Include/cmsis_gcc.h ****   struct __attribute__((packed)) T_UINT32 { uint32_t v; };
  75:Drivers/CMSIS/Include/cmsis_gcc.h ****   #pragma GCC diagnostic pop
  76:Drivers/CMSIS/Include/cmsis_gcc.h ****   #define __UNALIGNED_UINT32(x)                  (((struct T_UINT32 *)(x))->v)
  77:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  78:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef   __UNALIGNED_UINT16_WRITE
  79:Drivers/CMSIS/Include/cmsis_gcc.h ****   #pragma GCC diagnostic push
  80:Drivers/CMSIS/Include/cmsis_gcc.h ****   #pragma GCC diagnostic ignored "-Wpacked"
  81:Drivers/CMSIS/Include/cmsis_gcc.h ****   #pragma GCC diagnostic ignored "-Wattributes"
  82:Drivers/CMSIS/Include/cmsis_gcc.h ****   __PACKED_STRUCT T_UINT16_WRITE { uint16_t v; };
  83:Drivers/CMSIS/Include/cmsis_gcc.h ****   #pragma GCC diagnostic pop
  84:Drivers/CMSIS/Include/cmsis_gcc.h ****   #define __UNALIGNED_UINT16_WRITE(addr, val)    (void)((((struct T_UINT16_WRITE *)(void *)(addr))-
  85:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  86:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef   __UNALIGNED_UINT16_READ
  87:Drivers/CMSIS/Include/cmsis_gcc.h ****   #pragma GCC diagnostic push
  88:Drivers/CMSIS/Include/cmsis_gcc.h ****   #pragma GCC diagnostic ignored "-Wpacked"
  89:Drivers/CMSIS/Include/cmsis_gcc.h ****   #pragma GCC diagnostic ignored "-Wattributes"
  90:Drivers/CMSIS/Include/cmsis_gcc.h ****   __PACKED_STRUCT T_UINT16_READ { uint16_t v; };
  91:Drivers/CMSIS/Include/cmsis_gcc.h ****   #pragma GCC diagnostic pop
  92:Drivers/CMSIS/Include/cmsis_gcc.h ****   #define __UNALIGNED_UINT16_READ(addr)          (((const struct T_UINT16_READ *)(const void *)(add
ARM GAS  /tmp/ccj1aKCo.s 			page 60


  93:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
  94:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef   __UNALIGNED_UINT32_WRITE
  95:Drivers/CMSIS/Include/cmsis_gcc.h ****   #pragma GCC diagnostic push
  96:Drivers/CMSIS/Include/cmsis_gcc.h ****   #pragma GCC diagnostic ignored "-Wpacked"
  97:Drivers/CMSIS/Include/cmsis_gcc.h ****   #pragma GCC diagnostic ignored "-Wattributes"
  98:Drivers/CMSIS/Include/cmsis_gcc.h ****   __PACKED_STRUCT T_UINT32_WRITE { uint32_t v; };
  99:Drivers/CMSIS/Include/cmsis_gcc.h ****   #pragma GCC diagnostic pop
 100:Drivers/CMSIS/Include/cmsis_gcc.h ****   #define __UNALIGNED_UINT32_WRITE(addr, val)    (void)((((struct T_UINT32_WRITE *)(void *)(addr))-
 101:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
 102:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef   __UNALIGNED_UINT32_READ
 103:Drivers/CMSIS/Include/cmsis_gcc.h ****   #pragma GCC diagnostic push
 104:Drivers/CMSIS/Include/cmsis_gcc.h ****   #pragma GCC diagnostic ignored "-Wpacked"
 105:Drivers/CMSIS/Include/cmsis_gcc.h ****   #pragma GCC diagnostic ignored "-Wattributes"
 106:Drivers/CMSIS/Include/cmsis_gcc.h ****   __PACKED_STRUCT T_UINT32_READ { uint32_t v; };
 107:Drivers/CMSIS/Include/cmsis_gcc.h ****   #pragma GCC diagnostic pop
 108:Drivers/CMSIS/Include/cmsis_gcc.h ****   #define __UNALIGNED_UINT32_READ(addr)          (((const struct T_UINT32_READ *)(const void *)(add
 109:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
 110:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef   __ALIGNED
 111:Drivers/CMSIS/Include/cmsis_gcc.h ****   #define __ALIGNED(x)                           __attribute__((aligned(x)))
 112:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
 113:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef   __RESTRICT
 114:Drivers/CMSIS/Include/cmsis_gcc.h ****   #define __RESTRICT                             __restrict
 115:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
 116:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 117:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 118:Drivers/CMSIS/Include/cmsis_gcc.h **** /* ###########################  Core Function Access  ########################### */
 119:Drivers/CMSIS/Include/cmsis_gcc.h **** /** \ingroup  CMSIS_Core_FunctionInterface
 120:Drivers/CMSIS/Include/cmsis_gcc.h ****     \defgroup CMSIS_Core_RegAccFunctions CMSIS Core Register Access Functions
 121:Drivers/CMSIS/Include/cmsis_gcc.h ****   @{
 122:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 123:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 124:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 125:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Enable IRQ Interrupts
 126:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Enables IRQ interrupts by clearing the I-bit in the CPSR.
 127:Drivers/CMSIS/Include/cmsis_gcc.h ****            Can only be executed in Privileged modes.
 128:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 129:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __enable_irq(void)
 130:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 131:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("cpsie i" : : : "memory");
 132:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 133:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 134:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 135:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 136:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Disable IRQ Interrupts
 137:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Disables IRQ interrupts by setting the I-bit in the CPSR.
 138:Drivers/CMSIS/Include/cmsis_gcc.h ****            Can only be executed in Privileged modes.
 139:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 140:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __disable_irq(void)
 141:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 142:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("cpsid i" : : : "memory");
 143:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 144:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 145:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 146:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 147:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Get Control Register
 148:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Returns the content of the Control Register.
 149:Drivers/CMSIS/Include/cmsis_gcc.h ****   \return               Control Register value
ARM GAS  /tmp/ccj1aKCo.s 			page 61


 150:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 151:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_CONTROL(void)
 152:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 153:Drivers/CMSIS/Include/cmsis_gcc.h ****   uint32_t result;
 154:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 155:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("MRS %0, control" : "=r" (result) );
 156:Drivers/CMSIS/Include/cmsis_gcc.h ****   return(result);
 157:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 158:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 159:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 160:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
 161:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 162:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Get Control Register (non-secure)
 163:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Returns the content of the non-secure Control Register when in secure mode.
 164:Drivers/CMSIS/Include/cmsis_gcc.h ****   \return               non-secure Control Register value
 165:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 166:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_CONTROL_NS(void)
 167:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 168:Drivers/CMSIS/Include/cmsis_gcc.h ****   uint32_t result;
 169:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 170:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("MRS %0, control_ns" : "=r" (result) );
 171:Drivers/CMSIS/Include/cmsis_gcc.h ****   return(result);
 172:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 173:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
 174:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 175:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 176:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 177:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Set Control Register
 178:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Writes the given value to the Control Register.
 179:Drivers/CMSIS/Include/cmsis_gcc.h ****   \param [in]    control  Control Register value to set
 180:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 181:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_CONTROL(uint32_t control)
 182:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 183:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("MSR control, %0" : : "r" (control) : "memory");
 184:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 185:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 186:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 187:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
 188:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 189:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Set Control Register (non-secure)
 190:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Writes the given value to the non-secure Control Register when in secure state.
 191:Drivers/CMSIS/Include/cmsis_gcc.h ****   \param [in]    control  Control Register value to set
 192:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 193:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_CONTROL_NS(uint32_t control)
 194:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 195:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("MSR control_ns, %0" : : "r" (control) : "memory");
 196:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 197:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
 198:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 199:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 200:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 201:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Get IPSR Register
 202:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Returns the content of the IPSR Register.
 203:Drivers/CMSIS/Include/cmsis_gcc.h ****   \return               IPSR Register value
 204:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 205:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_IPSR(void)
 206:Drivers/CMSIS/Include/cmsis_gcc.h **** {
ARM GAS  /tmp/ccj1aKCo.s 			page 62


 207:Drivers/CMSIS/Include/cmsis_gcc.h ****   uint32_t result;
 208:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 209:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("MRS %0, ipsr" : "=r" (result) );
 210:Drivers/CMSIS/Include/cmsis_gcc.h ****   return(result);
 211:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 212:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 213:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 214:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 215:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Get APSR Register
 216:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Returns the content of the APSR Register.
 217:Drivers/CMSIS/Include/cmsis_gcc.h ****   \return               APSR Register value
 218:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 219:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_APSR(void)
 220:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 221:Drivers/CMSIS/Include/cmsis_gcc.h ****   uint32_t result;
 222:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 223:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("MRS %0, apsr" : "=r" (result) );
 224:Drivers/CMSIS/Include/cmsis_gcc.h ****   return(result);
 225:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 226:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 227:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 228:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 229:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Get xPSR Register
 230:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Returns the content of the xPSR Register.
 231:Drivers/CMSIS/Include/cmsis_gcc.h ****   \return               xPSR Register value
 232:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 233:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_xPSR(void)
 234:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 235:Drivers/CMSIS/Include/cmsis_gcc.h ****   uint32_t result;
 236:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 237:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("MRS %0, xpsr" : "=r" (result) );
 238:Drivers/CMSIS/Include/cmsis_gcc.h ****   return(result);
 239:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 240:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 241:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 242:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 243:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Get Process Stack Pointer
 244:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Returns the current value of the Process Stack Pointer (PSP).
 245:Drivers/CMSIS/Include/cmsis_gcc.h ****   \return               PSP Register value
 246:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 247:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_PSP(void)
 248:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 249:Drivers/CMSIS/Include/cmsis_gcc.h ****   uint32_t result;
 250:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 251:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("MRS %0, psp"  : "=r" (result) );
 252:Drivers/CMSIS/Include/cmsis_gcc.h ****   return(result);
 253:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 254:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 255:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 256:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
 257:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 258:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Get Process Stack Pointer (non-secure)
 259:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Returns the current value of the non-secure Process Stack Pointer (PSP) when in secure s
 260:Drivers/CMSIS/Include/cmsis_gcc.h ****   \return               PSP Register value
 261:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 262:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_PSP_NS(void)
 263:Drivers/CMSIS/Include/cmsis_gcc.h **** {
ARM GAS  /tmp/ccj1aKCo.s 			page 63


 264:Drivers/CMSIS/Include/cmsis_gcc.h ****   uint32_t result;
 265:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 266:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("MRS %0, psp_ns"  : "=r" (result) );
 267:Drivers/CMSIS/Include/cmsis_gcc.h ****   return(result);
 268:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 269:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
 270:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 271:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 272:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 273:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Set Process Stack Pointer
 274:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Assigns the given value to the Process Stack Pointer (PSP).
 275:Drivers/CMSIS/Include/cmsis_gcc.h ****   \param [in]    topOfProcStack  Process Stack Pointer value to set
 276:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 277:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_PSP(uint32_t topOfProcStack)
 278:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 279:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("MSR psp, %0" : : "r" (topOfProcStack) : );
 280:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 281:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 282:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 283:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
 284:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 285:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Set Process Stack Pointer (non-secure)
 286:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Assigns the given value to the non-secure Process Stack Pointer (PSP) when in secure sta
 287:Drivers/CMSIS/Include/cmsis_gcc.h ****   \param [in]    topOfProcStack  Process Stack Pointer value to set
 288:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 289:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_PSP_NS(uint32_t topOfProcStack)
 290:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 291:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("MSR psp_ns, %0" : : "r" (topOfProcStack) : );
 292:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 293:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
 294:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 295:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 296:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 297:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Get Main Stack Pointer
 298:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Returns the current value of the Main Stack Pointer (MSP).
 299:Drivers/CMSIS/Include/cmsis_gcc.h ****   \return               MSP Register value
 300:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 301:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_MSP(void)
 302:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 303:Drivers/CMSIS/Include/cmsis_gcc.h ****   uint32_t result;
 304:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 305:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("MRS %0, msp" : "=r" (result) );
 306:Drivers/CMSIS/Include/cmsis_gcc.h ****   return(result);
 307:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 308:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 309:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 310:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
 311:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 312:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Get Main Stack Pointer (non-secure)
 313:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Returns the current value of the non-secure Main Stack Pointer (MSP) when in secure stat
 314:Drivers/CMSIS/Include/cmsis_gcc.h ****   \return               MSP Register value
 315:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 316:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_MSP_NS(void)
 317:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 318:Drivers/CMSIS/Include/cmsis_gcc.h ****   uint32_t result;
 319:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 320:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("MRS %0, msp_ns" : "=r" (result) );
ARM GAS  /tmp/ccj1aKCo.s 			page 64


 321:Drivers/CMSIS/Include/cmsis_gcc.h ****   return(result);
 322:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 323:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
 324:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 325:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 326:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 327:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Set Main Stack Pointer
 328:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Assigns the given value to the Main Stack Pointer (MSP).
 329:Drivers/CMSIS/Include/cmsis_gcc.h ****   \param [in]    topOfMainStack  Main Stack Pointer value to set
 330:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 331:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_MSP(uint32_t topOfMainStack)
 332:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 333:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("MSR msp, %0" : : "r" (topOfMainStack) : );
 334:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 335:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 336:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 337:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
 338:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 339:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Set Main Stack Pointer (non-secure)
 340:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Assigns the given value to the non-secure Main Stack Pointer (MSP) when in secure state.
 341:Drivers/CMSIS/Include/cmsis_gcc.h ****   \param [in]    topOfMainStack  Main Stack Pointer value to set
 342:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 343:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_MSP_NS(uint32_t topOfMainStack)
 344:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 345:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("MSR msp_ns, %0" : : "r" (topOfMainStack) : );
 346:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 347:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
 348:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 349:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 350:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
 351:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 352:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Get Stack Pointer (non-secure)
 353:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Returns the current value of the non-secure Stack Pointer (SP) when in secure state.
 354:Drivers/CMSIS/Include/cmsis_gcc.h ****   \return               SP Register value
 355:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 356:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_SP_NS(void)
 357:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 358:Drivers/CMSIS/Include/cmsis_gcc.h ****   uint32_t result;
 359:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 360:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("MRS %0, sp_ns" : "=r" (result) );
 361:Drivers/CMSIS/Include/cmsis_gcc.h ****   return(result);
 362:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 363:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 364:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 365:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 366:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Set Stack Pointer (non-secure)
 367:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Assigns the given value to the non-secure Stack Pointer (SP) when in secure state.
 368:Drivers/CMSIS/Include/cmsis_gcc.h ****   \param [in]    topOfStack  Stack Pointer value to set
 369:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 370:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_SP_NS(uint32_t topOfStack)
 371:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 372:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("MSR sp_ns, %0" : : "r" (topOfStack) : );
 373:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 374:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
 375:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 376:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 377:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
ARM GAS  /tmp/ccj1aKCo.s 			page 65


 378:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Get Priority Mask
 379:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Returns the current state of the priority mask bit from the Priority Mask Register.
 380:Drivers/CMSIS/Include/cmsis_gcc.h ****   \return               Priority Mask value
 381:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 382:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_PRIMASK(void)
 383:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 384:Drivers/CMSIS/Include/cmsis_gcc.h ****   uint32_t result;
 385:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 386:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("MRS %0, primask" : "=r" (result) :: "memory");
 387:Drivers/CMSIS/Include/cmsis_gcc.h ****   return(result);
 388:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 389:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 390:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 391:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
 392:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 393:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Get Priority Mask (non-secure)
 394:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Returns the current state of the non-secure priority mask bit from the Priority Mask Reg
 395:Drivers/CMSIS/Include/cmsis_gcc.h ****   \return               Priority Mask value
 396:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 397:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_PRIMASK_NS(void)
 398:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 399:Drivers/CMSIS/Include/cmsis_gcc.h ****   uint32_t result;
 400:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 401:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("MRS %0, primask_ns" : "=r" (result) :: "memory");
 402:Drivers/CMSIS/Include/cmsis_gcc.h ****   return(result);
 403:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 404:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
 405:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 406:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 407:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 408:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Set Priority Mask
 409:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Assigns the given value to the Priority Mask Register.
 410:Drivers/CMSIS/Include/cmsis_gcc.h ****   \param [in]    priMask  Priority Mask
 411:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 412:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_PRIMASK(uint32_t priMask)
 413:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 414:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("MSR primask, %0" : : "r" (priMask) : "memory");
 415:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 416:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 417:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 418:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
 419:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 420:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Set Priority Mask (non-secure)
 421:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Assigns the given value to the non-secure Priority Mask Register when in secure state.
 422:Drivers/CMSIS/Include/cmsis_gcc.h ****   \param [in]    priMask  Priority Mask
 423:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 424:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_PRIMASK_NS(uint32_t priMask)
 425:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 426:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("MSR primask_ns, %0" : : "r" (priMask) : "memory");
 427:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 428:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
 429:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 430:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 431:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__ARM_ARCH_7M__      ) && (__ARM_ARCH_7M__      == 1)) || \
 432:Drivers/CMSIS/Include/cmsis_gcc.h ****      (defined (__ARM_ARCH_7EM__     ) && (__ARM_ARCH_7EM__     == 1)) || \
 433:Drivers/CMSIS/Include/cmsis_gcc.h ****      (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1))    )
 434:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
ARM GAS  /tmp/ccj1aKCo.s 			page 66


 435:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Enable FIQ
 436:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Enables FIQ interrupts by clearing the F-bit in the CPSR.
 437:Drivers/CMSIS/Include/cmsis_gcc.h ****            Can only be executed in Privileged modes.
 438:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 439:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __enable_fault_irq(void)
 440:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 441:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("cpsie f" : : : "memory");
 442:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 443:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 444:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 445:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 446:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Disable FIQ
 447:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Disables FIQ interrupts by setting the F-bit in the CPSR.
 448:Drivers/CMSIS/Include/cmsis_gcc.h ****            Can only be executed in Privileged modes.
 449:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 450:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __disable_fault_irq(void)
 451:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 452:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("cpsid f" : : : "memory");
 453:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 454:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 455:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 456:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 457:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Get Base Priority
 458:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Returns the current value of the Base Priority register.
 459:Drivers/CMSIS/Include/cmsis_gcc.h ****   \return               Base Priority register value
 460:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 461:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_BASEPRI(void)
 462:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 463:Drivers/CMSIS/Include/cmsis_gcc.h ****   uint32_t result;
 464:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 465:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("MRS %0, basepri" : "=r" (result) );
 466:Drivers/CMSIS/Include/cmsis_gcc.h ****   return(result);
 467:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 468:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 469:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 470:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
 471:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 472:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Get Base Priority (non-secure)
 473:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Returns the current value of the non-secure Base Priority register when in secure state.
 474:Drivers/CMSIS/Include/cmsis_gcc.h ****   \return               Base Priority register value
 475:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 476:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_BASEPRI_NS(void)
 477:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 478:Drivers/CMSIS/Include/cmsis_gcc.h ****   uint32_t result;
 479:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 480:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("MRS %0, basepri_ns" : "=r" (result) );
 481:Drivers/CMSIS/Include/cmsis_gcc.h ****   return(result);
 482:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 483:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
 484:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 485:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 486:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 487:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Set Base Priority
 488:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Assigns the given value to the Base Priority register.
 489:Drivers/CMSIS/Include/cmsis_gcc.h ****   \param [in]    basePri  Base Priority value to set
 490:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 491:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_BASEPRI(uint32_t basePri)
ARM GAS  /tmp/ccj1aKCo.s 			page 67


 492:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 493:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("MSR basepri, %0" : : "r" (basePri) : "memory");
 494:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 495:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 496:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 497:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
 498:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 499:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Set Base Priority (non-secure)
 500:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Assigns the given value to the non-secure Base Priority register when in secure state.
 501:Drivers/CMSIS/Include/cmsis_gcc.h ****   \param [in]    basePri  Base Priority value to set
 502:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 503:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_BASEPRI_NS(uint32_t basePri)
 504:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 505:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("MSR basepri_ns, %0" : : "r" (basePri) : "memory");
 506:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 507:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
 508:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 509:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 510:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 511:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Set Base Priority with condition
 512:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Assigns the given value to the Base Priority register only if BASEPRI masking is disable
 513:Drivers/CMSIS/Include/cmsis_gcc.h ****            or the new value increases the BASEPRI priority level.
 514:Drivers/CMSIS/Include/cmsis_gcc.h ****   \param [in]    basePri  Base Priority value to set
 515:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 516:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_BASEPRI_MAX(uint32_t basePri)
 517:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 518:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("MSR basepri_max, %0" : : "r" (basePri) : "memory");
 519:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 520:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 521:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 522:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 523:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Get Fault Mask
 524:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Returns the current value of the Fault Mask register.
 525:Drivers/CMSIS/Include/cmsis_gcc.h ****   \return               Fault Mask register value
 526:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 527:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_FAULTMASK(void)
 528:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 529:Drivers/CMSIS/Include/cmsis_gcc.h ****   uint32_t result;
 530:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 531:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("MRS %0, faultmask" : "=r" (result) );
 532:Drivers/CMSIS/Include/cmsis_gcc.h ****   return(result);
 533:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 534:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 535:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 536:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
 537:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 538:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Get Fault Mask (non-secure)
 539:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Returns the current value of the non-secure Fault Mask register when in secure state.
 540:Drivers/CMSIS/Include/cmsis_gcc.h ****   \return               Fault Mask register value
 541:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 542:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_FAULTMASK_NS(void)
 543:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 544:Drivers/CMSIS/Include/cmsis_gcc.h ****   uint32_t result;
 545:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 546:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("MRS %0, faultmask_ns" : "=r" (result) );
 547:Drivers/CMSIS/Include/cmsis_gcc.h ****   return(result);
 548:Drivers/CMSIS/Include/cmsis_gcc.h **** }
ARM GAS  /tmp/ccj1aKCo.s 			page 68


 549:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
 550:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 551:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 552:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 553:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Set Fault Mask
 554:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Assigns the given value to the Fault Mask register.
 555:Drivers/CMSIS/Include/cmsis_gcc.h ****   \param [in]    faultMask  Fault Mask value to set
 556:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 557:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_FAULTMASK(uint32_t faultMask)
 558:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 559:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("MSR faultmask, %0" : : "r" (faultMask) : "memory");
 560:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 561:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 562:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 563:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
 564:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 565:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Set Fault Mask (non-secure)
 566:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Assigns the given value to the non-secure Fault Mask register when in secure state.
 567:Drivers/CMSIS/Include/cmsis_gcc.h ****   \param [in]    faultMask  Fault Mask value to set
 568:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 569:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_FAULTMASK_NS(uint32_t faultMask)
 570:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 571:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("MSR faultmask_ns, %0" : : "r" (faultMask) : "memory");
 572:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 573:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
 574:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 575:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif /* ((defined (__ARM_ARCH_7M__      ) && (__ARM_ARCH_7M__      == 1)) || \
 576:Drivers/CMSIS/Include/cmsis_gcc.h ****            (defined (__ARM_ARCH_7EM__     ) && (__ARM_ARCH_7EM__     == 1)) || \
 577:Drivers/CMSIS/Include/cmsis_gcc.h ****            (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1))    ) */
 578:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 579:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 580:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \
 581:Drivers/CMSIS/Include/cmsis_gcc.h ****      (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1))    )
 582:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 583:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 584:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Get Process Stack Pointer Limit
 585:Drivers/CMSIS/Include/cmsis_gcc.h ****   Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
 586:Drivers/CMSIS/Include/cmsis_gcc.h ****   Stack Pointer Limit register hence zero is returned always in non-secure
 587:Drivers/CMSIS/Include/cmsis_gcc.h ****   mode.
 588:Drivers/CMSIS/Include/cmsis_gcc.h ****   
 589:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Returns the current value of the Process Stack Pointer Limit (PSPLIM).
 590:Drivers/CMSIS/Include/cmsis_gcc.h ****   \return               PSPLIM Register value
 591:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 592:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_PSPLIM(void)
 593:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 594:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \
 595:Drivers/CMSIS/Include/cmsis_gcc.h ****     (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3)))
 596:Drivers/CMSIS/Include/cmsis_gcc.h ****     // without main extensions, the non-secure PSPLIM is RAZ/WI
 597:Drivers/CMSIS/Include/cmsis_gcc.h ****   return 0U;
 598:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
 599:Drivers/CMSIS/Include/cmsis_gcc.h ****   uint32_t result;
 600:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("MRS %0, psplim"  : "=r" (result) );
 601:Drivers/CMSIS/Include/cmsis_gcc.h ****   return result;
 602:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
 603:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 604:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 605:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3))
ARM GAS  /tmp/ccj1aKCo.s 			page 69


 606:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 607:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Get Process Stack Pointer Limit (non-secure)
 608:Drivers/CMSIS/Include/cmsis_gcc.h ****   Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
 609:Drivers/CMSIS/Include/cmsis_gcc.h ****   Stack Pointer Limit register hence zero is returned always.
 610:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 611:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Returns the current value of the non-secure Process Stack Pointer Limit (PSPLIM) when in
 612:Drivers/CMSIS/Include/cmsis_gcc.h ****   \return               PSPLIM Register value
 613:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 614:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_PSPLIM_NS(void)
 615:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 616:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)))
 617:Drivers/CMSIS/Include/cmsis_gcc.h ****   // without main extensions, the non-secure PSPLIM is RAZ/WI
 618:Drivers/CMSIS/Include/cmsis_gcc.h ****   return 0U;
 619:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
 620:Drivers/CMSIS/Include/cmsis_gcc.h ****   uint32_t result;
 621:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("MRS %0, psplim_ns"  : "=r" (result) );
 622:Drivers/CMSIS/Include/cmsis_gcc.h ****   return result;
 623:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
 624:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 625:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
 626:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 627:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 628:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 629:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Set Process Stack Pointer Limit
 630:Drivers/CMSIS/Include/cmsis_gcc.h ****   Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
 631:Drivers/CMSIS/Include/cmsis_gcc.h ****   Stack Pointer Limit register hence the write is silently ignored in non-secure
 632:Drivers/CMSIS/Include/cmsis_gcc.h ****   mode.
 633:Drivers/CMSIS/Include/cmsis_gcc.h ****   
 634:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Assigns the given value to the Process Stack Pointer Limit (PSPLIM).
 635:Drivers/CMSIS/Include/cmsis_gcc.h ****   \param [in]    ProcStackPtrLimit  Process Stack Pointer Limit value to set
 636:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 637:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_PSPLIM(uint32_t ProcStackPtrLimit)
 638:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 639:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \
 640:Drivers/CMSIS/Include/cmsis_gcc.h ****     (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3)))
 641:Drivers/CMSIS/Include/cmsis_gcc.h ****   // without main extensions, the non-secure PSPLIM is RAZ/WI
 642:Drivers/CMSIS/Include/cmsis_gcc.h ****   (void)ProcStackPtrLimit;
 643:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
 644:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("MSR psplim, %0" : : "r" (ProcStackPtrLimit));
 645:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
 646:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 647:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 648:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 649:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE  ) && (__ARM_FEATURE_CMSE   == 3))
 650:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 651:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Set Process Stack Pointer (non-secure)
 652:Drivers/CMSIS/Include/cmsis_gcc.h ****   Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
 653:Drivers/CMSIS/Include/cmsis_gcc.h ****   Stack Pointer Limit register hence the write is silently ignored.
 654:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 655:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Assigns the given value to the non-secure Process Stack Pointer Limit (PSPLIM) when in s
 656:Drivers/CMSIS/Include/cmsis_gcc.h ****   \param [in]    ProcStackPtrLimit  Process Stack Pointer Limit value to set
 657:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 658:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_PSPLIM_NS(uint32_t ProcStackPtrLimit)
 659:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 660:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)))
 661:Drivers/CMSIS/Include/cmsis_gcc.h ****   // without main extensions, the non-secure PSPLIM is RAZ/WI
 662:Drivers/CMSIS/Include/cmsis_gcc.h ****   (void)ProcStackPtrLimit;
ARM GAS  /tmp/ccj1aKCo.s 			page 70


 663:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
 664:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("MSR psplim_ns, %0\n" : : "r" (ProcStackPtrLimit));
 665:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
 666:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 667:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
 668:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 669:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 670:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 671:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Get Main Stack Pointer Limit
 672:Drivers/CMSIS/Include/cmsis_gcc.h ****   Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
 673:Drivers/CMSIS/Include/cmsis_gcc.h ****   Stack Pointer Limit register hence zero is returned always in non-secure
 674:Drivers/CMSIS/Include/cmsis_gcc.h ****   mode.
 675:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 676:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Returns the current value of the Main Stack Pointer Limit (MSPLIM).
 677:Drivers/CMSIS/Include/cmsis_gcc.h ****   \return               MSPLIM Register value
 678:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 679:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_MSPLIM(void)
 680:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 681:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \
 682:Drivers/CMSIS/Include/cmsis_gcc.h ****     (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3)))
 683:Drivers/CMSIS/Include/cmsis_gcc.h ****   // without main extensions, the non-secure MSPLIM is RAZ/WI
 684:Drivers/CMSIS/Include/cmsis_gcc.h ****   return 0U;
 685:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
 686:Drivers/CMSIS/Include/cmsis_gcc.h ****   uint32_t result;
 687:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("MRS %0, msplim" : "=r" (result) );
 688:Drivers/CMSIS/Include/cmsis_gcc.h ****   return result;
 689:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
 690:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 691:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 692:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 693:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE  ) && (__ARM_FEATURE_CMSE   == 3))
 694:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 695:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Get Main Stack Pointer Limit (non-secure)
 696:Drivers/CMSIS/Include/cmsis_gcc.h ****   Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
 697:Drivers/CMSIS/Include/cmsis_gcc.h ****   Stack Pointer Limit register hence zero is returned always.
 698:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 699:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Returns the current value of the non-secure Main Stack Pointer Limit(MSPLIM) when in sec
 700:Drivers/CMSIS/Include/cmsis_gcc.h ****   \return               MSPLIM Register value
 701:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 702:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_MSPLIM_NS(void)
 703:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 704:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)))
 705:Drivers/CMSIS/Include/cmsis_gcc.h ****   // without main extensions, the non-secure MSPLIM is RAZ/WI
 706:Drivers/CMSIS/Include/cmsis_gcc.h ****   return 0U;
 707:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
 708:Drivers/CMSIS/Include/cmsis_gcc.h ****   uint32_t result;
 709:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("MRS %0, msplim_ns" : "=r" (result) );
 710:Drivers/CMSIS/Include/cmsis_gcc.h ****   return result;
 711:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
 712:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 713:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
 714:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 715:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 716:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 717:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Set Main Stack Pointer Limit
 718:Drivers/CMSIS/Include/cmsis_gcc.h ****   Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
 719:Drivers/CMSIS/Include/cmsis_gcc.h ****   Stack Pointer Limit register hence the write is silently ignored in non-secure
ARM GAS  /tmp/ccj1aKCo.s 			page 71


 720:Drivers/CMSIS/Include/cmsis_gcc.h ****   mode.
 721:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 722:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Assigns the given value to the Main Stack Pointer Limit (MSPLIM).
 723:Drivers/CMSIS/Include/cmsis_gcc.h ****   \param [in]    MainStackPtrLimit  Main Stack Pointer Limit value to set
 724:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 725:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_MSPLIM(uint32_t MainStackPtrLimit)
 726:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 727:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \
 728:Drivers/CMSIS/Include/cmsis_gcc.h ****     (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3)))
 729:Drivers/CMSIS/Include/cmsis_gcc.h ****   // without main extensions, the non-secure MSPLIM is RAZ/WI
 730:Drivers/CMSIS/Include/cmsis_gcc.h ****   (void)MainStackPtrLimit;
 731:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
 732:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("MSR msplim, %0" : : "r" (MainStackPtrLimit));
 733:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
 734:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 735:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 736:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 737:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE  ) && (__ARM_FEATURE_CMSE   == 3))
 738:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 739:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Set Main Stack Pointer Limit (non-secure)
 740:Drivers/CMSIS/Include/cmsis_gcc.h ****   Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
 741:Drivers/CMSIS/Include/cmsis_gcc.h ****   Stack Pointer Limit register hence the write is silently ignored.
 742:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 743:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Assigns the given value to the non-secure Main Stack Pointer Limit (MSPLIM) when in secu
 744:Drivers/CMSIS/Include/cmsis_gcc.h ****   \param [in]    MainStackPtrLimit  Main Stack Pointer value to set
 745:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 746:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_MSPLIM_NS(uint32_t MainStackPtrLimit)
 747:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 748:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)))
 749:Drivers/CMSIS/Include/cmsis_gcc.h ****   // without main extensions, the non-secure MSPLIM is RAZ/WI
 750:Drivers/CMSIS/Include/cmsis_gcc.h ****   (void)MainStackPtrLimit;
 751:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
 752:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("MSR msplim_ns, %0" : : "r" (MainStackPtrLimit));
 753:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
 754:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 755:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
 756:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 757:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif /* ((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \
 758:Drivers/CMSIS/Include/cmsis_gcc.h ****            (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1))    ) */
 759:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 760:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 761:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 762:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Get FPSCR
 763:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Returns the current value of the Floating Point Status/Control register.
 764:Drivers/CMSIS/Include/cmsis_gcc.h ****   \return               Floating Point Status/Control register value
 765:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 766:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_FPSCR(void)
 767:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 768:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)) && \
 769:Drivers/CMSIS/Include/cmsis_gcc.h ****      (defined (__FPU_USED   ) && (__FPU_USED    == 1U))     )
 770:Drivers/CMSIS/Include/cmsis_gcc.h **** #if __has_builtin(__builtin_arm_get_fpscr) 
 771:Drivers/CMSIS/Include/cmsis_gcc.h **** // Re-enable using built-in when GCC has been fixed
 772:Drivers/CMSIS/Include/cmsis_gcc.h **** // || (__GNUC__ > 7) || (__GNUC__ == 7 && __GNUC_MINOR__ >= 2)
 773:Drivers/CMSIS/Include/cmsis_gcc.h ****   /* see https://gcc.gnu.org/ml/gcc-patches/2017-04/msg00443.html */
 774:Drivers/CMSIS/Include/cmsis_gcc.h ****   return __builtin_arm_get_fpscr();
 775:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
 776:Drivers/CMSIS/Include/cmsis_gcc.h ****   uint32_t result;
ARM GAS  /tmp/ccj1aKCo.s 			page 72


 777:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 778:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("VMRS %0, fpscr" : "=r" (result) );
 779:Drivers/CMSIS/Include/cmsis_gcc.h ****   return(result);
 780:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
 781:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
 782:Drivers/CMSIS/Include/cmsis_gcc.h ****   return(0U);
 783:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
 784:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 785:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 786:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 787:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 788:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Set FPSCR
 789:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Assigns the given value to the Floating Point Status/Control register.
 790:Drivers/CMSIS/Include/cmsis_gcc.h ****   \param [in]    fpscr  Floating Point Status/Control value to set
 791:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 792:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_FPSCR(uint32_t fpscr)
 793:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 794:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)) && \
 795:Drivers/CMSIS/Include/cmsis_gcc.h ****      (defined (__FPU_USED   ) && (__FPU_USED    == 1U))     )
 796:Drivers/CMSIS/Include/cmsis_gcc.h **** #if __has_builtin(__builtin_arm_set_fpscr)
 797:Drivers/CMSIS/Include/cmsis_gcc.h **** // Re-enable using built-in when GCC has been fixed
 798:Drivers/CMSIS/Include/cmsis_gcc.h **** // || (__GNUC__ > 7) || (__GNUC__ == 7 && __GNUC_MINOR__ >= 2)
 799:Drivers/CMSIS/Include/cmsis_gcc.h ****   /* see https://gcc.gnu.org/ml/gcc-patches/2017-04/msg00443.html */
 800:Drivers/CMSIS/Include/cmsis_gcc.h ****   __builtin_arm_set_fpscr(fpscr);
 801:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
 802:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("VMSR fpscr, %0" : : "r" (fpscr) : "vfpcc", "memory");
 803:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
 804:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
 805:Drivers/CMSIS/Include/cmsis_gcc.h ****   (void)fpscr;
 806:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
 807:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 808:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 809:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 810:Drivers/CMSIS/Include/cmsis_gcc.h **** /*@} end of CMSIS_Core_RegAccFunctions */
 811:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 812:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 813:Drivers/CMSIS/Include/cmsis_gcc.h **** /* ##########################  Core Instruction Access  ######################### */
 814:Drivers/CMSIS/Include/cmsis_gcc.h **** /** \defgroup CMSIS_Core_InstructionInterface CMSIS Core Instruction Interface
 815:Drivers/CMSIS/Include/cmsis_gcc.h ****   Access to dedicated instructions
 816:Drivers/CMSIS/Include/cmsis_gcc.h ****   @{
 817:Drivers/CMSIS/Include/cmsis_gcc.h **** */
 818:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 819:Drivers/CMSIS/Include/cmsis_gcc.h **** /* Define macros for porting to both thumb1 and thumb2.
 820:Drivers/CMSIS/Include/cmsis_gcc.h ****  * For thumb1, use low register (r0-r7), specified by constraint "l"
 821:Drivers/CMSIS/Include/cmsis_gcc.h ****  * Otherwise, use general registers, specified by constraint "r" */
 822:Drivers/CMSIS/Include/cmsis_gcc.h **** #if defined (__thumb__) && !defined (__thumb2__)
 823:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_OUT_REG(r) "=l" (r)
 824:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_RW_REG(r) "+l" (r)
 825:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_USE_REG(r) "l" (r)
 826:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
 827:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_OUT_REG(r) "=r" (r)
 828:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_RW_REG(r) "+r" (r)
 829:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_USE_REG(r) "r" (r)
 830:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
 831:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 832:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 833:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   No Operation
ARM GAS  /tmp/ccj1aKCo.s 			page 73


 834:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details No Operation does nothing. This instruction can be used for code alignment purposes.
 835:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 836:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __NOP()                             __ASM volatile ("nop")
 837:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 838:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 839:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Wait For Interrupt
 840:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Wait For Interrupt is a hint instruction that suspends execution until one of a number o
 841:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 842:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __WFI()                             __ASM volatile ("wfi")
 843:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 844:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 845:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 846:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Wait For Event
 847:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Wait For Event is a hint instruction that permits the processor to enter
 848:Drivers/CMSIS/Include/cmsis_gcc.h ****            a low-power state until one of a number of events occurs.
 849:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 850:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __WFE()                             __ASM volatile ("wfe")
 851:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 852:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 853:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 854:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Send Event
 855:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Send Event is a hint instruction. It causes an event to be signaled to the CPU.
 856:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 857:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __SEV()                             __ASM volatile ("sev")
 858:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 859:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 860:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 861:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Instruction Synchronization Barrier
 862:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Instruction Synchronization Barrier flushes the pipeline in the processor,
 863:Drivers/CMSIS/Include/cmsis_gcc.h ****            so that all instructions following the ISB are fetched from cache or memory,
 864:Drivers/CMSIS/Include/cmsis_gcc.h ****            after the instruction has been completed.
 865:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 866:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __ISB(void)
 867:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 868:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("isb 0xF":::"memory");
 869:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 870:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 871:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 872:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 873:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Data Synchronization Barrier
 874:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Acts as a special kind of Data Memory Barrier.
 875:Drivers/CMSIS/Include/cmsis_gcc.h ****            It completes when all explicit memory accesses before this instruction complete.
 876:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 877:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __DSB(void)
 878:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 879:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("dsb 0xF":::"memory");
 880:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 881:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 882:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 883:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 884:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Data Memory Barrier
 885:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Ensures the apparent order of the explicit memory operations before
 886:Drivers/CMSIS/Include/cmsis_gcc.h ****            and after the instruction, without ensuring their completion.
 887:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 888:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __DMB(void)
 889:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 890:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("dmb 0xF":::"memory");
ARM GAS  /tmp/ccj1aKCo.s 			page 74


 891:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 892:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 893:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 894:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 895:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Reverse byte order (32 bit)
 896:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Reverses the byte order in unsigned integer value. For example, 0x12345678 becomes 0x785
 897:Drivers/CMSIS/Include/cmsis_gcc.h ****   \param [in]    value  Value to reverse
 898:Drivers/CMSIS/Include/cmsis_gcc.h ****   \return               Reversed value
 899:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 900:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __REV(uint32_t value)
 901:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 902:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5)
 903:Drivers/CMSIS/Include/cmsis_gcc.h ****   return __builtin_bswap32(value);
 904:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
 905:Drivers/CMSIS/Include/cmsis_gcc.h ****   uint32_t result;
 906:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 907:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("rev %0, %1" : __CMSIS_GCC_OUT_REG (result) : __CMSIS_GCC_USE_REG (value) );
 908:Drivers/CMSIS/Include/cmsis_gcc.h ****   return result;
 909:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
 910:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 911:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 912:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 913:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 914:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Reverse byte order (16 bit)
 915:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Reverses the byte order within each halfword of a word. For example, 0x12345678 becomes 
 916:Drivers/CMSIS/Include/cmsis_gcc.h ****   \param [in]    value  Value to reverse
 917:Drivers/CMSIS/Include/cmsis_gcc.h ****   \return               Reversed value
 918:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 919:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __REV16(uint32_t value)
 920:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 921:Drivers/CMSIS/Include/cmsis_gcc.h ****   uint32_t result;
 922:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 923:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("rev16 %0, %1" : __CMSIS_GCC_OUT_REG (result) : __CMSIS_GCC_USE_REG (value) );
 924:Drivers/CMSIS/Include/cmsis_gcc.h ****   return result;
 925:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 926:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 927:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 928:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 929:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Reverse byte order (16 bit)
 930:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Reverses the byte order in a 16-bit value and returns the signed 16-bit result. For exam
 931:Drivers/CMSIS/Include/cmsis_gcc.h ****   \param [in]    value  Value to reverse
 932:Drivers/CMSIS/Include/cmsis_gcc.h ****   \return               Reversed value
 933:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 934:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE int16_t __REVSH(int16_t value)
 935:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 936:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8)
 937:Drivers/CMSIS/Include/cmsis_gcc.h ****   return (int16_t)__builtin_bswap16(value);
 938:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
 939:Drivers/CMSIS/Include/cmsis_gcc.h ****   int16_t result;
 940:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 941:Drivers/CMSIS/Include/cmsis_gcc.h ****   __ASM volatile ("revsh %0, %1" : __CMSIS_GCC_OUT_REG (result) : __CMSIS_GCC_USE_REG (value) );
 942:Drivers/CMSIS/Include/cmsis_gcc.h ****   return result;
 943:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
 944:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 945:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 946:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 947:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
ARM GAS  /tmp/ccj1aKCo.s 			page 75


 948:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Rotate Right in unsigned value (32 bit)
 949:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Rotate Right (immediate) provides the value of the contents of a register rotated by a v
 950:Drivers/CMSIS/Include/cmsis_gcc.h ****   \param [in]    op1  Value to rotate
 951:Drivers/CMSIS/Include/cmsis_gcc.h ****   \param [in]    op2  Number of Bits to rotate
 952:Drivers/CMSIS/Include/cmsis_gcc.h ****   \return               Rotated value
 953:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 954:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __ROR(uint32_t op1, uint32_t op2)
 955:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 956:Drivers/CMSIS/Include/cmsis_gcc.h ****   op2 %= 32U;
 957:Drivers/CMSIS/Include/cmsis_gcc.h ****   if (op2 == 0U)
 958:Drivers/CMSIS/Include/cmsis_gcc.h ****   {
 959:Drivers/CMSIS/Include/cmsis_gcc.h ****     return op1;
 960:Drivers/CMSIS/Include/cmsis_gcc.h ****   }
 961:Drivers/CMSIS/Include/cmsis_gcc.h ****   return (op1 >> op2) | (op1 << (32U - op2));
 962:Drivers/CMSIS/Include/cmsis_gcc.h **** }
 963:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 964:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 965:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 966:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Breakpoint
 967:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Causes the processor to enter Debug state.
 968:Drivers/CMSIS/Include/cmsis_gcc.h ****            Debug tools can use this to investigate system state when the instruction at a particula
 969:Drivers/CMSIS/Include/cmsis_gcc.h ****   \param [in]    value  is ignored by the processor.
 970:Drivers/CMSIS/Include/cmsis_gcc.h ****                  If required, a debugger can use it to store additional information about the break
 971:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 972:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __BKPT(value)                       __ASM volatile ("bkpt "#value)
 973:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 974:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 975:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
 976:Drivers/CMSIS/Include/cmsis_gcc.h ****   \brief   Reverse bit order of value
 977:Drivers/CMSIS/Include/cmsis_gcc.h ****   \details Reverses the bit order of the given value.
 978:Drivers/CMSIS/Include/cmsis_gcc.h ****   \param [in]    value  Value to reverse
 979:Drivers/CMSIS/Include/cmsis_gcc.h ****   \return               Reversed value
 980:Drivers/CMSIS/Include/cmsis_gcc.h ****  */
 981:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __RBIT(uint32_t value)
 1553              		.loc 2 981 31 view .LVU513
 1554              	.LBB5:
 982:Drivers/CMSIS/Include/cmsis_gcc.h **** {
 983:Drivers/CMSIS/Include/cmsis_gcc.h ****   uint32_t result;
 1555              		.loc 2 983 3 view .LVU514
 984:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 985:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__ARM_ARCH_7M__      ) && (__ARM_ARCH_7M__      == 1)) || \
 986:Drivers/CMSIS/Include/cmsis_gcc.h ****      (defined (__ARM_ARCH_7EM__     ) && (__ARM_ARCH_7EM__     == 1)) || \
 987:Drivers/CMSIS/Include/cmsis_gcc.h ****      (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1))    )
 988:Drivers/CMSIS/Include/cmsis_gcc.h ****    __ASM volatile ("rbit %0, %1" : "=r" (result) : "r" (value) );
 1556              		.loc 2 988 4 view .LVU515
 1557              		.syntax unified
 1558              	@ 988 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
 1559 0010 91FAA1F1 		rbit r1, r1
 1560              	@ 0 "" 2
 1561              	.LVL117:
 989:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
 990:Drivers/CMSIS/Include/cmsis_gcc.h ****   uint32_t s = (4U /*sizeof(v)*/ * 8U) - 1U; /* extra shift needed at end */
 991:Drivers/CMSIS/Include/cmsis_gcc.h **** 
 992:Drivers/CMSIS/Include/cmsis_gcc.h ****   result = value;                      /* r will be reversed bits of v; first get LSB of v */
 993:Drivers/CMSIS/Include/cmsis_gcc.h ****   for (value >>= 1U; value != 0U; value >>= 1U)
 994:Drivers/CMSIS/Include/cmsis_gcc.h ****   {
 995:Drivers/CMSIS/Include/cmsis_gcc.h ****     result <<= 1U;
ARM GAS  /tmp/ccj1aKCo.s 			page 76


 996:Drivers/CMSIS/Include/cmsis_gcc.h ****     result |= value & 1U;
 997:Drivers/CMSIS/Include/cmsis_gcc.h ****     s--;
 998:Drivers/CMSIS/Include/cmsis_gcc.h ****   }
 999:Drivers/CMSIS/Include/cmsis_gcc.h ****   result <<= s;                        /* shift when v's highest bits are zero */
1000:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
1001:Drivers/CMSIS/Include/cmsis_gcc.h ****   return result;
 1562              		.loc 2 1001 3 view .LVU516
 1563              		.loc 2 1001 3 is_stmt 0 view .LVU517
 1564              		.thumb
 1565              		.syntax unified
 1566              	.LBE5:
 1567              	.LBE4:
1451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 1568              		.loc 1 1451 21 view .LVU518
 1569 0014 B1FA81F1 		clz	r1, r1
 1570              	.LVL118:
1454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
 1571              		.loc 1 1454 5 is_stmt 1 view .LVU519
1454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
 1572              		.loc 1 1454 22 is_stmt 0 view .LVU520
 1573 0018 0368     		ldr	r3, [r0]
1454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
 1574              		.loc 1 1454 61 view .LVU521
 1575 001a 1831     		adds	r1, r1, #24
 1576              	.LVL119:
1454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
 1577              		.loc 1 1454 61 view .LVU522
 1578 001c 03EB0113 		add	r3, r3, r1, lsl #4
 1579 0020 5868     		ldr	r0, [r3, #4]
 1580              	.LVL120:
1454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
 1581              		.loc 1 1454 85 view .LVU523
 1582 0022 000C     		lsrs	r0, r0, #16
 1583              	.LVL121:
1454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
 1584              		.loc 1 1454 85 view .LVU524
 1585 0024 7047     		bx	lr
 1586              		.cfi_endproc
 1587              	.LFE144:
 1589              		.section	.text.HAL_CAN_GetRxMessage,"ax",%progbits
 1590              		.align	1
 1591              		.global	HAL_CAN_GetRxMessage
 1592              		.syntax unified
 1593              		.thumb
 1594              		.thumb_func
 1596              	HAL_CAN_GetRxMessage:
 1597              	.LVL122:
 1598              	.LFB145:
1460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
1462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @brief  Get an CAN frame from the Rx FIFO zone into the message RAM.
1463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @param  hcan pointer to an CAN_HandleTypeDef structure that contains
1464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *         the configuration information for the specified CAN.
1465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @param  RxFifo Fifo number of the received message to be read.
1466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *         This parameter can be a value of @arg CAN_receive_FIFO_number.
1467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @param  pHeader pointer to a CAN_RxHeaderTypeDef structure where the header
1468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *         of the Rx frame will be stored.
ARM GAS  /tmp/ccj1aKCo.s 			page 77


1469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @param  aData array where the payload of the Rx frame will be stored.
1470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @retval HAL status
1471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   */
1472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_GetRxMessage(CAN_HandleTypeDef *hcan, uint32_t RxFifo, CAN_RxHeaderTypeDe
1473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
 1599              		.loc 1 1473 1 is_stmt 1 view -0
 1600              		.cfi_startproc
 1601              		@ args = 0, pretend = 0, frame = 0
 1602              		@ frame_needed = 0, uses_anonymous_args = 0
 1603              		@ link register save eliminated.
1474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   HAL_CAN_StateTypeDef state = hcan->State;
 1604              		.loc 1 1474 3 view .LVU526
 1605              		.loc 1 1474 24 is_stmt 0 view .LVU527
 1606 0000 90F820C0 		ldrb	ip, [r0, #32]	@ zero_extendqisi2
 1607              	.LVL123:
1475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   assert_param(IS_CAN_RX_FIFO(RxFifo));
 1608              		.loc 1 1476 3 is_stmt 1 view .LVU528
1477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   if ((state == HAL_CAN_STATE_READY) ||
 1609              		.loc 1 1478 3 view .LVU529
 1610              		.loc 1 1478 38 is_stmt 0 view .LVU530
 1611 0004 0CF1FF3C 		add	ip, ip, #-1
 1612              	.LVL124:
 1613              		.loc 1 1478 38 view .LVU531
 1614 0008 5FFA8CFC 		uxtb	ip, ip
 1615              		.loc 1 1478 6 view .LVU532
 1616 000c BCF1010F 		cmp	ip, #1
 1617 0010 00F29580 		bhi	.L129
1473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   HAL_CAN_StateTypeDef state = hcan->State;
 1618              		.loc 1 1473 1 view .LVU533
 1619 0014 30B4     		push	{r4, r5}
 1620              		.cfi_def_cfa_offset 8
 1621              		.cfi_offset 4, -8
 1622              		.cfi_offset 5, -4
1479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       (state == HAL_CAN_STATE_LISTENING))
1480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
1481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* Check the Rx FIFO */
1482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     if (RxFifo == CAN_RX_FIFO0) /* Rx element is assigned to Rx FIFO 0 */
 1623              		.loc 1 1482 5 is_stmt 1 view .LVU534
 1624              		.loc 1 1482 8 is_stmt 0 view .LVU535
 1625 0016 51B9     		cbnz	r1, .L130
1483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
1484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       /* Check that the Rx FIFO 0 is not empty */
1485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       if ((hcan->Instance->RF0R & CAN_RF0R_FMP0) == 0U)
 1626              		.loc 1 1485 7 is_stmt 1 view .LVU536
 1627              		.loc 1 1485 16 is_stmt 0 view .LVU537
 1628 0018 0468     		ldr	r4, [r0]
 1629              		.loc 1 1485 26 view .LVU538
 1630 001a E468     		ldr	r4, [r4, #12]
 1631              		.loc 1 1485 10 view .LVU539
 1632 001c 14F0030F 		tst	r4, #3
 1633 0020 10D1     		bne	.L131
1486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       {
1487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         /* Update error code */
1488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         hcan->ErrorCode |= HAL_CAN_ERROR_PARAM;
 1634              		.loc 1 1488 9 is_stmt 1 view .LVU540
ARM GAS  /tmp/ccj1aKCo.s 			page 78


 1635              		.loc 1 1488 13 is_stmt 0 view .LVU541
 1636 0022 436A     		ldr	r3, [r0, #36]
 1637              	.LVL125:
 1638              		.loc 1 1488 25 view .LVU542
 1639 0024 43F40013 		orr	r3, r3, #2097152
 1640 0028 4362     		str	r3, [r0, #36]
1489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         return HAL_ERROR;
 1641              		.loc 1 1490 9 is_stmt 1 view .LVU543
 1642              		.loc 1 1490 16 is_stmt 0 view .LVU544
 1643 002a 0120     		movs	r0, #1
 1644              	.LVL126:
 1645              		.loc 1 1490 16 view .LVU545
 1646 002c 77E0     		b	.L132
 1647              	.LVL127:
 1648              	.L130:
1491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       }
1492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
1493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     else /* Rx element is assigned to Rx FIFO 1 */
1494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
1495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       /* Check that the Rx FIFO 1 is not empty */
1496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       if ((hcan->Instance->RF1R & CAN_RF1R_FMP1) == 0U)
 1649              		.loc 1 1496 7 is_stmt 1 view .LVU546
 1650              		.loc 1 1496 16 is_stmt 0 view .LVU547
 1651 002e 0468     		ldr	r4, [r0]
 1652              		.loc 1 1496 26 view .LVU548
 1653 0030 2469     		ldr	r4, [r4, #16]
 1654              		.loc 1 1496 10 view .LVU549
 1655 0032 14F0030F 		tst	r4, #3
 1656 0036 05D1     		bne	.L131
1497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       {
1498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         /* Update error code */
1499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         hcan->ErrorCode |= HAL_CAN_ERROR_PARAM;
 1657              		.loc 1 1499 9 is_stmt 1 view .LVU550
 1658              		.loc 1 1499 13 is_stmt 0 view .LVU551
 1659 0038 436A     		ldr	r3, [r0, #36]
 1660              	.LVL128:
 1661              		.loc 1 1499 25 view .LVU552
 1662 003a 43F40013 		orr	r3, r3, #2097152
 1663 003e 4362     		str	r3, [r0, #36]
1500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         return HAL_ERROR;
 1664              		.loc 1 1501 9 is_stmt 1 view .LVU553
 1665              		.loc 1 1501 16 is_stmt 0 view .LVU554
 1666 0040 0120     		movs	r0, #1
 1667              	.LVL129:
 1668              		.loc 1 1501 16 view .LVU555
 1669 0042 6CE0     		b	.L132
 1670              	.LVL130:
 1671              	.L131:
1502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       }
1503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
1504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* Get the header */
1506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     pHeader->IDE = CAN_RI0R_IDE & hcan->Instance->sFIFOMailBox[RxFifo].RIR;
 1672              		.loc 1 1506 5 is_stmt 1 view .LVU556
 1673              		.loc 1 1506 71 is_stmt 0 view .LVU557
ARM GAS  /tmp/ccj1aKCo.s 			page 79


 1674 0044 01F11B04 		add	r4, r1, #27
 1675 0048 2401     		lsls	r4, r4, #4
 1676 004a 0568     		ldr	r5, [r0]
 1677 004c 2C59     		ldr	r4, [r5, r4]
 1678              		.loc 1 1506 33 view .LVU558
 1679 004e 04F00404 		and	r4, r4, #4
 1680              		.loc 1 1506 18 view .LVU559
 1681 0052 9460     		str	r4, [r2, #8]
1507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     if (pHeader->IDE == CAN_ID_STD)
 1682              		.loc 1 1507 5 is_stmt 1 view .LVU560
 1683              		.loc 1 1507 8 is_stmt 0 view .LVU561
 1684 0054 002C     		cmp	r4, #0
 1685 0056 64D1     		bne	.L133
1508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
1509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       pHeader->StdId = (CAN_RI0R_STID & hcan->Instance->sFIFOMailBox[RxFifo].RIR) >> CAN_TI0R_STID_
 1686              		.loc 1 1509 7 is_stmt 1 view .LVU562
 1687              		.loc 1 1509 77 is_stmt 0 view .LVU563
 1688 0058 01F11B04 		add	r4, r1, #27
 1689 005c 2401     		lsls	r4, r4, #4
 1690 005e 0568     		ldr	r5, [r0]
 1691 0060 2C59     		ldr	r4, [r5, r4]
 1692              		.loc 1 1509 83 view .LVU564
 1693 0062 640D     		lsrs	r4, r4, #21
 1694              		.loc 1 1509 22 view .LVU565
 1695 0064 1460     		str	r4, [r2]
 1696              	.L134:
1510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
1511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     else
1512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
1513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       pHeader->ExtId = ((CAN_RI0R_EXID | CAN_RI0R_STID) & hcan->Instance->sFIFOMailBox[RxFifo].RIR)
1514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
1515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     pHeader->RTR = (CAN_RI0R_RTR & hcan->Instance->sFIFOMailBox[RxFifo].RIR);
 1697              		.loc 1 1515 5 is_stmt 1 view .LVU566
 1698              		.loc 1 1515 40 is_stmt 0 view .LVU567
 1699 0066 0468     		ldr	r4, [r0]
 1700              		.loc 1 1515 72 view .LVU568
 1701 0068 01F11B0C 		add	ip, r1, #27
 1702 006c 4FEA0C1C 		lsl	ip, ip, #4
 1703 0070 54F80C40 		ldr	r4, [r4, ip]
 1704              		.loc 1 1515 34 view .LVU569
 1705 0074 04F00204 		and	r4, r4, #2
 1706              		.loc 1 1515 18 view .LVU570
 1707 0078 D460     		str	r4, [r2, #12]
1516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     pHeader->DLC = (CAN_RDT0R_DLC & hcan->Instance->sFIFOMailBox[RxFifo].RDTR) >> CAN_RDT0R_DLC_Pos
 1708              		.loc 1 1516 5 is_stmt 1 view .LVU571
 1709              		.loc 1 1516 41 is_stmt 0 view .LVU572
 1710 007a 0468     		ldr	r4, [r0]
 1711              		.loc 1 1516 73 view .LVU573
 1712 007c 6444     		add	r4, r4, ip
 1713 007e 6468     		ldr	r4, [r4, #4]
 1714              		.loc 1 1516 80 view .LVU574
 1715 0080 04F00F04 		and	r4, r4, #15
 1716              		.loc 1 1516 18 view .LVU575
 1717 0084 1461     		str	r4, [r2, #16]
1517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     pHeader->FilterMatchIndex = (CAN_RDT0R_FMI & hcan->Instance->sFIFOMailBox[RxFifo].RDTR) >> CAN_
 1718              		.loc 1 1517 5 is_stmt 1 view .LVU576
 1719              		.loc 1 1517 54 is_stmt 0 view .LVU577
ARM GAS  /tmp/ccj1aKCo.s 			page 80


 1720 0086 0468     		ldr	r4, [r0]
 1721              		.loc 1 1517 86 view .LVU578
 1722 0088 6444     		add	r4, r4, ip
 1723 008a 6468     		ldr	r4, [r4, #4]
 1724              		.loc 1 1517 93 view .LVU579
 1725 008c C4F30724 		ubfx	r4, r4, #8, #8
 1726              		.loc 1 1517 31 view .LVU580
 1727 0090 9461     		str	r4, [r2, #24]
1518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     pHeader->Timestamp = (CAN_RDT0R_TIME & hcan->Instance->sFIFOMailBox[RxFifo].RDTR) >> CAN_RDT0R_
 1728              		.loc 1 1518 5 is_stmt 1 view .LVU581
 1729              		.loc 1 1518 48 is_stmt 0 view .LVU582
 1730 0092 0468     		ldr	r4, [r0]
 1731              		.loc 1 1518 80 view .LVU583
 1732 0094 6444     		add	r4, r4, ip
 1733 0096 6468     		ldr	r4, [r4, #4]
 1734              		.loc 1 1518 87 view .LVU584
 1735 0098 240C     		lsrs	r4, r4, #16
 1736              		.loc 1 1518 24 view .LVU585
 1737 009a 5461     		str	r4, [r2, #20]
1519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* Get the data */
1521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     aData[0] = (uint8_t)((CAN_RDL0R_DATA0 & hcan->Instance->sFIFOMailBox[RxFifo].RDLR) >> CAN_RDL0R
 1738              		.loc 1 1521 5 is_stmt 1 view .LVU586
 1739              		.loc 1 1521 49 is_stmt 0 view .LVU587
 1740 009c 0268     		ldr	r2, [r0]
 1741              	.LVL131:
 1742              		.loc 1 1521 81 view .LVU588
 1743 009e 02EB0112 		add	r2, r2, r1, lsl #4
 1744 00a2 D2F8B821 		ldr	r2, [r2, #440]
 1745              		.loc 1 1521 14 view .LVU589
 1746 00a6 1A70     		strb	r2, [r3]
1522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     aData[1] = (uint8_t)((CAN_RDL0R_DATA1 & hcan->Instance->sFIFOMailBox[RxFifo].RDLR) >> CAN_RDL0R
 1747              		.loc 1 1522 5 is_stmt 1 view .LVU590
 1748              		.loc 1 1522 49 is_stmt 0 view .LVU591
 1749 00a8 0268     		ldr	r2, [r0]
 1750              		.loc 1 1522 81 view .LVU592
 1751 00aa 02EB0112 		add	r2, r2, r1, lsl #4
 1752 00ae D2F8B821 		ldr	r2, [r2, #440]
 1753              		.loc 1 1522 16 view .LVU593
 1754 00b2 C2F30722 		ubfx	r2, r2, #8, #8
 1755              		.loc 1 1522 14 view .LVU594
 1756 00b6 5A70     		strb	r2, [r3, #1]
1523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     aData[2] = (uint8_t)((CAN_RDL0R_DATA2 & hcan->Instance->sFIFOMailBox[RxFifo].RDLR) >> CAN_RDL0R
 1757              		.loc 1 1523 5 is_stmt 1 view .LVU595
 1758              		.loc 1 1523 49 is_stmt 0 view .LVU596
 1759 00b8 0268     		ldr	r2, [r0]
 1760              		.loc 1 1523 81 view .LVU597
 1761 00ba 02EB0112 		add	r2, r2, r1, lsl #4
 1762 00be D2F8B821 		ldr	r2, [r2, #440]
 1763              		.loc 1 1523 16 view .LVU598
 1764 00c2 C2F30742 		ubfx	r2, r2, #16, #8
 1765              		.loc 1 1523 14 view .LVU599
 1766 00c6 9A70     		strb	r2, [r3, #2]
1524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     aData[3] = (uint8_t)((CAN_RDL0R_DATA3 & hcan->Instance->sFIFOMailBox[RxFifo].RDLR) >> CAN_RDL0R
 1767              		.loc 1 1524 5 is_stmt 1 view .LVU600
 1768              		.loc 1 1524 49 is_stmt 0 view .LVU601
 1769 00c8 0268     		ldr	r2, [r0]
ARM GAS  /tmp/ccj1aKCo.s 			page 81


 1770              		.loc 1 1524 81 view .LVU602
 1771 00ca 02EB0112 		add	r2, r2, r1, lsl #4
 1772 00ce D2F8B821 		ldr	r2, [r2, #440]
 1773              		.loc 1 1524 16 view .LVU603
 1774 00d2 120E     		lsrs	r2, r2, #24
 1775              		.loc 1 1524 14 view .LVU604
 1776 00d4 DA70     		strb	r2, [r3, #3]
1525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     aData[4] = (uint8_t)((CAN_RDH0R_DATA4 & hcan->Instance->sFIFOMailBox[RxFifo].RDHR) >> CAN_RDH0R
 1777              		.loc 1 1525 5 is_stmt 1 view .LVU605
 1778              		.loc 1 1525 49 is_stmt 0 view .LVU606
 1779 00d6 0268     		ldr	r2, [r0]
 1780              		.loc 1 1525 81 view .LVU607
 1781 00d8 02EB0112 		add	r2, r2, r1, lsl #4
 1782 00dc D2F8BC21 		ldr	r2, [r2, #444]
 1783              		.loc 1 1525 14 view .LVU608
 1784 00e0 1A71     		strb	r2, [r3, #4]
1526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     aData[5] = (uint8_t)((CAN_RDH0R_DATA5 & hcan->Instance->sFIFOMailBox[RxFifo].RDHR) >> CAN_RDH0R
 1785              		.loc 1 1526 5 is_stmt 1 view .LVU609
 1786              		.loc 1 1526 49 is_stmt 0 view .LVU610
 1787 00e2 0268     		ldr	r2, [r0]
 1788              		.loc 1 1526 81 view .LVU611
 1789 00e4 02EB0112 		add	r2, r2, r1, lsl #4
 1790 00e8 D2F8BC21 		ldr	r2, [r2, #444]
 1791              		.loc 1 1526 16 view .LVU612
 1792 00ec C2F30722 		ubfx	r2, r2, #8, #8
 1793              		.loc 1 1526 14 view .LVU613
 1794 00f0 5A71     		strb	r2, [r3, #5]
1527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     aData[6] = (uint8_t)((CAN_RDH0R_DATA6 & hcan->Instance->sFIFOMailBox[RxFifo].RDHR) >> CAN_RDH0R
 1795              		.loc 1 1527 5 is_stmt 1 view .LVU614
 1796              		.loc 1 1527 49 is_stmt 0 view .LVU615
 1797 00f2 0268     		ldr	r2, [r0]
 1798              		.loc 1 1527 81 view .LVU616
 1799 00f4 02EB0112 		add	r2, r2, r1, lsl #4
 1800 00f8 D2F8BC21 		ldr	r2, [r2, #444]
 1801              		.loc 1 1527 16 view .LVU617
 1802 00fc C2F30742 		ubfx	r2, r2, #16, #8
 1803              		.loc 1 1527 14 view .LVU618
 1804 0100 9A71     		strb	r2, [r3, #6]
1528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     aData[7] = (uint8_t)((CAN_RDH0R_DATA7 & hcan->Instance->sFIFOMailBox[RxFifo].RDHR) >> CAN_RDH0R
 1805              		.loc 1 1528 5 is_stmt 1 view .LVU619
 1806              		.loc 1 1528 49 is_stmt 0 view .LVU620
 1807 0102 0268     		ldr	r2, [r0]
 1808              		.loc 1 1528 81 view .LVU621
 1809 0104 02EB0112 		add	r2, r2, r1, lsl #4
 1810 0108 D2F8BC21 		ldr	r2, [r2, #444]
 1811              		.loc 1 1528 16 view .LVU622
 1812 010c 120E     		lsrs	r2, r2, #24
 1813              		.loc 1 1528 14 view .LVU623
 1814 010e DA71     		strb	r2, [r3, #7]
1529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* Release the FIFO */
1531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     if (RxFifo == CAN_RX_FIFO0) /* Rx element is assigned to Rx FIFO 0 */
 1815              		.loc 1 1531 5 is_stmt 1 view .LVU624
 1816              		.loc 1 1531 8 is_stmt 0 view .LVU625
 1817 0110 79B9     		cbnz	r1, .L135
1532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
1533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       /* Release RX FIFO 0 */
ARM GAS  /tmp/ccj1aKCo.s 			page 82


1534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       SET_BIT(hcan->Instance->RF0R, CAN_RF0R_RFOM0);
 1818              		.loc 1 1534 7 is_stmt 1 view .LVU626
 1819 0112 0268     		ldr	r2, [r0]
 1820 0114 D368     		ldr	r3, [r2, #12]
 1821              	.LVL132:
 1822              		.loc 1 1534 7 is_stmt 0 view .LVU627
 1823 0116 43F02003 		orr	r3, r3, #32
 1824 011a D360     		str	r3, [r2, #12]
 1825              	.L136:
1535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
1536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     else /* Rx element is assigned to Rx FIFO 1 */
1537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
1538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       /* Release RX FIFO 1 */
1539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       SET_BIT(hcan->Instance->RF1R, CAN_RF1R_RFOM1);
1540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
1541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* Return function status */
1543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     return HAL_OK;
 1826              		.loc 1 1543 5 is_stmt 1 view .LVU628
 1827              		.loc 1 1543 12 is_stmt 0 view .LVU629
 1828 011c 0020     		movs	r0, #0
 1829              	.LVL133:
 1830              	.L132:
1544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
1545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   else
1546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
1547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* Update error code */
1548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     hcan->ErrorCode |= HAL_CAN_ERROR_NOT_INITIALIZED;
1549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     return HAL_ERROR;
1551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
1552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
 1831              		.loc 1 1552 1 view .LVU630
 1832 011e 30BC     		pop	{r4, r5}
 1833              		.cfi_remember_state
 1834              		.cfi_restore 5
 1835              		.cfi_restore 4
 1836              		.cfi_def_cfa_offset 0
 1837 0120 7047     		bx	lr
 1838              	.LVL134:
 1839              	.L133:
 1840              		.cfi_restore_state
1513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
 1841              		.loc 1 1513 7 is_stmt 1 view .LVU631
1513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
 1842              		.loc 1 1513 95 is_stmt 0 view .LVU632
 1843 0122 01F11B04 		add	r4, r1, #27
 1844 0126 2401     		lsls	r4, r4, #4
 1845 0128 0568     		ldr	r5, [r0]
 1846 012a 2C59     		ldr	r4, [r5, r4]
1513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
 1847              		.loc 1 1513 101 view .LVU633
 1848 012c E408     		lsrs	r4, r4, #3
1513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
 1849              		.loc 1 1513 22 view .LVU634
 1850 012e 5460     		str	r4, [r2, #4]
 1851 0130 99E7     		b	.L134
ARM GAS  /tmp/ccj1aKCo.s 			page 83


 1852              	.LVL135:
 1853              	.L135:
1539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
 1854              		.loc 1 1539 7 is_stmt 1 view .LVU635
 1855 0132 0268     		ldr	r2, [r0]
 1856 0134 1369     		ldr	r3, [r2, #16]
 1857              	.LVL136:
1539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
 1858              		.loc 1 1539 7 is_stmt 0 view .LVU636
 1859 0136 43F02003 		orr	r3, r3, #32
 1860 013a 1361     		str	r3, [r2, #16]
 1861 013c EEE7     		b	.L136
 1862              	.LVL137:
 1863              	.L129:
 1864              		.cfi_def_cfa_offset 0
 1865              		.cfi_restore 4
 1866              		.cfi_restore 5
1548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 1867              		.loc 1 1548 5 is_stmt 1 view .LVU637
1548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 1868              		.loc 1 1548 9 is_stmt 0 view .LVU638
 1869 013e 436A     		ldr	r3, [r0, #36]
 1870              	.LVL138:
1548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 1871              		.loc 1 1548 21 view .LVU639
 1872 0140 43F48023 		orr	r3, r3, #262144
 1873 0144 4362     		str	r3, [r0, #36]
1550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
 1874              		.loc 1 1550 5 is_stmt 1 view .LVU640
1550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
 1875              		.loc 1 1550 12 is_stmt 0 view .LVU641
 1876 0146 0120     		movs	r0, #1
 1877              	.LVL139:
 1878              		.loc 1 1552 1 view .LVU642
 1879 0148 7047     		bx	lr
 1880              		.cfi_endproc
 1881              	.LFE145:
 1883              		.section	.text.HAL_CAN_GetRxFifoFillLevel,"ax",%progbits
 1884              		.align	1
 1885              		.global	HAL_CAN_GetRxFifoFillLevel
 1886              		.syntax unified
 1887              		.thumb
 1888              		.thumb_func
 1890              	HAL_CAN_GetRxFifoFillLevel:
 1891              	.LVL140:
 1892              	.LFB146:
1553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
1555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @brief  Return Rx FIFO fill level.
1556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @param  hcan pointer to an CAN_HandleTypeDef structure that contains
1557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *         the configuration information for the specified CAN.
1558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @param  RxFifo Rx FIFO.
1559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *         This parameter can be a value of @arg CAN_receive_FIFO_number.
1560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @retval Number of messages available in Rx FIFO.
1561:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   */
1562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t HAL_CAN_GetRxFifoFillLevel(CAN_HandleTypeDef *hcan, uint32_t RxFifo)
1563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
ARM GAS  /tmp/ccj1aKCo.s 			page 84


 1893              		.loc 1 1563 1 is_stmt 1 view -0
 1894              		.cfi_startproc
 1895              		@ args = 0, pretend = 0, frame = 0
 1896              		@ frame_needed = 0, uses_anonymous_args = 0
 1897              		@ link register save eliminated.
1564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   uint32_t filllevel = 0U;
 1898              		.loc 1 1564 3 view .LVU644
1565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   HAL_CAN_StateTypeDef state = hcan->State;
 1899              		.loc 1 1565 3 view .LVU645
 1900              		.loc 1 1565 24 is_stmt 0 view .LVU646
 1901 0000 90F82030 		ldrb	r3, [r0, #32]	@ zero_extendqisi2
 1902              	.LVL141:
1566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* Check function parameters */
1568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   assert_param(IS_CAN_RX_FIFO(RxFifo));
 1903              		.loc 1 1568 3 is_stmt 1 view .LVU647
1569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   if ((state == HAL_CAN_STATE_READY) ||
 1904              		.loc 1 1570 3 view .LVU648
 1905              		.loc 1 1570 38 is_stmt 0 view .LVU649
 1906 0004 013B     		subs	r3, r3, #1
 1907              	.LVL142:
 1908              		.loc 1 1570 38 view .LVU650
 1909 0006 DBB2     		uxtb	r3, r3
 1910              		.loc 1 1570 6 view .LVU651
 1911 0008 012B     		cmp	r3, #1
 1912 000a 01D9     		bls	.L145
1564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   HAL_CAN_StateTypeDef state = hcan->State;
 1913              		.loc 1 1564 12 view .LVU652
 1914 000c 0020     		movs	r0, #0
 1915              	.LVL143:
1571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       (state == HAL_CAN_STATE_LISTENING))
1572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
1573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     if (RxFifo == CAN_RX_FIFO0)
1574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
1575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       filllevel = hcan->Instance->RF0R & CAN_RF0R_FMP0;
1576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
1577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     else /* RxFifo == CAN_RX_FIFO1 */
1578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
1579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       filllevel = hcan->Instance->RF1R & CAN_RF1R_FMP1;
1580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
1581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
1582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* Return Rx FIFO fill level */
1584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   return filllevel;
 1916              		.loc 1 1584 3 is_stmt 1 view .LVU653
1585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
 1917              		.loc 1 1585 1 is_stmt 0 view .LVU654
 1918 000e 7047     		bx	lr
 1919              	.LVL144:
 1920              	.L145:
1573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 1921              		.loc 1 1573 5 is_stmt 1 view .LVU655
1573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 1922              		.loc 1 1573 8 is_stmt 0 view .LVU656
 1923 0010 21B9     		cbnz	r1, .L143
1575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
ARM GAS  /tmp/ccj1aKCo.s 			page 85


 1924              		.loc 1 1575 7 is_stmt 1 view .LVU657
1575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
 1925              		.loc 1 1575 23 is_stmt 0 view .LVU658
 1926 0012 0368     		ldr	r3, [r0]
1575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
 1927              		.loc 1 1575 33 view .LVU659
 1928 0014 D868     		ldr	r0, [r3, #12]
 1929              	.LVL145:
1575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
 1930              		.loc 1 1575 17 view .LVU660
 1931 0016 00F00300 		and	r0, r0, #3
 1932              	.LVL146:
1575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
 1933              		.loc 1 1575 17 view .LVU661
 1934 001a 7047     		bx	lr
 1935              	.LVL147:
 1936              	.L143:
1579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
 1937              		.loc 1 1579 7 is_stmt 1 view .LVU662
1579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
 1938              		.loc 1 1579 23 is_stmt 0 view .LVU663
 1939 001c 0368     		ldr	r3, [r0]
1579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
 1940              		.loc 1 1579 33 view .LVU664
 1941 001e 1869     		ldr	r0, [r3, #16]
 1942              	.LVL148:
1579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
 1943              		.loc 1 1579 17 view .LVU665
 1944 0020 00F00300 		and	r0, r0, #3
 1945              	.LVL149:
1579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
 1946              		.loc 1 1579 17 view .LVU666
 1947 0024 7047     		bx	lr
 1948              		.cfi_endproc
 1949              	.LFE146:
 1951              		.section	.text.HAL_CAN_ActivateNotification,"ax",%progbits
 1952              		.align	1
 1953              		.global	HAL_CAN_ActivateNotification
 1954              		.syntax unified
 1955              		.thumb
 1956              		.thumb_func
 1958              	HAL_CAN_ActivateNotification:
 1959              	.LVL150:
 1960              	.LFB147:
1586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
1588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @}
1589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   */
1590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /** @defgroup CAN_Exported_Functions_Group4 Interrupts management
1592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****  *  @brief    Interrupts management
1593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****  *
1594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** @verbatim
1595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   ==============================================================================
1596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****                        ##### Interrupts management #####
1597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   ==============================================================================
1598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     [..]  This section provides functions allowing to:
ARM GAS  /tmp/ccj1aKCo.s 			page 86


1599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       (+) HAL_CAN_ActivateNotification      : Enable interrupts
1600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       (+) HAL_CAN_DeactivateNotification    : Disable interrupts
1601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       (+) HAL_CAN_IRQHandler                : Handles CAN interrupt request
1602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** @endverbatim
1604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @{
1605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   */
1606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
1608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @brief  Enable interrupts.
1609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @param  hcan pointer to an CAN_HandleTypeDef structure that contains
1610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *         the configuration information for the specified CAN.
1611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @param  ActiveITs indicates which interrupts will be enabled.
1612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *         This parameter can be any combination of @arg CAN_Interrupts.
1613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @retval HAL status
1614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   */
1615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_ActivateNotification(CAN_HandleTypeDef *hcan, uint32_t ActiveITs)
1616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
 1961              		.loc 1 1616 1 is_stmt 1 view -0
 1962              		.cfi_startproc
 1963              		@ args = 0, pretend = 0, frame = 0
 1964              		@ frame_needed = 0, uses_anonymous_args = 0
 1965              		@ link register save eliminated.
1617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   HAL_CAN_StateTypeDef state = hcan->State;
 1966              		.loc 1 1617 3 view .LVU668
 1967              		.loc 1 1617 24 is_stmt 0 view .LVU669
 1968 0000 90F82030 		ldrb	r3, [r0, #32]	@ zero_extendqisi2
 1969              	.LVL151:
1618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* Check function parameters */
1620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   assert_param(IS_CAN_IT(ActiveITs));
 1970              		.loc 1 1620 3 is_stmt 1 view .LVU670
1621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   if ((state == HAL_CAN_STATE_READY) ||
 1971              		.loc 1 1622 3 view .LVU671
 1972              		.loc 1 1622 38 is_stmt 0 view .LVU672
 1973 0004 013B     		subs	r3, r3, #1
 1974              	.LVL152:
 1975              		.loc 1 1622 38 view .LVU673
 1976 0006 DBB2     		uxtb	r3, r3
 1977              		.loc 1 1622 6 view .LVU674
 1978 0008 012B     		cmp	r3, #1
 1979 000a 05D9     		bls	.L149
1623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       (state == HAL_CAN_STATE_LISTENING))
1624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
1625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* Enable the selected interrupts */
1626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     __HAL_CAN_ENABLE_IT(hcan, ActiveITs);
1627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* Return function status */
1629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     return HAL_OK;
1630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
1631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   else
1632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
1633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* Update error code */
1634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     hcan->ErrorCode |= HAL_CAN_ERROR_NOT_INITIALIZED;
 1980              		.loc 1 1634 5 is_stmt 1 view .LVU675
 1981              		.loc 1 1634 9 is_stmt 0 view .LVU676
ARM GAS  /tmp/ccj1aKCo.s 			page 87


 1982 000c 436A     		ldr	r3, [r0, #36]
 1983              		.loc 1 1634 21 view .LVU677
 1984 000e 43F48023 		orr	r3, r3, #262144
 1985 0012 4362     		str	r3, [r0, #36]
1635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     return HAL_ERROR;
 1986              		.loc 1 1636 5 is_stmt 1 view .LVU678
 1987              		.loc 1 1636 12 is_stmt 0 view .LVU679
 1988 0014 0120     		movs	r0, #1
 1989              	.LVL153:
1637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
1638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
 1990              		.loc 1 1638 1 view .LVU680
 1991 0016 7047     		bx	lr
 1992              	.LVL154:
 1993              	.L149:
1626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 1994              		.loc 1 1626 5 is_stmt 1 view .LVU681
 1995 0018 0268     		ldr	r2, [r0]
 1996 001a 5369     		ldr	r3, [r2, #20]
 1997 001c 0B43     		orrs	r3, r3, r1
 1998 001e 5361     		str	r3, [r2, #20]
1629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
 1999              		.loc 1 1629 5 view .LVU682
1629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
 2000              		.loc 1 1629 12 is_stmt 0 view .LVU683
 2001 0020 0020     		movs	r0, #0
 2002              	.LVL155:
1629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
 2003              		.loc 1 1629 12 view .LVU684
 2004 0022 7047     		bx	lr
 2005              		.cfi_endproc
 2006              	.LFE147:
 2008              		.section	.text.HAL_CAN_DeactivateNotification,"ax",%progbits
 2009              		.align	1
 2010              		.global	HAL_CAN_DeactivateNotification
 2011              		.syntax unified
 2012              		.thumb
 2013              		.thumb_func
 2015              	HAL_CAN_DeactivateNotification:
 2016              	.LVL156:
 2017              	.LFB148:
1639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
1641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @brief  Disable interrupts.
1642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @param  hcan pointer to an CAN_HandleTypeDef structure that contains
1643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *         the configuration information for the specified CAN.
1644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @param  InactiveITs indicates which interrupts will be disabled.
1645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *         This parameter can be any combination of @arg CAN_Interrupts.
1646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @retval HAL status
1647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   */
1648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_DeactivateNotification(CAN_HandleTypeDef *hcan, uint32_t InactiveITs)
1649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
 2018              		.loc 1 1649 1 is_stmt 1 view -0
 2019              		.cfi_startproc
 2020              		@ args = 0, pretend = 0, frame = 0
 2021              		@ frame_needed = 0, uses_anonymous_args = 0
ARM GAS  /tmp/ccj1aKCo.s 			page 88


 2022              		@ link register save eliminated.
1650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   HAL_CAN_StateTypeDef state = hcan->State;
 2023              		.loc 1 1650 3 view .LVU686
 2024              		.loc 1 1650 24 is_stmt 0 view .LVU687
 2025 0000 90F82030 		ldrb	r3, [r0, #32]	@ zero_extendqisi2
 2026              	.LVL157:
1651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* Check function parameters */
1653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   assert_param(IS_CAN_IT(InactiveITs));
 2027              		.loc 1 1653 3 is_stmt 1 view .LVU688
1654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   if ((state == HAL_CAN_STATE_READY) ||
 2028              		.loc 1 1655 3 view .LVU689
 2029              		.loc 1 1655 38 is_stmt 0 view .LVU690
 2030 0004 013B     		subs	r3, r3, #1
 2031              	.LVL158:
 2032              		.loc 1 1655 38 view .LVU691
 2033 0006 DBB2     		uxtb	r3, r3
 2034              		.loc 1 1655 6 view .LVU692
 2035 0008 012B     		cmp	r3, #1
 2036 000a 05D9     		bls	.L153
1656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       (state == HAL_CAN_STATE_LISTENING))
1657:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
1658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* Disable the selected interrupts */
1659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     __HAL_CAN_DISABLE_IT(hcan, InactiveITs);
1660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* Return function status */
1662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     return HAL_OK;
1663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
1664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   else
1665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
1666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* Update error code */
1667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     hcan->ErrorCode |= HAL_CAN_ERROR_NOT_INITIALIZED;
 2037              		.loc 1 1667 5 is_stmt 1 view .LVU693
 2038              		.loc 1 1667 9 is_stmt 0 view .LVU694
 2039 000c 436A     		ldr	r3, [r0, #36]
 2040              		.loc 1 1667 21 view .LVU695
 2041 000e 43F48023 		orr	r3, r3, #262144
 2042 0012 4362     		str	r3, [r0, #36]
1668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     return HAL_ERROR;
 2043              		.loc 1 1669 5 is_stmt 1 view .LVU696
 2044              		.loc 1 1669 12 is_stmt 0 view .LVU697
 2045 0014 0120     		movs	r0, #1
 2046              	.LVL159:
1670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
1671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
 2047              		.loc 1 1671 1 view .LVU698
 2048 0016 7047     		bx	lr
 2049              	.LVL160:
 2050              	.L153:
1659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 2051              		.loc 1 1659 5 is_stmt 1 view .LVU699
 2052 0018 0268     		ldr	r2, [r0]
 2053 001a 5369     		ldr	r3, [r2, #20]
 2054 001c 23EA0103 		bic	r3, r3, r1
 2055 0020 5361     		str	r3, [r2, #20]
ARM GAS  /tmp/ccj1aKCo.s 			page 89


1662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
 2056              		.loc 1 1662 5 view .LVU700
1662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
 2057              		.loc 1 1662 12 is_stmt 0 view .LVU701
 2058 0022 0020     		movs	r0, #0
 2059              	.LVL161:
1662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
 2060              		.loc 1 1662 12 view .LVU702
 2061 0024 7047     		bx	lr
 2062              		.cfi_endproc
 2063              	.LFE148:
 2065              		.section	.text.HAL_CAN_TxMailbox0CompleteCallback,"ax",%progbits
 2066              		.align	1
 2067              		.weak	HAL_CAN_TxMailbox0CompleteCallback
 2068              		.syntax unified
 2069              		.thumb
 2070              		.thumb_func
 2072              	HAL_CAN_TxMailbox0CompleteCallback:
 2073              	.LVL162:
 2074              	.LFB150:
1672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
1674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @brief  Handles CAN interrupt request
1675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @param  hcan pointer to a CAN_HandleTypeDef structure that contains
1676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *         the configuration information for the specified CAN.
1677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @retval None
1678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   */
1679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** void HAL_CAN_IRQHandler(CAN_HandleTypeDef *hcan)
1680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
1681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   uint32_t errorcode = HAL_CAN_ERROR_NONE;
1682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   uint32_t interrupts = READ_REG(hcan->Instance->IER);
1683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   uint32_t msrflags = READ_REG(hcan->Instance->MSR);
1684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   uint32_t tsrflags = READ_REG(hcan->Instance->TSR);
1685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   uint32_t rf0rflags = READ_REG(hcan->Instance->RF0R);
1686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   uint32_t rf1rflags = READ_REG(hcan->Instance->RF1R);
1687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   uint32_t esrflags = READ_REG(hcan->Instance->ESR);
1688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* Transmit Mailbox empty interrupt management *****************************/
1690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   if ((interrupts & CAN_IT_TX_MAILBOX_EMPTY) != 0U)
1691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
1692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* Transmit Mailbox 0 management *****************************************/
1693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     if ((tsrflags & CAN_TSR_RQCP0) != 0U)
1694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
1695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       /* Clear the Transmission Complete flag (and TXOK0,ALST0,TERR0 bits) */
1696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       __HAL_CAN_CLEAR_FLAG(hcan, CAN_FLAG_RQCP0);
1697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       if ((tsrflags & CAN_TSR_TXOK0) != 0U)
1699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       {
1700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         /* Transmission Mailbox 0 complete callback */
1701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
1702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         /* Call registered callback*/
1703:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         hcan->TxMailbox0CompleteCallback(hcan);
1704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #else
1705:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         /* Call weak (surcharged) callback */
1706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         HAL_CAN_TxMailbox0CompleteCallback(hcan);
1707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
1708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       }
ARM GAS  /tmp/ccj1aKCo.s 			page 90


1709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       else
1710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       {
1711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         if ((tsrflags & CAN_TSR_ALST0) != 0U)
1712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         {
1713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           /* Update error code */
1714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           errorcode |= HAL_CAN_ERROR_TX_ALST0;
1715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         }
1716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         else if ((tsrflags & CAN_TSR_TERR0) != 0U)
1717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         {
1718:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           /* Update error code */
1719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           errorcode |= HAL_CAN_ERROR_TX_TERR0;
1720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         }
1721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         else
1722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         {
1723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           /* Transmission Mailbox 0 abort callback */
1724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
1725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           /* Call registered callback*/
1726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           hcan->TxMailbox0AbortCallback(hcan);
1727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #else
1728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           /* Call weak (surcharged) callback */
1729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           HAL_CAN_TxMailbox0AbortCallback(hcan);
1730:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
1731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         }
1732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       }
1733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
1734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* Transmit Mailbox 1 management *****************************************/
1736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     if ((tsrflags & CAN_TSR_RQCP1) != 0U)
1737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
1738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       /* Clear the Transmission Complete flag (and TXOK1,ALST1,TERR1 bits) */
1739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       __HAL_CAN_CLEAR_FLAG(hcan, CAN_FLAG_RQCP1);
1740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       if ((tsrflags & CAN_TSR_TXOK1) != 0U)
1742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       {
1743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         /* Transmission Mailbox 1 complete callback */
1744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
1745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         /* Call registered callback*/
1746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         hcan->TxMailbox1CompleteCallback(hcan);
1747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #else
1748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         /* Call weak (surcharged) callback */
1749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         HAL_CAN_TxMailbox1CompleteCallback(hcan);
1750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
1751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       }
1752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       else
1753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       {
1754:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         if ((tsrflags & CAN_TSR_ALST1) != 0U)
1755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         {
1756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           /* Update error code */
1757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           errorcode |= HAL_CAN_ERROR_TX_ALST1;
1758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         }
1759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         else if ((tsrflags & CAN_TSR_TERR1) != 0U)
1760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         {
1761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           /* Update error code */
1762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           errorcode |= HAL_CAN_ERROR_TX_TERR1;
1763:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         }
1764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         else
1765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         {
ARM GAS  /tmp/ccj1aKCo.s 			page 91


1766:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           /* Transmission Mailbox 1 abort callback */
1767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
1768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           /* Call registered callback*/
1769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           hcan->TxMailbox1AbortCallback(hcan);
1770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #else
1771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           /* Call weak (surcharged) callback */
1772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           HAL_CAN_TxMailbox1AbortCallback(hcan);
1773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
1774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         }
1775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       }
1776:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
1777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* Transmit Mailbox 2 management *****************************************/
1779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     if ((tsrflags & CAN_TSR_RQCP2) != 0U)
1780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
1781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       /* Clear the Transmission Complete flag (and TXOK2,ALST2,TERR2 bits) */
1782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       __HAL_CAN_CLEAR_FLAG(hcan, CAN_FLAG_RQCP2);
1783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       if ((tsrflags & CAN_TSR_TXOK2) != 0U)
1785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       {
1786:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         /* Transmission Mailbox 2 complete callback */
1787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
1788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         /* Call registered callback*/
1789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         hcan->TxMailbox2CompleteCallback(hcan);
1790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #else
1791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         /* Call weak (surcharged) callback */
1792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         HAL_CAN_TxMailbox2CompleteCallback(hcan);
1793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
1794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       }
1795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       else
1796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       {
1797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         if ((tsrflags & CAN_TSR_ALST2) != 0U)
1798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         {
1799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           /* Update error code */
1800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           errorcode |= HAL_CAN_ERROR_TX_ALST2;
1801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         }
1802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         else if ((tsrflags & CAN_TSR_TERR2) != 0U)
1803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         {
1804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           /* Update error code */
1805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           errorcode |= HAL_CAN_ERROR_TX_TERR2;
1806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         }
1807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         else
1808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         {
1809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           /* Transmission Mailbox 2 abort callback */
1810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
1811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           /* Call registered callback*/
1812:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           hcan->TxMailbox2AbortCallback(hcan);
1813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #else
1814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           /* Call weak (surcharged) callback */
1815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           HAL_CAN_TxMailbox2AbortCallback(hcan);
1816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
1817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         }
1818:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       }
1819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
1820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
1821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* Receive FIFO 0 overrun interrupt management *****************************/
ARM GAS  /tmp/ccj1aKCo.s 			page 92


1823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   if ((interrupts & CAN_IT_RX_FIFO0_OVERRUN) != 0U)
1824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
1825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     if ((rf0rflags & CAN_RF0R_FOVR0) != 0U)
1826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
1827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       /* Set CAN error code to Rx Fifo 0 overrun error */
1828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       errorcode |= HAL_CAN_ERROR_RX_FOV0;
1829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       /* Clear FIFO0 Overrun Flag */
1831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       __HAL_CAN_CLEAR_FLAG(hcan, CAN_FLAG_FOV0);
1832:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
1833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
1834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* Receive FIFO 0 full interrupt management ********************************/
1836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   if ((interrupts & CAN_IT_RX_FIFO0_FULL) != 0U)
1837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
1838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     if ((rf0rflags & CAN_RF0R_FULL0) != 0U)
1839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
1840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       /* Clear FIFO 0 full Flag */
1841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       __HAL_CAN_CLEAR_FLAG(hcan, CAN_FLAG_FF0);
1842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       /* Receive FIFO 0 full Callback */
1844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
1845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       /* Call registered callback*/
1846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       hcan->RxFifo0FullCallback(hcan);
1847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #else
1848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       /* Call weak (surcharged) callback */
1849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       HAL_CAN_RxFifo0FullCallback(hcan);
1850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
1851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
1852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
1853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* Receive FIFO 0 message pending interrupt management *********************/
1855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   if ((interrupts & CAN_IT_RX_FIFO0_MSG_PENDING) != 0U)
1856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
1857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* Check if message is still pending */
1858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     if ((hcan->Instance->RF0R & CAN_RF0R_FMP0) != 0U)
1859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
1860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       /* Receive FIFO 0 message pending Callback */
1861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
1862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       /* Call registered callback*/
1863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       hcan->RxFifo0MsgPendingCallback(hcan);
1864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #else
1865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       /* Call weak (surcharged) callback */
1866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       HAL_CAN_RxFifo0MsgPendingCallback(hcan);
1867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
1868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
1869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
1870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* Receive FIFO 1 overrun interrupt management *****************************/
1872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   if ((interrupts & CAN_IT_RX_FIFO1_OVERRUN) != 0U)
1873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
1874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     if ((rf1rflags & CAN_RF1R_FOVR1) != 0U)
1875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
1876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       /* Set CAN error code to Rx Fifo 1 overrun error */
1877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       errorcode |= HAL_CAN_ERROR_RX_FOV1;
1878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       /* Clear FIFO1 Overrun Flag */
ARM GAS  /tmp/ccj1aKCo.s 			page 93


1880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       __HAL_CAN_CLEAR_FLAG(hcan, CAN_FLAG_FOV1);
1881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
1882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
1883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* Receive FIFO 1 full interrupt management ********************************/
1885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   if ((interrupts & CAN_IT_RX_FIFO1_FULL) != 0U)
1886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
1887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     if ((rf1rflags & CAN_RF1R_FULL1) != 0U)
1888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
1889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       /* Clear FIFO 1 full Flag */
1890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       __HAL_CAN_CLEAR_FLAG(hcan, CAN_FLAG_FF1);
1891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       /* Receive FIFO 1 full Callback */
1893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
1894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       /* Call registered callback*/
1895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       hcan->RxFifo1FullCallback(hcan);
1896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #else
1897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       /* Call weak (surcharged) callback */
1898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       HAL_CAN_RxFifo1FullCallback(hcan);
1899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
1900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
1901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
1902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* Receive FIFO 1 message pending interrupt management *********************/
1904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   if ((interrupts & CAN_IT_RX_FIFO1_MSG_PENDING) != 0U)
1905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
1906:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* Check if message is still pending */
1907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     if ((hcan->Instance->RF1R & CAN_RF1R_FMP1) != 0U)
1908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
1909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       /* Receive FIFO 1 message pending Callback */
1910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
1911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       /* Call registered callback*/
1912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       hcan->RxFifo1MsgPendingCallback(hcan);
1913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #else
1914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       /* Call weak (surcharged) callback */
1915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       HAL_CAN_RxFifo1MsgPendingCallback(hcan);
1916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
1917:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
1918:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
1919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* Sleep interrupt management *********************************************/
1921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   if ((interrupts & CAN_IT_SLEEP_ACK) != 0U)
1922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
1923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     if ((msrflags & CAN_MSR_SLAKI) != 0U)
1924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
1925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       /* Clear Sleep interrupt Flag */
1926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       __HAL_CAN_CLEAR_FLAG(hcan, CAN_FLAG_SLAKI);
1927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       /* Sleep Callback */
1929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
1930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       /* Call registered callback*/
1931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       hcan->SleepCallback(hcan);
1932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #else
1933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       /* Call weak (surcharged) callback */
1934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       HAL_CAN_SleepCallback(hcan);
1935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
1936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
ARM GAS  /tmp/ccj1aKCo.s 			page 94


1937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
1938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* WakeUp interrupt management *********************************************/
1940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   if ((interrupts & CAN_IT_WAKEUP) != 0U)
1941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
1942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     if ((msrflags & CAN_MSR_WKUI) != 0U)
1943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
1944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       /* Clear WakeUp Flag */
1945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       __HAL_CAN_CLEAR_FLAG(hcan, CAN_FLAG_WKU);
1946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       /* WakeUp Callback */
1948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
1949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       /* Call registered callback*/
1950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       hcan->WakeUpFromRxMsgCallback(hcan);
1951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #else
1952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       /* Call weak (surcharged) callback */
1953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       HAL_CAN_WakeUpFromRxMsgCallback(hcan);
1954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
1955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
1956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
1957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* Error interrupts management *********************************************/
1959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   if ((interrupts & CAN_IT_ERROR) != 0U)
1960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
1961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     if ((msrflags & CAN_MSR_ERRI) != 0U)
1962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
1963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       /* Check Error Warning Flag */
1964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       if (((interrupts & CAN_IT_ERROR_WARNING) != 0U) &&
1965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           ((esrflags & CAN_ESR_EWGF) != 0U))
1966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       {
1967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         /* Set CAN error code to Error Warning */
1968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         errorcode |= HAL_CAN_ERROR_EWG;
1969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         /* No need for clear of Error Warning Flag as read-only */
1971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       }
1972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       /* Check Error Passive Flag */
1974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       if (((interrupts & CAN_IT_ERROR_PASSIVE) != 0U) &&
1975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           ((esrflags & CAN_ESR_EPVF) != 0U))
1976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       {
1977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         /* Set CAN error code to Error Passive */
1978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         errorcode |= HAL_CAN_ERROR_EPV;
1979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         /* No need for clear of Error Passive Flag as read-only */
1981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       }
1982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       /* Check Bus-off Flag */
1984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       if (((interrupts & CAN_IT_BUSOFF) != 0U) &&
1985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           ((esrflags & CAN_ESR_BOFF) != 0U))
1986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       {
1987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         /* Set CAN error code to Bus-Off */
1988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         errorcode |= HAL_CAN_ERROR_BOF;
1989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         /* No need for clear of Error Bus-Off as read-only */
1991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       }
1992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
1993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       /* Check Last Error Code Flag */
ARM GAS  /tmp/ccj1aKCo.s 			page 95


1994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       if (((interrupts & CAN_IT_LAST_ERROR_CODE) != 0U) &&
1995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           ((esrflags & CAN_ESR_LEC) != 0U))
1996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       {
1997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         switch (esrflags & CAN_ESR_LEC)
1998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         {
1999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           case (CAN_ESR_LEC_0):
2000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****             /* Set CAN error code to Stuff error */
2001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****             errorcode |= HAL_CAN_ERROR_STF;
2002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****             break;
2003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           case (CAN_ESR_LEC_1):
2004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****             /* Set CAN error code to Form error */
2005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****             errorcode |= HAL_CAN_ERROR_FOR;
2006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****             break;
2007:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           case (CAN_ESR_LEC_1 | CAN_ESR_LEC_0):
2008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****             /* Set CAN error code to Acknowledgement error */
2009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****             errorcode |= HAL_CAN_ERROR_ACK;
2010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****             break;
2011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           case (CAN_ESR_LEC_2):
2012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****             /* Set CAN error code to Bit recessive error */
2013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****             errorcode |= HAL_CAN_ERROR_BR;
2014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****             break;
2015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           case (CAN_ESR_LEC_2 | CAN_ESR_LEC_0):
2016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****             /* Set CAN error code to Bit Dominant error */
2017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****             errorcode |= HAL_CAN_ERROR_BD;
2018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****             break;
2019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           case (CAN_ESR_LEC_2 | CAN_ESR_LEC_1):
2020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****             /* Set CAN error code to CRC error */
2021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****             errorcode |= HAL_CAN_ERROR_CRC;
2022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****             break;
2023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           default:
2024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****             break;
2025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         }
2026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
2027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         /* Clear Last error code Flag */
2028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         CLEAR_BIT(hcan->Instance->ESR, CAN_ESR_LEC);
2029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       }
2030:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
2031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
2032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* Clear ERRI Flag */
2033:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     __HAL_CAN_CLEAR_FLAG(hcan, CAN_FLAG_ERRI);
2034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
2035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
2036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* Call the Error call Back in case of Errors */
2037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   if (errorcode != HAL_CAN_ERROR_NONE)
2038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
2039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* Update error code in handle */
2040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     hcan->ErrorCode |= errorcode;
2041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
2042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* Call Error callback function */
2043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #if USE_HAL_CAN_REGISTER_CALLBACKS == 1
2044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* Call registered callback*/
2045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     hcan->ErrorCallback(hcan);
2046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #else
2047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* Call weak (surcharged) callback */
2048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     HAL_CAN_ErrorCallback(hcan);
2049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
2050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
ARM GAS  /tmp/ccj1aKCo.s 			page 96


2051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
2052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
2053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
2054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @}
2055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   */
2056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
2057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /** @defgroup CAN_Exported_Functions_Group5 Callback functions
2058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****  *  @brief   CAN Callback functions
2059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****  *
2060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** @verbatim
2061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   ==============================================================================
2062:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****                           ##### Callback functions #####
2063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   ==============================================================================
2064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     [..]
2065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     This subsection provides the following callback functions:
2066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       (+) HAL_CAN_TxMailbox0CompleteCallback
2067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       (+) HAL_CAN_TxMailbox1CompleteCallback
2068:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       (+) HAL_CAN_TxMailbox2CompleteCallback
2069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       (+) HAL_CAN_TxMailbox0AbortCallback
2070:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       (+) HAL_CAN_TxMailbox1AbortCallback
2071:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       (+) HAL_CAN_TxMailbox2AbortCallback
2072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       (+) HAL_CAN_RxFifo0MsgPendingCallback
2073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       (+) HAL_CAN_RxFifo0FullCallback
2074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       (+) HAL_CAN_RxFifo1MsgPendingCallback
2075:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       (+) HAL_CAN_RxFifo1FullCallback
2076:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       (+) HAL_CAN_SleepCallback
2077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       (+) HAL_CAN_WakeUpFromRxMsgCallback
2078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       (+) HAL_CAN_ErrorCallback
2079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
2080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** @endverbatim
2081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @{
2082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   */
2083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
2084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
2085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @brief  Transmission Mailbox 0 complete callback.
2086:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @param  hcan pointer to a CAN_HandleTypeDef structure that contains
2087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *         the configuration information for the specified CAN.
2088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @retval None
2089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   */
2090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __weak void HAL_CAN_TxMailbox0CompleteCallback(CAN_HandleTypeDef *hcan)
2091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
 2075              		.loc 1 2091 1 is_stmt 1 view -0
 2076              		.cfi_startproc
 2077              		@ args = 0, pretend = 0, frame = 0
 2078              		@ frame_needed = 0, uses_anonymous_args = 0
 2079              		@ link register save eliminated.
2092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* Prevent unused argument(s) compilation warning */
2093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   UNUSED(hcan);
 2080              		.loc 1 2093 3 view .LVU704
2094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
2095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* NOTE : This function Should not be modified, when the callback is needed,
2096:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****             the HAL_CAN_TxMailbox0CompleteCallback could be implemented in the
2097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****             user file
2098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****    */
2099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
 2081              		.loc 1 2099 1 is_stmt 0 view .LVU705
 2082 0000 7047     		bx	lr
ARM GAS  /tmp/ccj1aKCo.s 			page 97


 2083              		.cfi_endproc
 2084              	.LFE150:
 2086              		.section	.text.HAL_CAN_TxMailbox1CompleteCallback,"ax",%progbits
 2087              		.align	1
 2088              		.weak	HAL_CAN_TxMailbox1CompleteCallback
 2089              		.syntax unified
 2090              		.thumb
 2091              		.thumb_func
 2093              	HAL_CAN_TxMailbox1CompleteCallback:
 2094              	.LVL163:
 2095              	.LFB151:
2100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
2101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
2102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @brief  Transmission Mailbox 1 complete callback.
2103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @param  hcan pointer to a CAN_HandleTypeDef structure that contains
2104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *         the configuration information for the specified CAN.
2105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @retval None
2106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   */
2107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __weak void HAL_CAN_TxMailbox1CompleteCallback(CAN_HandleTypeDef *hcan)
2108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
 2096              		.loc 1 2108 1 is_stmt 1 view -0
 2097              		.cfi_startproc
 2098              		@ args = 0, pretend = 0, frame = 0
 2099              		@ frame_needed = 0, uses_anonymous_args = 0
 2100              		@ link register save eliminated.
2109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* Prevent unused argument(s) compilation warning */
2110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   UNUSED(hcan);
 2101              		.loc 1 2110 3 view .LVU707
2111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
2112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* NOTE : This function Should not be modified, when the callback is needed,
2113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****             the HAL_CAN_TxMailbox1CompleteCallback could be implemented in the
2114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****             user file
2115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****    */
2116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
 2102              		.loc 1 2116 1 is_stmt 0 view .LVU708
 2103 0000 7047     		bx	lr
 2104              		.cfi_endproc
 2105              	.LFE151:
 2107              		.section	.text.HAL_CAN_TxMailbox2CompleteCallback,"ax",%progbits
 2108              		.align	1
 2109              		.weak	HAL_CAN_TxMailbox2CompleteCallback
 2110              		.syntax unified
 2111              		.thumb
 2112              		.thumb_func
 2114              	HAL_CAN_TxMailbox2CompleteCallback:
 2115              	.LVL164:
 2116              	.LFB152:
2117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
2118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
2119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @brief  Transmission Mailbox 2 complete callback.
2120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @param  hcan pointer to a CAN_HandleTypeDef structure that contains
2121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *         the configuration information for the specified CAN.
2122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @retval None
2123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   */
2124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __weak void HAL_CAN_TxMailbox2CompleteCallback(CAN_HandleTypeDef *hcan)
2125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
 2117              		.loc 1 2125 1 is_stmt 1 view -0
ARM GAS  /tmp/ccj1aKCo.s 			page 98


 2118              		.cfi_startproc
 2119              		@ args = 0, pretend = 0, frame = 0
 2120              		@ frame_needed = 0, uses_anonymous_args = 0
 2121              		@ link register save eliminated.
2126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* Prevent unused argument(s) compilation warning */
2127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   UNUSED(hcan);
 2122              		.loc 1 2127 3 view .LVU710
2128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
2129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* NOTE : This function Should not be modified, when the callback is needed,
2130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****             the HAL_CAN_TxMailbox2CompleteCallback could be implemented in the
2131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****             user file
2132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****    */
2133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
 2123              		.loc 1 2133 1 is_stmt 0 view .LVU711
 2124 0000 7047     		bx	lr
 2125              		.cfi_endproc
 2126              	.LFE152:
 2128              		.section	.text.HAL_CAN_TxMailbox0AbortCallback,"ax",%progbits
 2129              		.align	1
 2130              		.weak	HAL_CAN_TxMailbox0AbortCallback
 2131              		.syntax unified
 2132              		.thumb
 2133              		.thumb_func
 2135              	HAL_CAN_TxMailbox0AbortCallback:
 2136              	.LVL165:
 2137              	.LFB153:
2134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
2135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
2136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @brief  Transmission Mailbox 0 Cancellation callback.
2137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @param  hcan pointer to an CAN_HandleTypeDef structure that contains
2138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *         the configuration information for the specified CAN.
2139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @retval None
2140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   */
2141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __weak void HAL_CAN_TxMailbox0AbortCallback(CAN_HandleTypeDef *hcan)
2142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
 2138              		.loc 1 2142 1 is_stmt 1 view -0
 2139              		.cfi_startproc
 2140              		@ args = 0, pretend = 0, frame = 0
 2141              		@ frame_needed = 0, uses_anonymous_args = 0
 2142              		@ link register save eliminated.
2143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* Prevent unused argument(s) compilation warning */
2144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   UNUSED(hcan);
 2143              		.loc 1 2144 3 view .LVU713
2145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
2146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* NOTE : This function Should not be modified, when the callback is needed,
2147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****             the HAL_CAN_TxMailbox0AbortCallback could be implemented in the
2148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****             user file
2149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****    */
2150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
 2144              		.loc 1 2150 1 is_stmt 0 view .LVU714
 2145 0000 7047     		bx	lr
 2146              		.cfi_endproc
 2147              	.LFE153:
 2149              		.section	.text.HAL_CAN_TxMailbox1AbortCallback,"ax",%progbits
 2150              		.align	1
 2151              		.weak	HAL_CAN_TxMailbox1AbortCallback
 2152              		.syntax unified
ARM GAS  /tmp/ccj1aKCo.s 			page 99


 2153              		.thumb
 2154              		.thumb_func
 2156              	HAL_CAN_TxMailbox1AbortCallback:
 2157              	.LVL166:
 2158              	.LFB154:
2151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
2152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
2153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @brief  Transmission Mailbox 1 Cancellation callback.
2154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @param  hcan pointer to an CAN_HandleTypeDef structure that contains
2155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *         the configuration information for the specified CAN.
2156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @retval None
2157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   */
2158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __weak void HAL_CAN_TxMailbox1AbortCallback(CAN_HandleTypeDef *hcan)
2159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
 2159              		.loc 1 2159 1 is_stmt 1 view -0
 2160              		.cfi_startproc
 2161              		@ args = 0, pretend = 0, frame = 0
 2162              		@ frame_needed = 0, uses_anonymous_args = 0
 2163              		@ link register save eliminated.
2160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* Prevent unused argument(s) compilation warning */
2161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   UNUSED(hcan);
 2164              		.loc 1 2161 3 view .LVU716
2162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
2163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* NOTE : This function Should not be modified, when the callback is needed,
2164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****             the HAL_CAN_TxMailbox1AbortCallback could be implemented in the
2165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****             user file
2166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****    */
2167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
 2165              		.loc 1 2167 1 is_stmt 0 view .LVU717
 2166 0000 7047     		bx	lr
 2167              		.cfi_endproc
 2168              	.LFE154:
 2170              		.section	.text.HAL_CAN_TxMailbox2AbortCallback,"ax",%progbits
 2171              		.align	1
 2172              		.weak	HAL_CAN_TxMailbox2AbortCallback
 2173              		.syntax unified
 2174              		.thumb
 2175              		.thumb_func
 2177              	HAL_CAN_TxMailbox2AbortCallback:
 2178              	.LVL167:
 2179              	.LFB155:
2168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
2169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
2170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @brief  Transmission Mailbox 2 Cancellation callback.
2171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @param  hcan pointer to an CAN_HandleTypeDef structure that contains
2172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *         the configuration information for the specified CAN.
2173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @retval None
2174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   */
2175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __weak void HAL_CAN_TxMailbox2AbortCallback(CAN_HandleTypeDef *hcan)
2176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
 2180              		.loc 1 2176 1 is_stmt 1 view -0
 2181              		.cfi_startproc
 2182              		@ args = 0, pretend = 0, frame = 0
 2183              		@ frame_needed = 0, uses_anonymous_args = 0
 2184              		@ link register save eliminated.
2177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* Prevent unused argument(s) compilation warning */
2178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   UNUSED(hcan);
ARM GAS  /tmp/ccj1aKCo.s 			page 100


 2185              		.loc 1 2178 3 view .LVU719
2179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
2180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* NOTE : This function Should not be modified, when the callback is needed,
2181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****             the HAL_CAN_TxMailbox2AbortCallback could be implemented in the
2182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****             user file
2183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****    */
2184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
 2186              		.loc 1 2184 1 is_stmt 0 view .LVU720
 2187 0000 7047     		bx	lr
 2188              		.cfi_endproc
 2189              	.LFE155:
 2191              		.section	.text.HAL_CAN_RxFifo0MsgPendingCallback,"ax",%progbits
 2192              		.align	1
 2193              		.weak	HAL_CAN_RxFifo0MsgPendingCallback
 2194              		.syntax unified
 2195              		.thumb
 2196              		.thumb_func
 2198              	HAL_CAN_RxFifo0MsgPendingCallback:
 2199              	.LVL168:
 2200              	.LFB156:
2185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
2186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
2187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @brief  Rx FIFO 0 message pending callback.
2188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @param  hcan pointer to a CAN_HandleTypeDef structure that contains
2189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *         the configuration information for the specified CAN.
2190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @retval None
2191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   */
2192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __weak void HAL_CAN_RxFifo0MsgPendingCallback(CAN_HandleTypeDef *hcan)
2193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
 2201              		.loc 1 2193 1 is_stmt 1 view -0
 2202              		.cfi_startproc
 2203              		@ args = 0, pretend = 0, frame = 0
 2204              		@ frame_needed = 0, uses_anonymous_args = 0
 2205              		@ link register save eliminated.
2194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* Prevent unused argument(s) compilation warning */
2195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   UNUSED(hcan);
 2206              		.loc 1 2195 3 view .LVU722
2196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
2197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* NOTE : This function Should not be modified, when the callback is needed,
2198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****             the HAL_CAN_RxFifo0MsgPendingCallback could be implemented in the
2199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****             user file
2200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****    */
2201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
 2207              		.loc 1 2201 1 is_stmt 0 view .LVU723
 2208 0000 7047     		bx	lr
 2209              		.cfi_endproc
 2210              	.LFE156:
 2212              		.section	.text.HAL_CAN_RxFifo0FullCallback,"ax",%progbits
 2213              		.align	1
 2214              		.weak	HAL_CAN_RxFifo0FullCallback
 2215              		.syntax unified
 2216              		.thumb
 2217              		.thumb_func
 2219              	HAL_CAN_RxFifo0FullCallback:
 2220              	.LVL169:
 2221              	.LFB157:
2202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
ARM GAS  /tmp/ccj1aKCo.s 			page 101


2203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
2204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @brief  Rx FIFO 0 full callback.
2205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @param  hcan pointer to a CAN_HandleTypeDef structure that contains
2206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *         the configuration information for the specified CAN.
2207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @retval None
2208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   */
2209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __weak void HAL_CAN_RxFifo0FullCallback(CAN_HandleTypeDef *hcan)
2210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
 2222              		.loc 1 2210 1 is_stmt 1 view -0
 2223              		.cfi_startproc
 2224              		@ args = 0, pretend = 0, frame = 0
 2225              		@ frame_needed = 0, uses_anonymous_args = 0
 2226              		@ link register save eliminated.
2211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* Prevent unused argument(s) compilation warning */
2212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   UNUSED(hcan);
 2227              		.loc 1 2212 3 view .LVU725
2213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
2214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* NOTE : This function Should not be modified, when the callback is needed,
2215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****             the HAL_CAN_RxFifo0FullCallback could be implemented in the user
2216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****             file
2217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****    */
2218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
 2228              		.loc 1 2218 1 is_stmt 0 view .LVU726
 2229 0000 7047     		bx	lr
 2230              		.cfi_endproc
 2231              	.LFE157:
 2233              		.section	.text.HAL_CAN_RxFifo1MsgPendingCallback,"ax",%progbits
 2234              		.align	1
 2235              		.weak	HAL_CAN_RxFifo1MsgPendingCallback
 2236              		.syntax unified
 2237              		.thumb
 2238              		.thumb_func
 2240              	HAL_CAN_RxFifo1MsgPendingCallback:
 2241              	.LVL170:
 2242              	.LFB158:
2219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
2220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
2221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @brief  Rx FIFO 1 message pending callback.
2222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @param  hcan pointer to a CAN_HandleTypeDef structure that contains
2223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *         the configuration information for the specified CAN.
2224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @retval None
2225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   */
2226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __weak void HAL_CAN_RxFifo1MsgPendingCallback(CAN_HandleTypeDef *hcan)
2227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
 2243              		.loc 1 2227 1 is_stmt 1 view -0
 2244              		.cfi_startproc
 2245              		@ args = 0, pretend = 0, frame = 0
 2246              		@ frame_needed = 0, uses_anonymous_args = 0
 2247              		@ link register save eliminated.
2228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* Prevent unused argument(s) compilation warning */
2229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   UNUSED(hcan);
 2248              		.loc 1 2229 3 view .LVU728
2230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
2231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* NOTE : This function Should not be modified, when the callback is needed,
2232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****             the HAL_CAN_RxFifo1MsgPendingCallback could be implemented in the
2233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****             user file
2234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****    */
ARM GAS  /tmp/ccj1aKCo.s 			page 102


2235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
 2249              		.loc 1 2235 1 is_stmt 0 view .LVU729
 2250 0000 7047     		bx	lr
 2251              		.cfi_endproc
 2252              	.LFE158:
 2254              		.section	.text.HAL_CAN_RxFifo1FullCallback,"ax",%progbits
 2255              		.align	1
 2256              		.weak	HAL_CAN_RxFifo1FullCallback
 2257              		.syntax unified
 2258              		.thumb
 2259              		.thumb_func
 2261              	HAL_CAN_RxFifo1FullCallback:
 2262              	.LVL171:
 2263              	.LFB159:
2236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
2237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
2238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @brief  Rx FIFO 1 full callback.
2239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @param  hcan pointer to a CAN_HandleTypeDef structure that contains
2240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *         the configuration information for the specified CAN.
2241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @retval None
2242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   */
2243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __weak void HAL_CAN_RxFifo1FullCallback(CAN_HandleTypeDef *hcan)
2244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
 2264              		.loc 1 2244 1 is_stmt 1 view -0
 2265              		.cfi_startproc
 2266              		@ args = 0, pretend = 0, frame = 0
 2267              		@ frame_needed = 0, uses_anonymous_args = 0
 2268              		@ link register save eliminated.
2245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* Prevent unused argument(s) compilation warning */
2246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   UNUSED(hcan);
 2269              		.loc 1 2246 3 view .LVU731
2247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
2248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* NOTE : This function Should not be modified, when the callback is needed,
2249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****             the HAL_CAN_RxFifo1FullCallback could be implemented in the user
2250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****             file
2251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****    */
2252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
 2270              		.loc 1 2252 1 is_stmt 0 view .LVU732
 2271 0000 7047     		bx	lr
 2272              		.cfi_endproc
 2273              	.LFE159:
 2275              		.section	.text.HAL_CAN_SleepCallback,"ax",%progbits
 2276              		.align	1
 2277              		.weak	HAL_CAN_SleepCallback
 2278              		.syntax unified
 2279              		.thumb
 2280              		.thumb_func
 2282              	HAL_CAN_SleepCallback:
 2283              	.LVL172:
 2284              	.LFB160:
2253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
2254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
2255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @brief  Sleep callback.
2256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @param  hcan pointer to a CAN_HandleTypeDef structure that contains
2257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *         the configuration information for the specified CAN.
2258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @retval None
2259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   */
ARM GAS  /tmp/ccj1aKCo.s 			page 103


2260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __weak void HAL_CAN_SleepCallback(CAN_HandleTypeDef *hcan)
2261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
 2285              		.loc 1 2261 1 is_stmt 1 view -0
 2286              		.cfi_startproc
 2287              		@ args = 0, pretend = 0, frame = 0
 2288              		@ frame_needed = 0, uses_anonymous_args = 0
 2289              		@ link register save eliminated.
2262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* Prevent unused argument(s) compilation warning */
2263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   UNUSED(hcan);
 2290              		.loc 1 2263 3 view .LVU734
2264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
2265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* NOTE : This function Should not be modified, when the callback is needed,
2266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****             the HAL_CAN_SleepCallback could be implemented in the user file
2267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****    */
2268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
 2291              		.loc 1 2268 1 is_stmt 0 view .LVU735
 2292 0000 7047     		bx	lr
 2293              		.cfi_endproc
 2294              	.LFE160:
 2296              		.section	.text.HAL_CAN_WakeUpFromRxMsgCallback,"ax",%progbits
 2297              		.align	1
 2298              		.weak	HAL_CAN_WakeUpFromRxMsgCallback
 2299              		.syntax unified
 2300              		.thumb
 2301              		.thumb_func
 2303              	HAL_CAN_WakeUpFromRxMsgCallback:
 2304              	.LVL173:
 2305              	.LFB161:
2269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
2270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
2271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @brief  WakeUp from Rx message callback.
2272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @param  hcan pointer to a CAN_HandleTypeDef structure that contains
2273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *         the configuration information for the specified CAN.
2274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @retval None
2275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   */
2276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __weak void HAL_CAN_WakeUpFromRxMsgCallback(CAN_HandleTypeDef *hcan)
2277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
 2306              		.loc 1 2277 1 is_stmt 1 view -0
 2307              		.cfi_startproc
 2308              		@ args = 0, pretend = 0, frame = 0
 2309              		@ frame_needed = 0, uses_anonymous_args = 0
 2310              		@ link register save eliminated.
2278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* Prevent unused argument(s) compilation warning */
2279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   UNUSED(hcan);
 2311              		.loc 1 2279 3 view .LVU737
2280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
2281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* NOTE : This function Should not be modified, when the callback is needed,
2282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****             the HAL_CAN_WakeUpFromRxMsgCallback could be implemented in the
2283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****             user file
2284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****    */
2285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
 2312              		.loc 1 2285 1 is_stmt 0 view .LVU738
 2313 0000 7047     		bx	lr
 2314              		.cfi_endproc
 2315              	.LFE161:
 2317              		.section	.text.HAL_CAN_ErrorCallback,"ax",%progbits
 2318              		.align	1
ARM GAS  /tmp/ccj1aKCo.s 			page 104


 2319              		.weak	HAL_CAN_ErrorCallback
 2320              		.syntax unified
 2321              		.thumb
 2322              		.thumb_func
 2324              	HAL_CAN_ErrorCallback:
 2325              	.LVL174:
 2326              	.LFB162:
2286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
2287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
2288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @brief  Error CAN callback.
2289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @param  hcan pointer to a CAN_HandleTypeDef structure that contains
2290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *         the configuration information for the specified CAN.
2291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @retval None
2292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   */
2293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** __weak void HAL_CAN_ErrorCallback(CAN_HandleTypeDef *hcan)
2294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
 2327              		.loc 1 2294 1 is_stmt 1 view -0
 2328              		.cfi_startproc
 2329              		@ args = 0, pretend = 0, frame = 0
 2330              		@ frame_needed = 0, uses_anonymous_args = 0
 2331              		@ link register save eliminated.
2295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* Prevent unused argument(s) compilation warning */
2296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   UNUSED(hcan);
 2332              		.loc 1 2296 3 view .LVU740
2297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
2298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* NOTE : This function Should not be modified, when the callback is needed,
2299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****             the HAL_CAN_ErrorCallback could be implemented in the user file
2300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****    */
2301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
 2333              		.loc 1 2301 1 is_stmt 0 view .LVU741
 2334 0000 7047     		bx	lr
 2335              		.cfi_endproc
 2336              	.LFE162:
 2338              		.section	.text.HAL_CAN_IRQHandler,"ax",%progbits
 2339              		.align	1
 2340              		.global	HAL_CAN_IRQHandler
 2341              		.syntax unified
 2342              		.thumb
 2343              		.thumb_func
 2345              	HAL_CAN_IRQHandler:
 2346              	.LVL175:
 2347              	.LFB149:
1680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   uint32_t errorcode = HAL_CAN_ERROR_NONE;
 2348              		.loc 1 1680 1 is_stmt 1 view -0
 2349              		.cfi_startproc
 2350              		@ args = 0, pretend = 0, frame = 0
 2351              		@ frame_needed = 0, uses_anonymous_args = 0
1680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   uint32_t errorcode = HAL_CAN_ERROR_NONE;
 2352              		.loc 1 1680 1 is_stmt 0 view .LVU743
 2353 0000 2DE9F84F 		push	{r3, r4, r5, r6, r7, r8, r9, r10, fp, lr}
 2354              		.cfi_def_cfa_offset 40
 2355              		.cfi_offset 3, -40
 2356              		.cfi_offset 4, -36
 2357              		.cfi_offset 5, -32
 2358              		.cfi_offset 6, -28
 2359              		.cfi_offset 7, -24
 2360              		.cfi_offset 8, -20
ARM GAS  /tmp/ccj1aKCo.s 			page 105


 2361              		.cfi_offset 9, -16
 2362              		.cfi_offset 10, -12
 2363              		.cfi_offset 11, -8
 2364              		.cfi_offset 14, -4
 2365 0004 0546     		mov	r5, r0
1681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   uint32_t interrupts = READ_REG(hcan->Instance->IER);
 2366              		.loc 1 1681 3 is_stmt 1 view .LVU744
 2367              	.LVL176:
1682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   uint32_t msrflags = READ_REG(hcan->Instance->MSR);
 2368              		.loc 1 1682 3 view .LVU745
1682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   uint32_t msrflags = READ_REG(hcan->Instance->MSR);
 2369              		.loc 1 1682 25 is_stmt 0 view .LVU746
 2370 0006 0368     		ldr	r3, [r0]
1682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   uint32_t msrflags = READ_REG(hcan->Instance->MSR);
 2371              		.loc 1 1682 12 view .LVU747
 2372 0008 5C69     		ldr	r4, [r3, #20]
 2373              	.LVL177:
1683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   uint32_t tsrflags = READ_REG(hcan->Instance->TSR);
 2374              		.loc 1 1683 3 is_stmt 1 view .LVU748
1683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   uint32_t tsrflags = READ_REG(hcan->Instance->TSR);
 2375              		.loc 1 1683 12 is_stmt 0 view .LVU749
 2376 000a D3F80480 		ldr	r8, [r3, #4]
 2377              	.LVL178:
1684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   uint32_t rf0rflags = READ_REG(hcan->Instance->RF0R);
 2378              		.loc 1 1684 3 is_stmt 1 view .LVU750
1684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   uint32_t rf0rflags = READ_REG(hcan->Instance->RF0R);
 2379              		.loc 1 1684 12 is_stmt 0 view .LVU751
 2380 000e 9F68     		ldr	r7, [r3, #8]
 2381              	.LVL179:
1685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   uint32_t rf1rflags = READ_REG(hcan->Instance->RF1R);
 2382              		.loc 1 1685 3 is_stmt 1 view .LVU752
1685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   uint32_t rf1rflags = READ_REG(hcan->Instance->RF1R);
 2383              		.loc 1 1685 12 is_stmt 0 view .LVU753
 2384 0010 D3F80CB0 		ldr	fp, [r3, #12]
 2385              	.LVL180:
1686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   uint32_t esrflags = READ_REG(hcan->Instance->ESR);
 2386              		.loc 1 1686 3 is_stmt 1 view .LVU754
1686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   uint32_t esrflags = READ_REG(hcan->Instance->ESR);
 2387              		.loc 1 1686 12 is_stmt 0 view .LVU755
 2388 0014 D3F810A0 		ldr	r10, [r3, #16]
 2389              	.LVL181:
1687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 2390              		.loc 1 1687 3 is_stmt 1 view .LVU756
1687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 2391              		.loc 1 1687 12 is_stmt 0 view .LVU757
 2392 0018 D3F81890 		ldr	r9, [r3, #24]
 2393              	.LVL182:
1690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
 2394              		.loc 1 1690 3 is_stmt 1 view .LVU758
1690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
 2395              		.loc 1 1690 6 is_stmt 0 view .LVU759
 2396 001c 14F00106 		ands	r6, r4, #1
 2397 0020 3BD0     		beq	.L168
1693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 2398              		.loc 1 1693 5 is_stmt 1 view .LVU760
1693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 2399              		.loc 1 1693 8 is_stmt 0 view .LVU761
ARM GAS  /tmp/ccj1aKCo.s 			page 106


 2400 0022 17F00106 		ands	r6, r7, #1
 2401 0026 16D0     		beq	.L169
1696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 2402              		.loc 1 1696 7 is_stmt 1 view .LVU762
 2403 0028 0122     		movs	r2, #1
 2404 002a 9A60     		str	r2, [r3, #8]
1698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       {
 2405              		.loc 1 1698 7 view .LVU763
1698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       {
 2406              		.loc 1 1698 10 is_stmt 0 view .LVU764
 2407 002c 17F0020F 		tst	r7, #2
 2408 0030 08D1     		bne	.L203
1711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         {
 2409              		.loc 1 1711 9 is_stmt 1 view .LVU765
1711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         {
 2410              		.loc 1 1711 12 is_stmt 0 view .LVU766
 2411 0032 17F0040F 		tst	r7, #4
 2412 0036 0CD1     		bne	.L200
1716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         {
 2413              		.loc 1 1716 14 is_stmt 1 view .LVU767
1716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         {
 2414              		.loc 1 1716 17 is_stmt 0 view .LVU768
 2415 0038 17F00806 		ands	r6, r7, #8
 2416 003c 06D0     		beq	.L204
1719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         }
 2417              		.loc 1 1719 21 view .LVU769
 2418 003e 4FF48056 		mov	r6, #4096
 2419 0042 08E0     		b	.L169
 2420              	.L203:
1706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
 2421              		.loc 1 1706 9 is_stmt 1 view .LVU770
 2422 0044 FFF7FEFF 		bl	HAL_CAN_TxMailbox0CompleteCallback
 2423              	.LVL183:
1681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   uint32_t interrupts = READ_REG(hcan->Instance->IER);
 2424              		.loc 1 1681 12 is_stmt 0 view .LVU771
 2425 0048 0026     		movs	r6, #0
 2426 004a 04E0     		b	.L169
 2427              	.LVL184:
 2428              	.L204:
1729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
 2429              		.loc 1 1729 11 is_stmt 1 view .LVU772
 2430 004c FFF7FEFF 		bl	HAL_CAN_TxMailbox0AbortCallback
 2431              	.LVL185:
1729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
 2432              		.loc 1 1729 11 is_stmt 0 view .LVU773
 2433 0050 01E0     		b	.L169
 2434              	.LVL186:
 2435              	.L200:
1714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         }
 2436              		.loc 1 1714 21 view .LVU774
 2437 0052 4FF40066 		mov	r6, #2048
 2438              	.LVL187:
 2439              	.L169:
1736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 2440              		.loc 1 1736 5 is_stmt 1 view .LVU775
1736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 2441              		.loc 1 1736 8 is_stmt 0 view .LVU776
ARM GAS  /tmp/ccj1aKCo.s 			page 107


 2442 0056 17F4807F 		tst	r7, #256
 2443 005a 0DD0     		beq	.L171
1739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 2444              		.loc 1 1739 7 is_stmt 1 view .LVU777
 2445 005c 2B68     		ldr	r3, [r5]
 2446 005e 4FF48072 		mov	r2, #256
 2447 0062 9A60     		str	r2, [r3, #8]
1741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       {
 2448              		.loc 1 1741 7 view .LVU778
1741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       {
 2449              		.loc 1 1741 10 is_stmt 0 view .LVU779
 2450 0064 17F4007F 		tst	r7, #512
 2451 0068 40F08680 		bne	.L205
1754:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         {
 2452              		.loc 1 1754 9 is_stmt 1 view .LVU780
1754:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         {
 2453              		.loc 1 1754 12 is_stmt 0 view .LVU781
 2454 006c 17F4806F 		tst	r7, #1024
 2455 0070 00F08680 		beq	.L173
1757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         }
 2456              		.loc 1 1757 11 is_stmt 1 view .LVU782
1757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         }
 2457              		.loc 1 1757 21 is_stmt 0 view .LVU783
 2458 0074 46F40056 		orr	r6, r6, #8192
 2459              	.LVL188:
 2460              	.L171:
1779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 2461              		.loc 1 1779 5 is_stmt 1 view .LVU784
1779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 2462              		.loc 1 1779 8 is_stmt 0 view .LVU785
 2463 0078 17F4803F 		tst	r7, #65536
 2464 007c 0DD0     		beq	.L168
1782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 2465              		.loc 1 1782 7 is_stmt 1 view .LVU786
 2466 007e 2B68     		ldr	r3, [r5]
 2467 0080 4FF48032 		mov	r2, #65536
 2468 0084 9A60     		str	r2, [r3, #8]
1784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       {
 2469              		.loc 1 1784 7 view .LVU787
1784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       {
 2470              		.loc 1 1784 10 is_stmt 0 view .LVU788
 2471 0086 17F4003F 		tst	r7, #131072
 2472 008a 40F08380 		bne	.L206
1797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         {
 2473              		.loc 1 1797 9 is_stmt 1 view .LVU789
1797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         {
 2474              		.loc 1 1797 12 is_stmt 0 view .LVU790
 2475 008e 17F4802F 		tst	r7, #262144
 2476 0092 00F08380 		beq	.L176
1800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         }
 2477              		.loc 1 1800 11 is_stmt 1 view .LVU791
1800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         }
 2478              		.loc 1 1800 21 is_stmt 0 view .LVU792
 2479 0096 46F40046 		orr	r6, r6, #32768
 2480              	.LVL189:
 2481              	.L168:
1823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
ARM GAS  /tmp/ccj1aKCo.s 			page 108


 2482              		.loc 1 1823 3 is_stmt 1 view .LVU793
1823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
 2483              		.loc 1 1823 6 is_stmt 0 view .LVU794
 2484 009a 14F0080F 		tst	r4, #8
 2485 009e 07D0     		beq	.L178
1825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 2486              		.loc 1 1825 5 is_stmt 1 view .LVU795
1825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 2487              		.loc 1 1825 8 is_stmt 0 view .LVU796
 2488 00a0 1BF0100F 		tst	fp, #16
 2489 00a4 04D0     		beq	.L178
1828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 2490              		.loc 1 1828 7 is_stmt 1 view .LVU797
1828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 2491              		.loc 1 1828 17 is_stmt 0 view .LVU798
 2492 00a6 46F40076 		orr	r6, r6, #512
 2493              	.LVL190:
1831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
 2494              		.loc 1 1831 7 is_stmt 1 view .LVU799
 2495 00aa 2B68     		ldr	r3, [r5]
 2496 00ac 1022     		movs	r2, #16
 2497 00ae DA60     		str	r2, [r3, #12]
 2498              	.L178:
1836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
 2499              		.loc 1 1836 3 view .LVU800
1836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
 2500              		.loc 1 1836 6 is_stmt 0 view .LVU801
 2501 00b0 14F0040F 		tst	r4, #4
 2502 00b4 02D0     		beq	.L179
1838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 2503              		.loc 1 1838 5 is_stmt 1 view .LVU802
1838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 2504              		.loc 1 1838 8 is_stmt 0 view .LVU803
 2505 00b6 1BF0080F 		tst	fp, #8
 2506 00ba 79D1     		bne	.L207
 2507              	.L179:
1855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
 2508              		.loc 1 1855 3 is_stmt 1 view .LVU804
1855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
 2509              		.loc 1 1855 6 is_stmt 0 view .LVU805
 2510 00bc 14F0020F 		tst	r4, #2
 2511 00c0 04D0     		beq	.L180
1858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 2512              		.loc 1 1858 5 is_stmt 1 view .LVU806
1858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 2513              		.loc 1 1858 14 is_stmt 0 view .LVU807
 2514 00c2 2B68     		ldr	r3, [r5]
1858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 2515              		.loc 1 1858 24 view .LVU808
 2516 00c4 DB68     		ldr	r3, [r3, #12]
1858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 2517              		.loc 1 1858 8 view .LVU809
 2518 00c6 13F0030F 		tst	r3, #3
 2519 00ca 78D1     		bne	.L208
 2520              	.L180:
1872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
 2521              		.loc 1 1872 3 is_stmt 1 view .LVU810
ARM GAS  /tmp/ccj1aKCo.s 			page 109


1872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
 2522              		.loc 1 1872 6 is_stmt 0 view .LVU811
 2523 00cc 14F0400F 		tst	r4, #64
 2524 00d0 07D0     		beq	.L181
1874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 2525              		.loc 1 1874 5 is_stmt 1 view .LVU812
1874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 2526              		.loc 1 1874 8 is_stmt 0 view .LVU813
 2527 00d2 1AF0100F 		tst	r10, #16
 2528 00d6 04D0     		beq	.L181
1877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 2529              		.loc 1 1877 7 is_stmt 1 view .LVU814
1877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 2530              		.loc 1 1877 17 is_stmt 0 view .LVU815
 2531 00d8 46F48066 		orr	r6, r6, #1024
 2532              	.LVL191:
1880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
 2533              		.loc 1 1880 7 is_stmt 1 view .LVU816
 2534 00dc 2B68     		ldr	r3, [r5]
 2535 00de 1022     		movs	r2, #16
 2536 00e0 1A61     		str	r2, [r3, #16]
 2537              	.L181:
1885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
 2538              		.loc 1 1885 3 view .LVU817
1885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
 2539              		.loc 1 1885 6 is_stmt 0 view .LVU818
 2540 00e2 14F0200F 		tst	r4, #32
 2541 00e6 02D0     		beq	.L182
1887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 2542              		.loc 1 1887 5 is_stmt 1 view .LVU819
1887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 2543              		.loc 1 1887 8 is_stmt 0 view .LVU820
 2544 00e8 1AF0080F 		tst	r10, #8
 2545 00ec 6BD1     		bne	.L209
 2546              	.L182:
1904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
 2547              		.loc 1 1904 3 is_stmt 1 view .LVU821
1904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
 2548              		.loc 1 1904 6 is_stmt 0 view .LVU822
 2549 00ee 14F0100F 		tst	r4, #16
 2550 00f2 04D0     		beq	.L183
1907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 2551              		.loc 1 1907 5 is_stmt 1 view .LVU823
1907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 2552              		.loc 1 1907 14 is_stmt 0 view .LVU824
 2553 00f4 2B68     		ldr	r3, [r5]
1907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 2554              		.loc 1 1907 24 view .LVU825
 2555 00f6 1B69     		ldr	r3, [r3, #16]
1907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 2556              		.loc 1 1907 8 view .LVU826
 2557 00f8 13F0030F 		tst	r3, #3
 2558 00fc 6AD1     		bne	.L210
 2559              	.L183:
1921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
 2560              		.loc 1 1921 3 is_stmt 1 view .LVU827
1921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
ARM GAS  /tmp/ccj1aKCo.s 			page 110


 2561              		.loc 1 1921 6 is_stmt 0 view .LVU828
 2562 00fe 14F4003F 		tst	r4, #131072
 2563 0102 02D0     		beq	.L184
1923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 2564              		.loc 1 1923 5 is_stmt 1 view .LVU829
1923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 2565              		.loc 1 1923 8 is_stmt 0 view .LVU830
 2566 0104 18F0100F 		tst	r8, #16
 2567 0108 68D1     		bne	.L211
 2568              	.L184:
1940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
 2569              		.loc 1 1940 3 is_stmt 1 view .LVU831
1940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
 2570              		.loc 1 1940 6 is_stmt 0 view .LVU832
 2571 010a 14F4803F 		tst	r4, #65536
 2572 010e 02D0     		beq	.L185
1942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 2573              		.loc 1 1942 5 is_stmt 1 view .LVU833
1942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 2574              		.loc 1 1942 8 is_stmt 0 view .LVU834
 2575 0110 18F0080F 		tst	r8, #8
 2576 0114 69D1     		bne	.L212
 2577              	.L185:
1959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
 2578              		.loc 1 1959 3 is_stmt 1 view .LVU835
1959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
 2579              		.loc 1 1959 6 is_stmt 0 view .LVU836
 2580 0116 14F4004F 		tst	r4, #32768
 2581 011a 7AD0     		beq	.L186
1961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 2582              		.loc 1 1961 5 is_stmt 1 view .LVU837
1961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 2583              		.loc 1 1961 8 is_stmt 0 view .LVU838
 2584 011c 18F0040F 		tst	r8, #4
 2585 0120 74D0     		beq	.L187
1964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           ((esrflags & CAN_ESR_EWGF) != 0U))
 2586              		.loc 1 1964 7 is_stmt 1 view .LVU839
1964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           ((esrflags & CAN_ESR_EWGF) != 0U))
 2587              		.loc 1 1964 10 is_stmt 0 view .LVU840
 2588 0122 14F4807F 		tst	r4, #256
 2589 0126 04D0     		beq	.L188
1964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           ((esrflags & CAN_ESR_EWGF) != 0U))
 2590              		.loc 1 1964 55 discriminator 1 view .LVU841
 2591 0128 19F0010F 		tst	r9, #1
 2592 012c 01D0     		beq	.L188
1968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 2593              		.loc 1 1968 9 is_stmt 1 view .LVU842
1968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 2594              		.loc 1 1968 19 is_stmt 0 view .LVU843
 2595 012e 46F00106 		orr	r6, r6, #1
 2596              	.LVL192:
 2597              	.L188:
1974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           ((esrflags & CAN_ESR_EPVF) != 0U))
 2598              		.loc 1 1974 7 is_stmt 1 view .LVU844
1974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           ((esrflags & CAN_ESR_EPVF) != 0U))
 2599              		.loc 1 1974 10 is_stmt 0 view .LVU845
 2600 0132 14F4007F 		tst	r4, #512
ARM GAS  /tmp/ccj1aKCo.s 			page 111


 2601 0136 04D0     		beq	.L189
1974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           ((esrflags & CAN_ESR_EPVF) != 0U))
 2602              		.loc 1 1974 55 discriminator 1 view .LVU846
 2603 0138 19F0020F 		tst	r9, #2
 2604 013c 01D0     		beq	.L189
1978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 2605              		.loc 1 1978 9 is_stmt 1 view .LVU847
1978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 2606              		.loc 1 1978 19 is_stmt 0 view .LVU848
 2607 013e 46F00206 		orr	r6, r6, #2
 2608              	.LVL193:
 2609              	.L189:
1984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           ((esrflags & CAN_ESR_BOFF) != 0U))
 2610              		.loc 1 1984 7 is_stmt 1 view .LVU849
1984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           ((esrflags & CAN_ESR_BOFF) != 0U))
 2611              		.loc 1 1984 10 is_stmt 0 view .LVU850
 2612 0142 14F4806F 		tst	r4, #1024
 2613 0146 04D0     		beq	.L190
1984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           ((esrflags & CAN_ESR_BOFF) != 0U))
 2614              		.loc 1 1984 48 discriminator 1 view .LVU851
 2615 0148 19F0040F 		tst	r9, #4
 2616 014c 01D0     		beq	.L190
1988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 2617              		.loc 1 1988 9 is_stmt 1 view .LVU852
1988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 2618              		.loc 1 1988 19 is_stmt 0 view .LVU853
 2619 014e 46F00406 		orr	r6, r6, #4
 2620              	.LVL194:
 2621              	.L190:
1994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           ((esrflags & CAN_ESR_LEC) != 0U))
 2622              		.loc 1 1994 7 is_stmt 1 view .LVU854
1994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           ((esrflags & CAN_ESR_LEC) != 0U))
 2623              		.loc 1 1994 10 is_stmt 0 view .LVU855
 2624 0152 14F4006F 		tst	r4, #2048
 2625 0156 59D0     		beq	.L187
1994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           ((esrflags & CAN_ESR_LEC) != 0U))
 2626              		.loc 1 1994 57 discriminator 1 view .LVU856
 2627 0158 19F07009 		ands	r9, r9, #112
 2628              	.LVL195:
1994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           ((esrflags & CAN_ESR_LEC) != 0U))
 2629              		.loc 1 1994 57 discriminator 1 view .LVU857
 2630 015c 56D0     		beq	.L187
1997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         {
 2631              		.loc 1 1997 9 is_stmt 1 view .LVU858
 2632 015e B9F1400F 		cmp	r9, #64
 2633 0162 65D0     		beq	.L191
 2634 0164 58D8     		bhi	.L192
 2635 0166 B9F1200F 		cmp	r9, #32
 2636 016a 5ED0     		beq	.L193
 2637 016c B9F1300F 		cmp	r9, #48
 2638 0170 42D1     		bne	.L213
2009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****             break;
 2639              		.loc 1 2009 13 view .LVU859
2009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****             break;
 2640              		.loc 1 2009 23 is_stmt 0 view .LVU860
 2641 0172 46F02006 		orr	r6, r6, #32
 2642              	.LVL196:
ARM GAS  /tmp/ccj1aKCo.s 			page 112


2010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           case (CAN_ESR_LEC_2):
 2643              		.loc 1 2010 13 is_stmt 1 view .LVU861
 2644 0176 44E0     		b	.L196
 2645              	.LVL197:
 2646              	.L205:
1749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
 2647              		.loc 1 1749 9 view .LVU862
 2648 0178 2846     		mov	r0, r5
 2649 017a FFF7FEFF 		bl	HAL_CAN_TxMailbox1CompleteCallback
 2650              	.LVL198:
 2651 017e 7BE7     		b	.L171
 2652              	.L173:
1759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         {
 2653              		.loc 1 1759 14 view .LVU863
1759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         {
 2654              		.loc 1 1759 17 is_stmt 0 view .LVU864
 2655 0180 17F4006F 		tst	r7, #2048
 2656 0184 02D0     		beq	.L174
1762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         }
 2657              		.loc 1 1762 11 is_stmt 1 view .LVU865
1762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         }
 2658              		.loc 1 1762 21 is_stmt 0 view .LVU866
 2659 0186 46F48046 		orr	r6, r6, #16384
 2660              	.LVL199:
1762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         }
 2661              		.loc 1 1762 21 view .LVU867
 2662 018a 75E7     		b	.L171
 2663              	.L174:
1772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
 2664              		.loc 1 1772 11 is_stmt 1 view .LVU868
 2665 018c 2846     		mov	r0, r5
 2666 018e FFF7FEFF 		bl	HAL_CAN_TxMailbox1AbortCallback
 2667              	.LVL200:
 2668 0192 71E7     		b	.L171
 2669              	.L206:
1792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
 2670              		.loc 1 1792 9 view .LVU869
 2671 0194 2846     		mov	r0, r5
 2672 0196 FFF7FEFF 		bl	HAL_CAN_TxMailbox2CompleteCallback
 2673              	.LVL201:
 2674 019a 7EE7     		b	.L168
 2675              	.L176:
1802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         {
 2676              		.loc 1 1802 14 view .LVU870
1802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         {
 2677              		.loc 1 1802 17 is_stmt 0 view .LVU871
 2678 019c 17F4002F 		tst	r7, #524288
 2679 01a0 02D0     		beq	.L177
1805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         }
 2680              		.loc 1 1805 11 is_stmt 1 view .LVU872
1805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         }
 2681              		.loc 1 1805 21 is_stmt 0 view .LVU873
 2682 01a2 46F48036 		orr	r6, r6, #65536
 2683              	.LVL202:
1805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         }
 2684              		.loc 1 1805 21 view .LVU874
 2685 01a6 78E7     		b	.L168
ARM GAS  /tmp/ccj1aKCo.s 			page 113


 2686              	.L177:
1815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
 2687              		.loc 1 1815 11 is_stmt 1 view .LVU875
 2688 01a8 2846     		mov	r0, r5
 2689 01aa FFF7FEFF 		bl	HAL_CAN_TxMailbox2AbortCallback
 2690              	.LVL203:
 2691 01ae 74E7     		b	.L168
 2692              	.L207:
1841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 2693              		.loc 1 1841 7 view .LVU876
 2694 01b0 2B68     		ldr	r3, [r5]
 2695 01b2 0822     		movs	r2, #8
 2696 01b4 DA60     		str	r2, [r3, #12]
1849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
 2697              		.loc 1 1849 7 view .LVU877
 2698 01b6 2846     		mov	r0, r5
 2699 01b8 FFF7FEFF 		bl	HAL_CAN_RxFifo0FullCallback
 2700              	.LVL204:
 2701 01bc 7EE7     		b	.L179
 2702              	.L208:
1866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
 2703              		.loc 1 1866 7 view .LVU878
 2704 01be 2846     		mov	r0, r5
 2705 01c0 FFF7FEFF 		bl	HAL_CAN_RxFifo0MsgPendingCallback
 2706              	.LVL205:
 2707 01c4 82E7     		b	.L180
 2708              	.L209:
1890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 2709              		.loc 1 1890 7 view .LVU879
 2710 01c6 2B68     		ldr	r3, [r5]
 2711 01c8 0822     		movs	r2, #8
 2712 01ca 1A61     		str	r2, [r3, #16]
1898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
 2713              		.loc 1 1898 7 view .LVU880
 2714 01cc 2846     		mov	r0, r5
 2715 01ce FFF7FEFF 		bl	HAL_CAN_RxFifo1FullCallback
 2716              	.LVL206:
 2717 01d2 8CE7     		b	.L182
 2718              	.L210:
1915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
 2719              		.loc 1 1915 7 view .LVU881
 2720 01d4 2846     		mov	r0, r5
 2721 01d6 FFF7FEFF 		bl	HAL_CAN_RxFifo1MsgPendingCallback
 2722              	.LVL207:
 2723 01da 90E7     		b	.L183
 2724              	.L211:
1926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 2725              		.loc 1 1926 7 view .LVU882
 2726 01dc 2B68     		ldr	r3, [r5]
 2727 01de 1022     		movs	r2, #16
 2728 01e0 5A60     		str	r2, [r3, #4]
1934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
 2729              		.loc 1 1934 7 view .LVU883
 2730 01e2 2846     		mov	r0, r5
 2731 01e4 FFF7FEFF 		bl	HAL_CAN_SleepCallback
 2732              	.LVL208:
 2733 01e8 8FE7     		b	.L184
ARM GAS  /tmp/ccj1aKCo.s 			page 114


 2734              	.L212:
1945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 2735              		.loc 1 1945 7 view .LVU884
 2736 01ea 2B68     		ldr	r3, [r5]
 2737 01ec 0822     		movs	r2, #8
 2738 01ee 5A60     		str	r2, [r3, #4]
1953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
 2739              		.loc 1 1953 7 view .LVU885
 2740 01f0 2846     		mov	r0, r5
 2741 01f2 FFF7FEFF 		bl	HAL_CAN_WakeUpFromRxMsgCallback
 2742              	.LVL209:
 2743 01f6 8EE7     		b	.L185
 2744              	.LVL210:
 2745              	.L213:
1997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         {
 2746              		.loc 1 1997 9 is_stmt 0 view .LVU886
 2747 01f8 B9F1100F 		cmp	r9, #16
 2748 01fc 01D1     		bne	.L196
2001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****             break;
 2749              		.loc 1 2001 13 is_stmt 1 view .LVU887
2001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****             break;
 2750              		.loc 1 2001 23 is_stmt 0 view .LVU888
 2751 01fe 46F00806 		orr	r6, r6, #8
 2752              	.LVL211:
2002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           case (CAN_ESR_LEC_1):
 2753              		.loc 1 2002 13 is_stmt 1 view .LVU889
 2754              	.L196:
2028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       }
 2755              		.loc 1 2028 9 view .LVU890
 2756 0202 2A68     		ldr	r2, [r5]
 2757 0204 9369     		ldr	r3, [r2, #24]
 2758 0206 23F07003 		bic	r3, r3, #112
 2759 020a 9361     		str	r3, [r2, #24]
 2760              	.L187:
2033:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
 2761              		.loc 1 2033 5 view .LVU891
 2762 020c 2B68     		ldr	r3, [r5]
 2763 020e 0422     		movs	r2, #4
 2764 0210 5A60     		str	r2, [r3, #4]
 2765              	.L186:
2037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
 2766              		.loc 1 2037 3 view .LVU892
2037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
 2767              		.loc 1 2037 6 is_stmt 0 view .LVU893
 2768 0212 9EB9     		cbnz	r6, .L214
 2769              	.L167:
2051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 2770              		.loc 1 2051 1 view .LVU894
 2771 0214 BDE8F88F 		pop	{r3, r4, r5, r6, r7, r8, r9, r10, fp, pc}
 2772              	.LVL212:
 2773              	.L192:
1997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****         {
 2774              		.loc 1 1997 9 view .LVU895
 2775 0218 B9F1500F 		cmp	r9, #80
 2776 021c 0BD0     		beq	.L197
 2777 021e B9F1600F 		cmp	r9, #96
 2778 0222 EED1     		bne	.L196
ARM GAS  /tmp/ccj1aKCo.s 			page 115


2021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****             break;
 2779              		.loc 1 2021 13 is_stmt 1 view .LVU896
2021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****             break;
 2780              		.loc 1 2021 23 is_stmt 0 view .LVU897
 2781 0224 46F48076 		orr	r6, r6, #256
 2782              	.LVL213:
2022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           default:
 2783              		.loc 1 2022 13 is_stmt 1 view .LVU898
 2784 0228 EBE7     		b	.L196
 2785              	.L193:
2005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****             break;
 2786              		.loc 1 2005 13 view .LVU899
2005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****             break;
 2787              		.loc 1 2005 23 is_stmt 0 view .LVU900
 2788 022a 46F01006 		orr	r6, r6, #16
 2789              	.LVL214:
2006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           case (CAN_ESR_LEC_1 | CAN_ESR_LEC_0):
 2790              		.loc 1 2006 13 is_stmt 1 view .LVU901
 2791 022e E8E7     		b	.L196
 2792              	.L191:
2013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****             break;
 2793              		.loc 1 2013 13 view .LVU902
2013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****             break;
 2794              		.loc 1 2013 23 is_stmt 0 view .LVU903
 2795 0230 46F04006 		orr	r6, r6, #64
 2796              	.LVL215:
2014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           case (CAN_ESR_LEC_2 | CAN_ESR_LEC_0):
 2797              		.loc 1 2014 13 is_stmt 1 view .LVU904
 2798 0234 E5E7     		b	.L196
 2799              	.L197:
2017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****             break;
 2800              		.loc 1 2017 13 view .LVU905
2017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****             break;
 2801              		.loc 1 2017 23 is_stmt 0 view .LVU906
 2802 0236 46F08006 		orr	r6, r6, #128
 2803              	.LVL216:
2018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****           case (CAN_ESR_LEC_2 | CAN_ESR_LEC_1):
 2804              		.loc 1 2018 13 is_stmt 1 view .LVU907
 2805 023a E2E7     		b	.L196
 2806              	.L214:
2040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 2807              		.loc 1 2040 5 view .LVU908
2040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 2808              		.loc 1 2040 9 is_stmt 0 view .LVU909
 2809 023c 6B6A     		ldr	r3, [r5, #36]
2040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 2810              		.loc 1 2040 21 view .LVU910
 2811 023e 3343     		orrs	r3, r3, r6
 2812 0240 6B62     		str	r3, [r5, #36]
2048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** #endif /* USE_HAL_CAN_REGISTER_CALLBACKS */
 2813              		.loc 1 2048 5 is_stmt 1 view .LVU911
 2814 0242 2846     		mov	r0, r5
 2815 0244 FFF7FEFF 		bl	HAL_CAN_ErrorCallback
 2816              	.LVL217:
2051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
 2817              		.loc 1 2051 1 is_stmt 0 view .LVU912
 2818 0248 E4E7     		b	.L167
ARM GAS  /tmp/ccj1aKCo.s 			page 116


 2819              		.cfi_endproc
 2820              	.LFE149:
 2822              		.section	.text.HAL_CAN_GetState,"ax",%progbits
 2823              		.align	1
 2824              		.global	HAL_CAN_GetState
 2825              		.syntax unified
 2826              		.thumb
 2827              		.thumb_func
 2829              	HAL_CAN_GetState:
 2830              	.LVL218:
 2831              	.LFB163:
2302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
2303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
2304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @}
2305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   */
2306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
2307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /** @defgroup CAN_Exported_Functions_Group6 Peripheral State and Error functions
2308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****  *  @brief   CAN Peripheral State functions
2309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****  *
2310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** @verbatim
2311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   ==============================================================================
2312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****             ##### Peripheral State and Error functions #####
2313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   ==============================================================================
2314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     [..]
2315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     This subsection provides functions allowing to :
2316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       (+) HAL_CAN_GetState()  : Return the CAN state.
2317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       (+) HAL_CAN_GetError()  : Return the CAN error codes if any.
2318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       (+) HAL_CAN_ResetError(): Reset the CAN error codes if any.
2319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
2320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** @endverbatim
2321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @{
2322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   */
2323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
2324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
2325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @brief  Return the CAN state.
2326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @param  hcan pointer to a CAN_HandleTypeDef structure that contains
2327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *         the configuration information for the specified CAN.
2328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @retval HAL state
2329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   */
2330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_CAN_StateTypeDef HAL_CAN_GetState(CAN_HandleTypeDef *hcan)
2331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
 2832              		.loc 1 2331 1 is_stmt 1 view -0
 2833              		.cfi_startproc
 2834              		@ args = 0, pretend = 0, frame = 0
 2835              		@ frame_needed = 0, uses_anonymous_args = 0
 2836              		@ link register save eliminated.
 2837              		.loc 1 2331 1 is_stmt 0 view .LVU914
 2838 0000 0246     		mov	r2, r0
2332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   HAL_CAN_StateTypeDef state = hcan->State;
 2839              		.loc 1 2332 3 is_stmt 1 view .LVU915
 2840              		.loc 1 2332 24 is_stmt 0 view .LVU916
 2841 0002 90F82030 		ldrb	r3, [r0, #32]	@ zero_extendqisi2
 2842 0006 D8B2     		uxtb	r0, r3
 2843              	.LVL219:
2333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
2334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   if ((state == HAL_CAN_STATE_READY) ||
 2844              		.loc 1 2334 3 is_stmt 1 view .LVU917
ARM GAS  /tmp/ccj1aKCo.s 			page 117


 2845              		.loc 1 2334 38 is_stmt 0 view .LVU918
 2846 0008 013B     		subs	r3, r3, #1
 2847 000a DBB2     		uxtb	r3, r3
 2848              		.loc 1 2334 6 view .LVU919
 2849 000c 012B     		cmp	r3, #1
 2850 000e 00D9     		bls	.L219
 2851              	.LVL220:
 2852              	.L216:
2335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       (state == HAL_CAN_STATE_LISTENING))
2336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
2337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* Check sleep mode acknowledge flag */
2338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     if ((hcan->Instance->MSR & CAN_MSR_SLAK) != 0U)
2339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
2340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       /* Sleep mode is active */
2341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       state = HAL_CAN_STATE_SLEEP_ACTIVE;
2342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
2343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* Check sleep mode request flag */
2344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     else if ((hcan->Instance->MCR & CAN_MCR_SLEEP) != 0U)
2345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
2346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       /* Sleep mode request is pending */
2347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       state = HAL_CAN_STATE_SLEEP_PENDING;
2348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
2349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     else
2350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
2351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       /* Neither sleep mode request nor sleep mode acknowledge */
2352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
 2853              		.loc 1 2352 5 is_stmt 1 view .LVU920
2353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
2354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
2355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* Return CAN state */
2356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   return state;
 2854              		.loc 1 2356 3 view .LVU921
2357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
 2855              		.loc 1 2357 1 is_stmt 0 view .LVU922
 2856 0010 7047     		bx	lr
 2857              	.LVL221:
 2858              	.L219:
2338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 2859              		.loc 1 2338 5 is_stmt 1 view .LVU923
2338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 2860              		.loc 1 2338 14 is_stmt 0 view .LVU924
 2861 0012 1368     		ldr	r3, [r2]
2338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 2862              		.loc 1 2338 24 view .LVU925
 2863 0014 5A68     		ldr	r2, [r3, #4]
 2864              	.LVL222:
2338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 2865              		.loc 1 2338 8 view .LVU926
 2866 0016 12F0020F 		tst	r2, #2
 2867 001a 05D1     		bne	.L217
2344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 2868              		.loc 1 2344 10 is_stmt 1 view .LVU927
2344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 2869              		.loc 1 2344 29 is_stmt 0 view .LVU928
 2870 001c 1B68     		ldr	r3, [r3]
2344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     {
 2871              		.loc 1 2344 13 view .LVU929
ARM GAS  /tmp/ccj1aKCo.s 			page 118


 2872 001e 13F0020F 		tst	r3, #2
 2873 0022 F5D0     		beq	.L216
2347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
 2874              		.loc 1 2347 13 view .LVU930
 2875 0024 0320     		movs	r0, #3
 2876              	.LVL223:
2347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
 2877              		.loc 1 2347 13 view .LVU931
 2878 0026 F3E7     		b	.L216
 2879              	.LVL224:
 2880              	.L217:
2341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
 2881              		.loc 1 2341 13 view .LVU932
 2882 0028 0420     		movs	r0, #4
 2883              	.LVL225:
2341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     }
 2884              		.loc 1 2341 13 view .LVU933
 2885 002a 7047     		bx	lr
 2886              		.cfi_endproc
 2887              	.LFE163:
 2889              		.section	.text.HAL_CAN_GetError,"ax",%progbits
 2890              		.align	1
 2891              		.global	HAL_CAN_GetError
 2892              		.syntax unified
 2893              		.thumb
 2894              		.thumb_func
 2896              	HAL_CAN_GetError:
 2897              	.LVL226:
 2898              	.LFB164:
2358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
2359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
2360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @brief  Return the CAN error code.
2361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @param  hcan pointer to a CAN_HandleTypeDef structure that contains
2362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *         the configuration information for the specified CAN.
2363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @retval CAN Error Code
2364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   */
2365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** uint32_t HAL_CAN_GetError(CAN_HandleTypeDef *hcan)
2366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
 2899              		.loc 1 2366 1 is_stmt 1 view -0
 2900              		.cfi_startproc
 2901              		@ args = 0, pretend = 0, frame = 0
 2902              		@ frame_needed = 0, uses_anonymous_args = 0
 2903              		@ link register save eliminated.
2367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* Return CAN error code */
2368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   return hcan->ErrorCode;
 2904              		.loc 1 2368 3 view .LVU935
 2905              		.loc 1 2368 14 is_stmt 0 view .LVU936
 2906 0000 406A     		ldr	r0, [r0, #36]
 2907              	.LVL227:
2369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
 2908              		.loc 1 2369 1 view .LVU937
 2909 0002 7047     		bx	lr
 2910              		.cfi_endproc
 2911              	.LFE164:
 2913              		.section	.text.HAL_CAN_ResetError,"ax",%progbits
 2914              		.align	1
 2915              		.global	HAL_CAN_ResetError
ARM GAS  /tmp/ccj1aKCo.s 			page 119


 2916              		.syntax unified
 2917              		.thumb
 2918              		.thumb_func
 2920              	HAL_CAN_ResetError:
 2921              	.LVL228:
 2922              	.LFB165:
2370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
2371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** /**
2372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @brief  Reset the CAN error code.
2373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @param  hcan pointer to a CAN_HandleTypeDef structure that contains
2374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   *         the configuration information for the specified CAN.
2375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   * @retval HAL status
2376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   */
2377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** HAL_StatusTypeDef HAL_CAN_ResetError(CAN_HandleTypeDef *hcan)
2378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** {
 2923              		.loc 1 2378 1 is_stmt 1 view -0
 2924              		.cfi_startproc
 2925              		@ args = 0, pretend = 0, frame = 0
 2926              		@ frame_needed = 0, uses_anonymous_args = 0
 2927              		@ link register save eliminated.
2379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   HAL_StatusTypeDef status = HAL_OK;
 2928              		.loc 1 2379 3 view .LVU939
2380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   HAL_CAN_StateTypeDef state = hcan->State;
 2929              		.loc 1 2380 3 view .LVU940
 2930              		.loc 1 2380 24 is_stmt 0 view .LVU941
 2931 0000 90F82030 		ldrb	r3, [r0, #32]	@ zero_extendqisi2
 2932              	.LVL229:
2381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
2382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   if ((state == HAL_CAN_STATE_READY) ||
 2933              		.loc 1 2382 3 is_stmt 1 view .LVU942
 2934              		.loc 1 2382 38 is_stmt 0 view .LVU943
 2935 0004 013B     		subs	r3, r3, #1
 2936              	.LVL230:
 2937              		.loc 1 2382 38 view .LVU944
 2938 0006 DBB2     		uxtb	r3, r3
 2939              		.loc 1 2382 6 view .LVU945
 2940 0008 012B     		cmp	r3, #1
 2941 000a 05D9     		bls	.L224
2383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****       (state == HAL_CAN_STATE_LISTENING))
2384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
2385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* Reset CAN error code */
2386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     hcan->ErrorCode = 0U;
2387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
2388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   else
2389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   {
2390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     /* Update error code */
2391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     hcan->ErrorCode |= HAL_CAN_ERROR_NOT_INITIALIZED;
 2942              		.loc 1 2391 5 is_stmt 1 view .LVU946
 2943              		.loc 1 2391 9 is_stmt 0 view .LVU947
 2944 000c 436A     		ldr	r3, [r0, #36]
 2945              		.loc 1 2391 21 view .LVU948
 2946 000e 43F48023 		orr	r3, r3, #262144
 2947 0012 4362     		str	r3, [r0, #36]
2392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
2393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****     status = HAL_ERROR;
 2948              		.loc 1 2393 5 is_stmt 1 view .LVU949
 2949              	.LVL231:
ARM GAS  /tmp/ccj1aKCo.s 			page 120


 2950              		.loc 1 2393 12 is_stmt 0 view .LVU950
 2951 0014 0120     		movs	r0, #1
 2952              	.LVL232:
2394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
2395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** 
2396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   /* Return the status */
2397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   return status;
 2953              		.loc 1 2397 3 is_stmt 1 view .LVU951
2398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c **** }
 2954              		.loc 1 2398 1 is_stmt 0 view .LVU952
 2955 0016 7047     		bx	lr
 2956              	.LVL233:
 2957              	.L224:
2386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
 2958              		.loc 1 2386 5 is_stmt 1 view .LVU953
2386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   }
 2959              		.loc 1 2386 21 is_stmt 0 view .LVU954
 2960 0018 0023     		movs	r3, #0
 2961 001a 4362     		str	r3, [r0, #36]
2379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   HAL_CAN_StateTypeDef state = hcan->State;
 2962              		.loc 1 2379 21 view .LVU955
 2963 001c 1846     		mov	r0, r3
 2964              	.LVL234:
2379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_can.c ****   HAL_CAN_StateTypeDef state = hcan->State;
 2965              		.loc 1 2379 21 view .LVU956
 2966 001e 7047     		bx	lr
 2967              		.cfi_endproc
 2968              	.LFE165:
 2970              		.text
 2971              	.Letext0:
 2972              		.file 3 "/home/david/.config/Code/User/globalStorage/bmd.stm32-for-vscode/@xpack-dev-tools/arm-non
 2973              		.file 4 "/home/david/.config/Code/User/globalStorage/bmd.stm32-for-vscode/@xpack-dev-tools/arm-non
 2974              		.file 5 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/stm32f302xc.h"
 2975              		.file 6 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/stm32f3xx.h"
 2976              		.file 7 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_def.h"
 2977              		.file 8 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_can.h"
 2978              		.file 9 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal.h"
ARM GAS  /tmp/ccj1aKCo.s 			page 121


DEFINED SYMBOLS
                            *ABS*:0000000000000000 stm32f3xx_hal_can.c
     /tmp/ccj1aKCo.s:21     .text.HAL_CAN_MspInit:0000000000000000 $t
     /tmp/ccj1aKCo.s:27     .text.HAL_CAN_MspInit:0000000000000000 HAL_CAN_MspInit
     /tmp/ccj1aKCo.s:42     .text.HAL_CAN_Init:0000000000000000 $t
     /tmp/ccj1aKCo.s:48     .text.HAL_CAN_Init:0000000000000000 HAL_CAN_Init
     /tmp/ccj1aKCo.s:338    .text.HAL_CAN_MspDeInit:0000000000000000 $t
     /tmp/ccj1aKCo.s:344    .text.HAL_CAN_MspDeInit:0000000000000000 HAL_CAN_MspDeInit
     /tmp/ccj1aKCo.s:359    .text.HAL_CAN_ConfigFilter:0000000000000000 $t
     /tmp/ccj1aKCo.s:365    .text.HAL_CAN_ConfigFilter:0000000000000000 HAL_CAN_ConfigFilter
     /tmp/ccj1aKCo.s:578    .text.HAL_CAN_Start:0000000000000000 $t
     /tmp/ccj1aKCo.s:584    .text.HAL_CAN_Start:0000000000000000 HAL_CAN_Start
     /tmp/ccj1aKCo.s:683    .text.HAL_CAN_Stop:0000000000000000 $t
     /tmp/ccj1aKCo.s:689    .text.HAL_CAN_Stop:0000000000000000 HAL_CAN_Stop
     /tmp/ccj1aKCo.s:789    .text.HAL_CAN_DeInit:0000000000000000 $t
     /tmp/ccj1aKCo.s:795    .text.HAL_CAN_DeInit:0000000000000000 HAL_CAN_DeInit
     /tmp/ccj1aKCo.s:849    .text.HAL_CAN_RequestSleep:0000000000000000 $t
     /tmp/ccj1aKCo.s:855    .text.HAL_CAN_RequestSleep:0000000000000000 HAL_CAN_RequestSleep
     /tmp/ccj1aKCo.s:905    .text.HAL_CAN_WakeUp:0000000000000000 $t
     /tmp/ccj1aKCo.s:911    .text.HAL_CAN_WakeUp:0000000000000000 HAL_CAN_WakeUp
     /tmp/ccj1aKCo.s:1008   .text.HAL_CAN_WakeUp:0000000000000054 $d
     /tmp/ccj1aKCo.s:1013   .text.HAL_CAN_IsSleepActive:0000000000000000 $t
     /tmp/ccj1aKCo.s:1019   .text.HAL_CAN_IsSleepActive:0000000000000000 HAL_CAN_IsSleepActive
     /tmp/ccj1aKCo.s:1069   .text.HAL_CAN_AddTxMessage:0000000000000000 $t
     /tmp/ccj1aKCo.s:1075   .text.HAL_CAN_AddTxMessage:0000000000000000 HAL_CAN_AddTxMessage
     /tmp/ccj1aKCo.s:1289   .text.HAL_CAN_AbortTxRequest:0000000000000000 $t
     /tmp/ccj1aKCo.s:1295   .text.HAL_CAN_AbortTxRequest:0000000000000000 HAL_CAN_AbortTxRequest
     /tmp/ccj1aKCo.s:1371   .text.HAL_CAN_GetTxMailboxesFreeLevel:0000000000000000 $t
     /tmp/ccj1aKCo.s:1377   .text.HAL_CAN_GetTxMailboxesFreeLevel:0000000000000000 HAL_CAN_GetTxMailboxesFreeLevel
     /tmp/ccj1aKCo.s:1448   .text.HAL_CAN_IsTxMessagePending:0000000000000000 $t
     /tmp/ccj1aKCo.s:1454   .text.HAL_CAN_IsTxMessagePending:0000000000000000 HAL_CAN_IsTxMessagePending
     /tmp/ccj1aKCo.s:1511   .text.HAL_CAN_GetTxTimestamp:0000000000000000 $t
     /tmp/ccj1aKCo.s:1517   .text.HAL_CAN_GetTxTimestamp:0000000000000000 HAL_CAN_GetTxTimestamp
     /tmp/ccj1aKCo.s:1590   .text.HAL_CAN_GetRxMessage:0000000000000000 $t
     /tmp/ccj1aKCo.s:1596   .text.HAL_CAN_GetRxMessage:0000000000000000 HAL_CAN_GetRxMessage
     /tmp/ccj1aKCo.s:1884   .text.HAL_CAN_GetRxFifoFillLevel:0000000000000000 $t
     /tmp/ccj1aKCo.s:1890   .text.HAL_CAN_GetRxFifoFillLevel:0000000000000000 HAL_CAN_GetRxFifoFillLevel
     /tmp/ccj1aKCo.s:1952   .text.HAL_CAN_ActivateNotification:0000000000000000 $t
     /tmp/ccj1aKCo.s:1958   .text.HAL_CAN_ActivateNotification:0000000000000000 HAL_CAN_ActivateNotification
     /tmp/ccj1aKCo.s:2009   .text.HAL_CAN_DeactivateNotification:0000000000000000 $t
     /tmp/ccj1aKCo.s:2015   .text.HAL_CAN_DeactivateNotification:0000000000000000 HAL_CAN_DeactivateNotification
     /tmp/ccj1aKCo.s:2066   .text.HAL_CAN_TxMailbox0CompleteCallback:0000000000000000 $t
     /tmp/ccj1aKCo.s:2072   .text.HAL_CAN_TxMailbox0CompleteCallback:0000000000000000 HAL_CAN_TxMailbox0CompleteCallback
     /tmp/ccj1aKCo.s:2087   .text.HAL_CAN_TxMailbox1CompleteCallback:0000000000000000 $t
     /tmp/ccj1aKCo.s:2093   .text.HAL_CAN_TxMailbox1CompleteCallback:0000000000000000 HAL_CAN_TxMailbox1CompleteCallback
     /tmp/ccj1aKCo.s:2108   .text.HAL_CAN_TxMailbox2CompleteCallback:0000000000000000 $t
     /tmp/ccj1aKCo.s:2114   .text.HAL_CAN_TxMailbox2CompleteCallback:0000000000000000 HAL_CAN_TxMailbox2CompleteCallback
     /tmp/ccj1aKCo.s:2129   .text.HAL_CAN_TxMailbox0AbortCallback:0000000000000000 $t
     /tmp/ccj1aKCo.s:2135   .text.HAL_CAN_TxMailbox0AbortCallback:0000000000000000 HAL_CAN_TxMailbox0AbortCallback
     /tmp/ccj1aKCo.s:2150   .text.HAL_CAN_TxMailbox1AbortCallback:0000000000000000 $t
     /tmp/ccj1aKCo.s:2156   .text.HAL_CAN_TxMailbox1AbortCallback:0000000000000000 HAL_CAN_TxMailbox1AbortCallback
     /tmp/ccj1aKCo.s:2171   .text.HAL_CAN_TxMailbox2AbortCallback:0000000000000000 $t
     /tmp/ccj1aKCo.s:2177   .text.HAL_CAN_TxMailbox2AbortCallback:0000000000000000 HAL_CAN_TxMailbox2AbortCallback
     /tmp/ccj1aKCo.s:2192   .text.HAL_CAN_RxFifo0MsgPendingCallback:0000000000000000 $t
     /tmp/ccj1aKCo.s:2198   .text.HAL_CAN_RxFifo0MsgPendingCallback:0000000000000000 HAL_CAN_RxFifo0MsgPendingCallback
     /tmp/ccj1aKCo.s:2213   .text.HAL_CAN_RxFifo0FullCallback:0000000000000000 $t
     /tmp/ccj1aKCo.s:2219   .text.HAL_CAN_RxFifo0FullCallback:0000000000000000 HAL_CAN_RxFifo0FullCallback
ARM GAS  /tmp/ccj1aKCo.s 			page 122


     /tmp/ccj1aKCo.s:2234   .text.HAL_CAN_RxFifo1MsgPendingCallback:0000000000000000 $t
     /tmp/ccj1aKCo.s:2240   .text.HAL_CAN_RxFifo1MsgPendingCallback:0000000000000000 HAL_CAN_RxFifo1MsgPendingCallback
     /tmp/ccj1aKCo.s:2255   .text.HAL_CAN_RxFifo1FullCallback:0000000000000000 $t
     /tmp/ccj1aKCo.s:2261   .text.HAL_CAN_RxFifo1FullCallback:0000000000000000 HAL_CAN_RxFifo1FullCallback
     /tmp/ccj1aKCo.s:2276   .text.HAL_CAN_SleepCallback:0000000000000000 $t
     /tmp/ccj1aKCo.s:2282   .text.HAL_CAN_SleepCallback:0000000000000000 HAL_CAN_SleepCallback
     /tmp/ccj1aKCo.s:2297   .text.HAL_CAN_WakeUpFromRxMsgCallback:0000000000000000 $t
     /tmp/ccj1aKCo.s:2303   .text.HAL_CAN_WakeUpFromRxMsgCallback:0000000000000000 HAL_CAN_WakeUpFromRxMsgCallback
     /tmp/ccj1aKCo.s:2318   .text.HAL_CAN_ErrorCallback:0000000000000000 $t
     /tmp/ccj1aKCo.s:2324   .text.HAL_CAN_ErrorCallback:0000000000000000 HAL_CAN_ErrorCallback
     /tmp/ccj1aKCo.s:2339   .text.HAL_CAN_IRQHandler:0000000000000000 $t
     /tmp/ccj1aKCo.s:2345   .text.HAL_CAN_IRQHandler:0000000000000000 HAL_CAN_IRQHandler
     /tmp/ccj1aKCo.s:2823   .text.HAL_CAN_GetState:0000000000000000 $t
     /tmp/ccj1aKCo.s:2829   .text.HAL_CAN_GetState:0000000000000000 HAL_CAN_GetState
     /tmp/ccj1aKCo.s:2890   .text.HAL_CAN_GetError:0000000000000000 $t
     /tmp/ccj1aKCo.s:2896   .text.HAL_CAN_GetError:0000000000000000 HAL_CAN_GetError
     /tmp/ccj1aKCo.s:2914   .text.HAL_CAN_ResetError:0000000000000000 $t
     /tmp/ccj1aKCo.s:2920   .text.HAL_CAN_ResetError:0000000000000000 HAL_CAN_ResetError

UNDEFINED SYMBOLS
HAL_GetTick
