stm32f1xx_hal_pcd_ex.lst 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440
  1. ARM GAS /tmp/ccqXYHEt.s page 1
  2. 1 .cpu cortex-m3
  3. 2 .arch armv7-m
  4. 3 .fpu softvfp
  5. 4 .eabi_attribute 20, 1
  6. 5 .eabi_attribute 21, 1
  7. 6 .eabi_attribute 23, 3
  8. 7 .eabi_attribute 24, 1
  9. 8 .eabi_attribute 25, 1
  10. 9 .eabi_attribute 26, 1
  11. 10 .eabi_attribute 30, 1
  12. 11 .eabi_attribute 34, 1
  13. 12 .eabi_attribute 18, 4
  14. 13 .file "stm32f1xx_hal_pcd_ex.c"
  15. 14 .text
  16. 15 .Ltext0:
  17. 16 .cfi_sections .debug_frame
  18. 17 .section .text.HAL_PCDEx_PMAConfig,"ax",%progbits
  19. 18 .align 1
  20. 19 .global HAL_PCDEx_PMAConfig
  21. 20 .syntax unified
  22. 21 .thumb
  23. 22 .thumb_func
  24. 24 HAL_PCDEx_PMAConfig:
  25. 25 .LVL0:
  26. 26 .LFB65:
  27. 27 .file 1 "Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c"
  28. 1:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** /**
  29. 2:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** ******************************************************************************
  30. 3:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * @file stm32f1xx_hal_pcd_ex.c
  31. 4:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * @author MCD Application Team
  32. 5:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * @brief PCD Extended HAL module driver.
  33. 6:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * This file provides firmware functions to manage the following
  34. 7:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * functionalities of the USB Peripheral Controller:
  35. 8:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * + Extended features functions
  36. 9:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** *
  37. 10:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** ******************************************************************************
  38. 11:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * @attention
  39. 12:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** *
  40. 13:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * Copyright (c) 2016 STMicroelectronics.
  41. 14:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * All rights reserved.
  42. 15:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** *
  43. 16:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * This software is licensed under terms that can be found in the LICENSE file
  44. 17:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * in the root directory of this software component.
  45. 18:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * If no LICENSE file comes with this software, it is provided AS-IS.
  46. 19:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** *
  47. 20:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** ******************************************************************************
  48. 21:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** */
  49. 22:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c ****
  50. 23:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** /* Includes ------------------------------------------------------------------*/
  51. 24:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** #include "stm32f1xx_hal.h"
  52. 25:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c ****
  53. 26:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** /** @addtogroup STM32F1xx_HAL_Driver
  54. 27:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * @{
  55. 28:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** */
  56. 29:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c ****
  57. 30:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** /** @defgroup PCDEx PCDEx
  58. 31:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * @brief PCD Extended HAL module driver
  59. ARM GAS /tmp/ccqXYHEt.s page 2
  60. 32:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * @{
  61. 33:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** */
  62. 34:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c ****
  63. 35:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** #ifdef HAL_PCD_MODULE_ENABLED
  64. 36:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c ****
  65. 37:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** #if defined (USB) || defined (USB_OTG_FS)
  66. 38:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** /* Private types -------------------------------------------------------------*/
  67. 39:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** /* Private variables ---------------------------------------------------------*/
  68. 40:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** /* Private constants ---------------------------------------------------------*/
  69. 41:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** /* Private macros ------------------------------------------------------------*/
  70. 42:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** /* Private functions ---------------------------------------------------------*/
  71. 43:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** /* Exported functions --------------------------------------------------------*/
  72. 44:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c ****
  73. 45:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** /** @defgroup PCDEx_Exported_Functions PCDEx Exported Functions
  74. 46:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * @{
  75. 47:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** */
  76. 48:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c ****
  77. 49:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** /** @defgroup PCDEx_Exported_Functions_Group1 Peripheral Control functions
  78. 50:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * @brief PCDEx control functions
  79. 51:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** *
  80. 52:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** @verbatim
  81. 53:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** ===============================================================================
  82. 54:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** ##### Extended features functions #####
  83. 55:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** ===============================================================================
  84. 56:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** [..] This section provides functions allowing to:
  85. 57:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** (+) Update FIFO configuration
  86. 58:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c ****
  87. 59:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** @endverbatim
  88. 60:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * @{
  89. 61:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** */
  90. 62:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** #if defined (USB_OTG_FS)
  91. 63:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** /**
  92. 64:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * @brief Set Tx FIFO
  93. 65:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * @param hpcd PCD handle
  94. 66:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * @param fifo The number of Tx fifo
  95. 67:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * @param size Fifo size
  96. 68:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * @retval HAL status
  97. 69:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** */
  98. 70:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** HAL_StatusTypeDef HAL_PCDEx_SetTxFiFo(PCD_HandleTypeDef *hpcd, uint8_t fifo, uint16_t size)
  99. 71:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** {
  100. 72:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** uint8_t i;
  101. 73:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** uint32_t Tx_Offset;
  102. 74:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c ****
  103. 75:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** /* TXn min size = 16 words. (n : Transmit FIFO index)
  104. 76:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** When a TxFIFO is not used, the Configuration should be as follows:
  105. 77:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** case 1 : n > m and Txn is not used (n,m : Transmit FIFO indexes)
  106. 78:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** --> Txm can use the space allocated for Txn.
  107. 79:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** case2 : n < m and Txn is not used (n,m : Transmit FIFO indexes)
  108. 80:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** --> Txn should be configured with the minimum space of 16 words
  109. 81:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** The FIFO is used optimally when used TxFIFOs are allocated in the top
  110. 82:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** of the FIFO.Ex: use EP1 and EP2 as IN instead of EP1 and EP3 as IN ones.
  111. 83:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** When DMA is used 3n * FIFO locations should be reserved for internal DMA registers */
  112. 84:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c ****
  113. 85:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** Tx_Offset = hpcd->Instance->GRXFSIZ;
  114. 86:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c ****
  115. 87:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** if (fifo == 0U)
  116. 88:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** {
  117. ARM GAS /tmp/ccqXYHEt.s page 3
  118. 89:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** hpcd->Instance->DIEPTXF0_HNPTXFSIZ = ((uint32_t)size << 16) | Tx_Offset;
  119. 90:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** }
  120. 91:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** else
  121. 92:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** {
  122. 93:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** Tx_Offset += (hpcd->Instance->DIEPTXF0_HNPTXFSIZ) >> 16;
  123. 94:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** for (i = 0U; i < (fifo - 1U); i++)
  124. 95:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** {
  125. 96:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** Tx_Offset += (hpcd->Instance->DIEPTXF[i] >> 16);
  126. 97:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** }
  127. 98:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c ****
  128. 99:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** /* Multiply Tx_Size by 2 to get higher performance */
  129. 100:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** hpcd->Instance->DIEPTXF[fifo - 1U] = ((uint32_t)size << 16) | Tx_Offset;
  130. 101:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** }
  131. 102:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c ****
  132. 103:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** return HAL_OK;
  133. 104:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** }
  134. 105:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c ****
  135. 106:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** /**
  136. 107:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * @brief Set Rx FIFO
  137. 108:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * @param hpcd PCD handle
  138. 109:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * @param size Size of Rx fifo
  139. 110:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * @retval HAL status
  140. 111:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** */
  141. 112:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** HAL_StatusTypeDef HAL_PCDEx_SetRxFiFo(PCD_HandleTypeDef *hpcd, uint16_t size)
  142. 113:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** {
  143. 114:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** hpcd->Instance->GRXFSIZ = size;
  144. 115:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c ****
  145. 116:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** return HAL_OK;
  146. 117:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** }
  147. 118:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** #endif /* defined (USB_OTG_FS) */
  148. 119:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** #if defined (USB)
  149. 120:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** /**
  150. 121:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * @brief Configure PMA for EP
  151. 122:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * @param hpcd Device instance
  152. 123:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * @param ep_addr endpoint address
  153. 124:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * @param ep_kind endpoint Kind
  154. 125:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * USB_SNG_BUF: Single Buffer used
  155. 126:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * USB_DBL_BUF: Double Buffer used
  156. 127:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * @param pmaadress: EP address in The PMA: In case of single buffer endpoint
  157. 128:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * this parameter is 16-bit value providing the address
  158. 129:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * in PMA allocated to endpoint.
  159. 130:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * In case of double buffer endpoint this parameter
  160. 131:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * is a 32-bit value providing the endpoint buffer 0 address
  161. 132:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * in the LSB part of 32-bit value and endpoint buffer 1 address
  162. 133:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * in the MSB part of 32-bit value.
  163. 134:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * @retval HAL status
  164. 135:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** */
  165. 136:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c ****
  166. 137:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** HAL_StatusTypeDef HAL_PCDEx_PMAConfig(PCD_HandleTypeDef *hpcd, uint16_t ep_addr,
  167. 138:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** uint16_t ep_kind, uint32_t pmaadress)
  168. 139:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** {
  169. 28 .loc 1 139 1 view -0
  170. 29 .cfi_startproc
  171. 30 @ args = 0, pretend = 0, frame = 0
  172. 31 @ frame_needed = 0, uses_anonymous_args = 0
  173. 32 @ link register save eliminated.
  174. 140:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** PCD_EPTypeDef *ep;
  175. ARM GAS /tmp/ccqXYHEt.s page 4
  176. 33 .loc 1 140 3 view .LVU1
  177. 141:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c ****
  178. 142:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** /* initialize ep structure*/
  179. 143:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** if ((0x80U & ep_addr) == 0x80U)
  180. 34 .loc 1 143 3 view .LVU2
  181. 35 .loc 1 143 6 is_stmt 0 view .LVU3
  182. 36 0000 11F0800F tst r1, #128
  183. 37 0004 0BD0 beq .L2
  184. 144:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** {
  185. 145:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK];
  186. 38 .loc 1 145 5 is_stmt 1 view .LVU4
  187. 39 .loc 1 145 31 is_stmt 0 view .LVU5
  188. 40 0006 01F00701 and r1, r1, #7
  189. 41 .LVL1:
  190. 42 .loc 1 145 8 view .LVU6
  191. 43 000a 0131 adds r1, r1, #1
  192. 44 000c 01EB8101 add r1, r1, r1, lsl #2
  193. 45 0010 00EBC101 add r1, r0, r1, lsl #3
  194. 46 .LVL2:
  195. 47 .L3:
  196. 146:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** }
  197. 147:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** else
  198. 148:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** {
  199. 149:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** ep = &hpcd->OUT_ep[ep_addr];
  200. 150:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** }
  201. 151:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c ****
  202. 152:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** /* Here we check if the endpoint is single or double Buffer*/
  203. 153:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** if (ep_kind == PCD_SNG_BUF)
  204. 48 .loc 1 153 3 is_stmt 1 view .LVU7
  205. 49 .loc 1 153 6 is_stmt 0 view .LVU8
  206. 50 0014 52B9 cbnz r2, .L4
  207. 154:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** {
  208. 155:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** /* Single Buffer */
  209. 156:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** ep->doublebuffer = 0U;
  210. 51 .loc 1 156 5 is_stmt 1 view .LVU9
  211. 52 .loc 1 156 22 is_stmt 0 view .LVU10
  212. 53 0016 0A73 strb r2, [r1, #12]
  213. 157:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** /* Configure the PMA */
  214. 158:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** ep->pmaadress = (uint16_t)pmaadress;
  215. 54 .loc 1 158 5 is_stmt 1 view .LVU11
  216. 55 .loc 1 158 19 is_stmt 0 view .LVU12
  217. 56 0018 CB80 strh r3, [r1, #6] @ movhi
  218. 57 .LVL3:
  219. 58 .L5:
  220. 159:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** }
  221. 160:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** #if (USE_USB_DOUBLE_BUFFER == 1U)
  222. 161:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** else /* USB_DBL_BUF */
  223. 162:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** {
  224. 163:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** /* Double Buffer Endpoint */
  225. 164:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** ep->doublebuffer = 1U;
  226. 165:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** /* Configure the PMA */
  227. 166:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** ep->pmaaddr0 = (uint16_t)(pmaadress & 0xFFFFU);
  228. 167:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** ep->pmaaddr1 = (uint16_t)((pmaadress & 0xFFFF0000U) >> 16);
  229. 168:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** }
  230. 169:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** #endif /* (USE_USB_DOUBLE_BUFFER == 1U) */
  231. 170:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c ****
  232. 171:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** return HAL_OK;
  233. ARM GAS /tmp/ccqXYHEt.s page 5
  234. 59 .loc 1 171 3 is_stmt 1 view .LVU13
  235. 172:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** }
  236. 60 .loc 1 172 1 is_stmt 0 view .LVU14
  237. 61 001a 0020 movs r0, #0
  238. 62 .LVL4:
  239. 63 .loc 1 172 1 view .LVU15
  240. 64 001c 7047 bx lr
  241. 65 .LVL5:
  242. 66 .L2:
  243. 149:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** }
  244. 67 .loc 1 149 5 is_stmt 1 view .LVU16
  245. 149:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** }
  246. 68 .loc 1 149 8 is_stmt 0 view .LVU17
  247. 69 001e 01EB8101 add r1, r1, r1, lsl #2
  248. 70 .LVL6:
  249. 149:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** }
  250. 71 .loc 1 149 8 view .LVU18
  251. 72 0022 C900 lsls r1, r1, #3
  252. 73 0024 01F5B471 add r1, r1, #360
  253. 74 0028 0144 add r1, r1, r0
  254. 75 .LVL7:
  255. 149:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** }
  256. 76 .loc 1 149 8 view .LVU19
  257. 77 002a F3E7 b .L3
  258. 78 .L4:
  259. 164:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** /* Configure the PMA */
  260. 79 .loc 1 164 5 is_stmt 1 view .LVU20
  261. 164:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** /* Configure the PMA */
  262. 80 .loc 1 164 22 is_stmt 0 view .LVU21
  263. 81 002c 0122 movs r2, #1
  264. 82 .LVL8:
  265. 164:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** /* Configure the PMA */
  266. 83 .loc 1 164 22 view .LVU22
  267. 84 002e 0A73 strb r2, [r1, #12]
  268. 166:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** ep->pmaaddr1 = (uint16_t)((pmaadress & 0xFFFF0000U) >> 16);
  269. 85 .loc 1 166 5 is_stmt 1 view .LVU23
  270. 166:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** ep->pmaaddr1 = (uint16_t)((pmaadress & 0xFFFF0000U) >> 16);
  271. 86 .loc 1 166 18 is_stmt 0 view .LVU24
  272. 87 0030 0B81 strh r3, [r1, #8] @ movhi
  273. 167:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** }
  274. 88 .loc 1 167 5 is_stmt 1 view .LVU25
  275. 167:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** }
  276. 89 .loc 1 167 20 is_stmt 0 view .LVU26
  277. 90 0032 1B0C lsrs r3, r3, #16
  278. 91 .LVL9:
  279. 167:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** }
  280. 92 .loc 1 167 18 view .LVU27
  281. 93 0034 4B81 strh r3, [r1, #10] @ movhi
  282. 94 0036 F0E7 b .L5
  283. 95 .cfi_endproc
  284. 96 .LFE65:
  285. 98 .section .text.HAL_PCDEx_SetConnectionState,"ax",%progbits
  286. 99 .align 1
  287. 100 .weak HAL_PCDEx_SetConnectionState
  288. 101 .syntax unified
  289. 102 .thumb
  290. 103 .thumb_func
  291. ARM GAS /tmp/ccqXYHEt.s page 6
  292. 105 HAL_PCDEx_SetConnectionState:
  293. 106 .LVL10:
  294. 107 .LFB66:
  295. 173:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c ****
  296. 174:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** /**
  297. 175:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * @brief Software Device Connection,
  298. 176:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * this function is not required by USB OTG FS peripheral, it is used
  299. 177:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * only by USB Device FS peripheral.
  300. 178:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * @param hpcd PCD handle
  301. 179:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * @param state connection state (0 : disconnected / 1: connected)
  302. 180:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * @retval None
  303. 181:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** */
  304. 182:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** __weak void HAL_PCDEx_SetConnectionState(PCD_HandleTypeDef *hpcd, uint8_t state)
  305. 183:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** {
  306. 108 .loc 1 183 1 is_stmt 1 view -0
  307. 109 .cfi_startproc
  308. 110 @ args = 0, pretend = 0, frame = 0
  309. 111 @ frame_needed = 0, uses_anonymous_args = 0
  310. 112 @ link register save eliminated.
  311. 184:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** /* Prevent unused argument(s) compilation warning */
  312. 185:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** UNUSED(hpcd);
  313. 113 .loc 1 185 3 view .LVU29
  314. 186:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** UNUSED(state);
  315. 114 .loc 1 186 3 view .LVU30
  316. 187:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** /* NOTE : This function Should not be modified, when the callback is needed,
  317. 188:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** the HAL_PCDEx_SetConnectionState could be implemented in the user file
  318. 189:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** */
  319. 190:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** }
  320. 115 .loc 1 190 1 is_stmt 0 view .LVU31
  321. 116 0000 7047 bx lr
  322. 117 .cfi_endproc
  323. 118 .LFE66:
  324. 120 .section .text.HAL_PCDEx_LPM_Callback,"ax",%progbits
  325. 121 .align 1
  326. 122 .weak HAL_PCDEx_LPM_Callback
  327. 123 .syntax unified
  328. 124 .thumb
  329. 125 .thumb_func
  330. 127 HAL_PCDEx_LPM_Callback:
  331. 128 .LVL11:
  332. 129 .LFB67:
  333. 191:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** #endif /* defined (USB) */
  334. 192:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c ****
  335. 193:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** /**
  336. 194:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * @brief Send LPM message to user layer callback.
  337. 195:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * @param hpcd PCD handle
  338. 196:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * @param msg LPM message
  339. 197:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * @retval HAL status
  340. 198:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** */
  341. 199:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** __weak void HAL_PCDEx_LPM_Callback(PCD_HandleTypeDef *hpcd, PCD_LPM_MsgTypeDef msg)
  342. 200:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** {
  343. 130 .loc 1 200 1 is_stmt 1 view -0
  344. 131 .cfi_startproc
  345. 132 @ args = 0, pretend = 0, frame = 0
  346. 133 @ frame_needed = 0, uses_anonymous_args = 0
  347. 134 @ link register save eliminated.
  348. 201:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** /* Prevent unused argument(s) compilation warning */
  349. ARM GAS /tmp/ccqXYHEt.s page 7
  350. 202:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** UNUSED(hpcd);
  351. 135 .loc 1 202 3 view .LVU33
  352. 203:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** UNUSED(msg);
  353. 136 .loc 1 203 3 view .LVU34
  354. 204:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c ****
  355. 205:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** /* NOTE : This function should not be modified, when the callback is needed,
  356. 206:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** the HAL_PCDEx_LPM_Callback could be implemented in the user file
  357. 207:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** */
  358. 208:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** }
  359. 137 .loc 1 208 1 is_stmt 0 view .LVU35
  360. 138 0000 7047 bx lr
  361. 139 .cfi_endproc
  362. 140 .LFE67:
  363. 142 .section .text.HAL_PCDEx_BCD_Callback,"ax",%progbits
  364. 143 .align 1
  365. 144 .weak HAL_PCDEx_BCD_Callback
  366. 145 .syntax unified
  367. 146 .thumb
  368. 147 .thumb_func
  369. 149 HAL_PCDEx_BCD_Callback:
  370. 150 .LVL12:
  371. 151 .LFB68:
  372. 209:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c ****
  373. 210:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** /**
  374. 211:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * @brief Send BatteryCharging message to user layer callback.
  375. 212:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * @param hpcd PCD handle
  376. 213:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * @param msg LPM message
  377. 214:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** * @retval HAL status
  378. 215:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** */
  379. 216:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** __weak void HAL_PCDEx_BCD_Callback(PCD_HandleTypeDef *hpcd, PCD_BCD_MsgTypeDef msg)
  380. 217:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** {
  381. 152 .loc 1 217 1 is_stmt 1 view -0
  382. 153 .cfi_startproc
  383. 154 @ args = 0, pretend = 0, frame = 0
  384. 155 @ frame_needed = 0, uses_anonymous_args = 0
  385. 156 @ link register save eliminated.
  386. 218:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** /* Prevent unused argument(s) compilation warning */
  387. 219:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** UNUSED(hpcd);
  388. 157 .loc 1 219 3 view .LVU37
  389. 220:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** UNUSED(msg);
  390. 158 .loc 1 220 3 view .LVU38
  391. 221:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c ****
  392. 222:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** /* NOTE : This function should not be modified, when the callback is needed,
  393. 223:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** the HAL_PCDEx_BCD_Callback could be implemented in the user file
  394. 224:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** */
  395. 225:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c **** }
  396. 159 .loc 1 225 1 is_stmt 0 view .LVU39
  397. 160 0000 7047 bx lr
  398. 161 .cfi_endproc
  399. 162 .LFE68:
  400. 164 .text
  401. 165 .Letext0:
  402. 166 .file 2 "/opt/gcc-arm/arm-none-eabi/include/machine/_default_types.h"
  403. 167 .file 3 "/opt/gcc-arm/arm-none-eabi/include/sys/_stdint.h"
  404. 168 .file 4 "Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h"
  405. 169 .file 5 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h"
  406. 170 .file 6 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_usb.h"
  407. ARM GAS /tmp/ccqXYHEt.s page 8
  408. 171 .file 7 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pcd.h"
  409. ARM GAS /tmp/ccqXYHEt.s page 9
  410. DEFINED SYMBOLS
  411. *ABS*:0000000000000000 stm32f1xx_hal_pcd_ex.c
  412. /tmp/ccqXYHEt.s:18 .text.HAL_PCDEx_PMAConfig:0000000000000000 $t
  413. /tmp/ccqXYHEt.s:24 .text.HAL_PCDEx_PMAConfig:0000000000000000 HAL_PCDEx_PMAConfig
  414. /tmp/ccqXYHEt.s:99 .text.HAL_PCDEx_SetConnectionState:0000000000000000 $t
  415. /tmp/ccqXYHEt.s:105 .text.HAL_PCDEx_SetConnectionState:0000000000000000 HAL_PCDEx_SetConnectionState
  416. /tmp/ccqXYHEt.s:121 .text.HAL_PCDEx_LPM_Callback:0000000000000000 $t
  417. /tmp/ccqXYHEt.s:127 .text.HAL_PCDEx_LPM_Callback:0000000000000000 HAL_PCDEx_LPM_Callback
  418. /tmp/ccqXYHEt.s:143 .text.HAL_PCDEx_BCD_Callback:0000000000000000 $t
  419. /tmp/ccqXYHEt.s:149 .text.HAL_PCDEx_BCD_Callback:0000000000000000 HAL_PCDEx_BCD_Callback
  420. NO UNDEFINED SYMBOLS