ARM GAS  C:\Users\antras\AppData\Local\Temp\cciWjcnW.s 			page 1


   1              		.cpu cortex-m3
   2              		.eabi_attribute 20, 1
   3              		.eabi_attribute 21, 1
   4              		.eabi_attribute 23, 3
   5              		.eabi_attribute 24, 1
   6              		.eabi_attribute 25, 1
   7              		.eabi_attribute 26, 1
   8              		.eabi_attribute 30, 1
   9              		.eabi_attribute 34, 1
  10              		.eabi_attribute 18, 4
  11              		.file	"usbd_cdc_if.c"
  12              		.text
  13              	.Ltext0:
  14              		.cfi_sections	.debug_frame
  15              		.section	.text.CDC_DeInit_FS,"ax",%progbits
  16              		.align	1
  17              		.syntax unified
  18              		.thumb
  19              		.thumb_func
  20              		.fpu softvfp
  22              	CDC_DeInit_FS:
  23              	.LFB67:
  24              		.file 1 "Src/usbd_cdc_if.c"
   1:Src/usbd_cdc_if.c **** /* USER CODE BEGIN Header */
   2:Src/usbd_cdc_if.c **** /**
   3:Src/usbd_cdc_if.c ****   ******************************************************************************
   4:Src/usbd_cdc_if.c ****   * @file           : usbd_cdc_if.c
   5:Src/usbd_cdc_if.c ****   * @version        : v2.0_Cube
   6:Src/usbd_cdc_if.c ****   * @brief          : Usb device for Virtual Com Port.
   7:Src/usbd_cdc_if.c ****   ******************************************************************************
   8:Src/usbd_cdc_if.c ****   * @attention
   9:Src/usbd_cdc_if.c ****   *
  10:Src/usbd_cdc_if.c ****   * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
  11:Src/usbd_cdc_if.c ****   * All rights reserved.</center></h2>
  12:Src/usbd_cdc_if.c ****   *
  13:Src/usbd_cdc_if.c ****   * This software component is licensed by ST under Ultimate Liberty license
  14:Src/usbd_cdc_if.c ****   * SLA0044, the "License"; You may not use this file except in compliance with
  15:Src/usbd_cdc_if.c ****   * the License. You may obtain a copy of the License at:
  16:Src/usbd_cdc_if.c ****   *                             www.st.com/SLA0044
  17:Src/usbd_cdc_if.c ****   *
  18:Src/usbd_cdc_if.c ****   ******************************************************************************
  19:Src/usbd_cdc_if.c ****   */
  20:Src/usbd_cdc_if.c **** /* USER CODE END Header */
  21:Src/usbd_cdc_if.c **** 
  22:Src/usbd_cdc_if.c **** /* Includes ------------------------------------------------------------------*/
  23:Src/usbd_cdc_if.c **** #include "usbd_cdc_if.h"
  24:Src/usbd_cdc_if.c **** 
  25:Src/usbd_cdc_if.c **** /* USER CODE BEGIN INCLUDE */
  26:Src/usbd_cdc_if.c **** 
  27:Src/usbd_cdc_if.c **** /* USER CODE END INCLUDE */
  28:Src/usbd_cdc_if.c **** 
  29:Src/usbd_cdc_if.c **** /* Private typedef -----------------------------------------------------------*/
  30:Src/usbd_cdc_if.c **** /* Private define ------------------------------------------------------------*/
  31:Src/usbd_cdc_if.c **** /* Private macro -------------------------------------------------------------*/
  32:Src/usbd_cdc_if.c **** 
  33:Src/usbd_cdc_if.c **** /* USER CODE BEGIN PV */
  34:Src/usbd_cdc_if.c **** /* Private variables ---------------------------------------------------------*/
ARM GAS  C:\Users\antras\AppData\Local\Temp\cciWjcnW.s 			page 2


  35:Src/usbd_cdc_if.c **** extern UART_HandleTypeDef huart2; //va cia tikrai nezinau kaip reikia daryti, kad imtu globalini hu
  36:Src/usbd_cdc_if.c **** /* USER CODE END PV */
  37:Src/usbd_cdc_if.c **** 
  38:Src/usbd_cdc_if.c **** /** @addtogroup STM32_USB_OTG_DEVICE_LIBRARY
  39:Src/usbd_cdc_if.c ****   * @brief Usb device library.
  40:Src/usbd_cdc_if.c ****   * @{
  41:Src/usbd_cdc_if.c ****   */
  42:Src/usbd_cdc_if.c **** 
  43:Src/usbd_cdc_if.c **** /** @addtogroup USBD_CDC_IF
  44:Src/usbd_cdc_if.c ****   * @{
  45:Src/usbd_cdc_if.c ****   */
  46:Src/usbd_cdc_if.c **** 
  47:Src/usbd_cdc_if.c **** /** @defgroup USBD_CDC_IF_Private_TypesDefinitions USBD_CDC_IF_Private_TypesDefinitions
  48:Src/usbd_cdc_if.c ****   * @brief Private types.
  49:Src/usbd_cdc_if.c ****   * @{
  50:Src/usbd_cdc_if.c ****   */
  51:Src/usbd_cdc_if.c **** 
  52:Src/usbd_cdc_if.c **** /* USER CODE BEGIN PRIVATE_TYPES */
  53:Src/usbd_cdc_if.c **** 
  54:Src/usbd_cdc_if.c **** /* USER CODE END PRIVATE_TYPES */
  55:Src/usbd_cdc_if.c **** 
  56:Src/usbd_cdc_if.c **** /**
  57:Src/usbd_cdc_if.c ****   * @}
  58:Src/usbd_cdc_if.c ****   */
  59:Src/usbd_cdc_if.c **** 
  60:Src/usbd_cdc_if.c **** /** @defgroup USBD_CDC_IF_Private_Defines USBD_CDC_IF_Private_Defines
  61:Src/usbd_cdc_if.c ****   * @brief Private defines.
  62:Src/usbd_cdc_if.c ****   * @{
  63:Src/usbd_cdc_if.c ****   */
  64:Src/usbd_cdc_if.c **** 
  65:Src/usbd_cdc_if.c **** /* USER CODE BEGIN PRIVATE_DEFINES */
  66:Src/usbd_cdc_if.c **** /* Define size for the receive and transmit buffer over CDC */
  67:Src/usbd_cdc_if.c **** /* It's up to user to redefine and/or remove those define */
  68:Src/usbd_cdc_if.c **** #define APP_RX_DATA_SIZE  1000
  69:Src/usbd_cdc_if.c **** #define APP_TX_DATA_SIZE  1000
  70:Src/usbd_cdc_if.c **** /* USER CODE END PRIVATE_DEFINES */
  71:Src/usbd_cdc_if.c **** 
  72:Src/usbd_cdc_if.c **** /**
  73:Src/usbd_cdc_if.c ****   * @}
  74:Src/usbd_cdc_if.c ****   */
  75:Src/usbd_cdc_if.c **** 
  76:Src/usbd_cdc_if.c **** /** @defgroup USBD_CDC_IF_Private_Macros USBD_CDC_IF_Private_Macros
  77:Src/usbd_cdc_if.c ****   * @brief Private macros.
  78:Src/usbd_cdc_if.c ****   * @{
  79:Src/usbd_cdc_if.c ****   */
  80:Src/usbd_cdc_if.c **** 
  81:Src/usbd_cdc_if.c **** /* USER CODE BEGIN PRIVATE_MACRO */
  82:Src/usbd_cdc_if.c **** 
  83:Src/usbd_cdc_if.c **** /* USER CODE END PRIVATE_MACRO */
  84:Src/usbd_cdc_if.c **** 
  85:Src/usbd_cdc_if.c **** /**
  86:Src/usbd_cdc_if.c ****   * @}
  87:Src/usbd_cdc_if.c ****   */
  88:Src/usbd_cdc_if.c **** 
  89:Src/usbd_cdc_if.c **** /** @defgroup USBD_CDC_IF_Private_Variables USBD_CDC_IF_Private_Variables
  90:Src/usbd_cdc_if.c ****   * @brief Private variables.
  91:Src/usbd_cdc_if.c ****   * @{
ARM GAS  C:\Users\antras\AppData\Local\Temp\cciWjcnW.s 			page 3


  92:Src/usbd_cdc_if.c ****   */
  93:Src/usbd_cdc_if.c **** /* Create buffer for reception and transmission           */
  94:Src/usbd_cdc_if.c **** /* It's up to user to redefine and/or remove those define */
  95:Src/usbd_cdc_if.c **** /** Received data over USB are stored in this buffer      */
  96:Src/usbd_cdc_if.c **** uint8_t UserRxBufferFS[APP_RX_DATA_SIZE];
  97:Src/usbd_cdc_if.c **** 
  98:Src/usbd_cdc_if.c **** /** Data to send over USB CDC are stored in this buffer   */
  99:Src/usbd_cdc_if.c **** uint8_t UserTxBufferFS[APP_TX_DATA_SIZE];
 100:Src/usbd_cdc_if.c **** 
 101:Src/usbd_cdc_if.c **** /* USER CODE BEGIN PRIVATE_VARIABLES */
 102:Src/usbd_cdc_if.c **** //cia kaip ir buferis, nes windows nori ne tik konfiguruoti porta, bet ir paziureti ar jam pavyko.
 103:Src/usbd_cdc_if.c **** USBD_CDC_LineCodingTypeDef linecoding=
 104:Src/usbd_cdc_if.c **** 	{ 115200, /*greitis */
 105:Src/usbd_cdc_if.c **** 		0, /*stop bitai */
 106:Src/usbd_cdc_if.c **** 		0, /*parity */
 107:Src/usbd_cdc_if.c **** 		8 /* bitai */
 108:Src/usbd_cdc_if.c **** 	};
 109:Src/usbd_cdc_if.c **** 
 110:Src/usbd_cdc_if.c **** 
 111:Src/usbd_cdc_if.c **** 
 112:Src/usbd_cdc_if.c **** 
 113:Src/usbd_cdc_if.c **** /* USER CODE END PRIVATE_VARIABLES */
 114:Src/usbd_cdc_if.c **** 
 115:Src/usbd_cdc_if.c **** /**
 116:Src/usbd_cdc_if.c ****   * @}
 117:Src/usbd_cdc_if.c ****   */
 118:Src/usbd_cdc_if.c **** 
 119:Src/usbd_cdc_if.c **** /** @defgroup USBD_CDC_IF_Exported_Variables USBD_CDC_IF_Exported_Variables
 120:Src/usbd_cdc_if.c ****   * @brief Public variables.
 121:Src/usbd_cdc_if.c ****   * @{
 122:Src/usbd_cdc_if.c ****   */
 123:Src/usbd_cdc_if.c **** 
 124:Src/usbd_cdc_if.c **** extern USBD_HandleTypeDef hUsbDeviceFS;
 125:Src/usbd_cdc_if.c **** 
 126:Src/usbd_cdc_if.c **** /* USER CODE BEGIN EXPORTED_VARIABLES */
 127:Src/usbd_cdc_if.c **** 
 128:Src/usbd_cdc_if.c **** /* USER CODE END EXPORTED_VARIABLES */
 129:Src/usbd_cdc_if.c **** 
 130:Src/usbd_cdc_if.c **** /**
 131:Src/usbd_cdc_if.c ****   * @}
 132:Src/usbd_cdc_if.c ****   */
 133:Src/usbd_cdc_if.c **** 
 134:Src/usbd_cdc_if.c **** /** @defgroup USBD_CDC_IF_Private_FunctionPrototypes USBD_CDC_IF_Private_FunctionPrototypes
 135:Src/usbd_cdc_if.c ****   * @brief Private functions declaration.
 136:Src/usbd_cdc_if.c ****   * @{
 137:Src/usbd_cdc_if.c ****   */
 138:Src/usbd_cdc_if.c **** 
 139:Src/usbd_cdc_if.c **** static int8_t CDC_Init_FS(void);
 140:Src/usbd_cdc_if.c **** static int8_t CDC_DeInit_FS(void);
 141:Src/usbd_cdc_if.c **** static int8_t CDC_Control_FS(uint8_t cmd, uint8_t* pbuf, uint16_t length);
 142:Src/usbd_cdc_if.c **** static int8_t CDC_Receive_FS(uint8_t* pbuf, uint32_t *Len);
 143:Src/usbd_cdc_if.c **** 
 144:Src/usbd_cdc_if.c **** /* USER CODE BEGIN PRIVATE_FUNCTIONS_DECLARATION */
 145:Src/usbd_cdc_if.c **** 
 146:Src/usbd_cdc_if.c **** /* USER CODE END PRIVATE_FUNCTIONS_DECLARATION */
 147:Src/usbd_cdc_if.c **** 
 148:Src/usbd_cdc_if.c **** /**
ARM GAS  C:\Users\antras\AppData\Local\Temp\cciWjcnW.s 			page 4


 149:Src/usbd_cdc_if.c ****   * @}
 150:Src/usbd_cdc_if.c ****   */
 151:Src/usbd_cdc_if.c **** 
 152:Src/usbd_cdc_if.c **** USBD_CDC_ItfTypeDef USBD_Interface_fops_FS =
 153:Src/usbd_cdc_if.c **** {
 154:Src/usbd_cdc_if.c ****   CDC_Init_FS,
 155:Src/usbd_cdc_if.c ****   CDC_DeInit_FS,
 156:Src/usbd_cdc_if.c ****   CDC_Control_FS,
 157:Src/usbd_cdc_if.c ****   CDC_Receive_FS
 158:Src/usbd_cdc_if.c **** };
 159:Src/usbd_cdc_if.c **** 
 160:Src/usbd_cdc_if.c **** /* Private functions ---------------------------------------------------------*/
 161:Src/usbd_cdc_if.c **** /**
 162:Src/usbd_cdc_if.c ****   * @brief  Initializes the CDC media low layer over the FS USB IP
 163:Src/usbd_cdc_if.c ****   * @retval USBD_OK if all operations are OK else USBD_FAIL
 164:Src/usbd_cdc_if.c ****   */
 165:Src/usbd_cdc_if.c **** static int8_t CDC_Init_FS(void)
 166:Src/usbd_cdc_if.c **** {
 167:Src/usbd_cdc_if.c ****   /* USER CODE BEGIN 3 */
 168:Src/usbd_cdc_if.c ****   /* Set Application Buffers */
 169:Src/usbd_cdc_if.c ****   USBD_CDC_SetTxBuffer(&hUsbDeviceFS, UserTxBufferFS, 0);
 170:Src/usbd_cdc_if.c ****   USBD_CDC_SetRxBuffer(&hUsbDeviceFS, UserRxBufferFS);
 171:Src/usbd_cdc_if.c ****   return (USBD_OK);
 172:Src/usbd_cdc_if.c ****   /* USER CODE END 3 */
 173:Src/usbd_cdc_if.c **** }
 174:Src/usbd_cdc_if.c **** 
 175:Src/usbd_cdc_if.c **** /**
 176:Src/usbd_cdc_if.c ****   * @brief  DeInitializes the CDC media low layer
 177:Src/usbd_cdc_if.c ****   * @retval USBD_OK if all operations are OK else USBD_FAIL
 178:Src/usbd_cdc_if.c ****   */
 179:Src/usbd_cdc_if.c **** static int8_t CDC_DeInit_FS(void)
 180:Src/usbd_cdc_if.c **** {
  25              		.loc 1 180 0
  26              		.cfi_startproc
  27              		@ args = 0, pretend = 0, frame = 0
  28              		@ frame_needed = 0, uses_anonymous_args = 0
  29              		@ link register save eliminated.
 181:Src/usbd_cdc_if.c ****   /* USER CODE BEGIN 4 */
 182:Src/usbd_cdc_if.c ****   return (USBD_OK);
 183:Src/usbd_cdc_if.c ****   /* USER CODE END 4 */
 184:Src/usbd_cdc_if.c **** }
  30              		.loc 1 184 0
  31 0000 0020     		movs	r0, #0
  32 0002 7047     		bx	lr
  33              		.cfi_endproc
  34              	.LFE67:
  36              		.section	.text.CDC_Receive_FS,"ax",%progbits
  37              		.align	1
  38              		.syntax unified
  39              		.thumb
  40              		.thumb_func
  41              		.fpu softvfp
  43              	CDC_Receive_FS:
  44              	.LFB69:
 185:Src/usbd_cdc_if.c **** 
 186:Src/usbd_cdc_if.c **** /**
 187:Src/usbd_cdc_if.c ****   * @brief  Manage the CDC class requests
ARM GAS  C:\Users\antras\AppData\Local\Temp\cciWjcnW.s 			page 5


 188:Src/usbd_cdc_if.c ****   * @param  cmd: Command code
 189:Src/usbd_cdc_if.c ****   * @param  pbuf: Buffer containing command data (request parameters)
 190:Src/usbd_cdc_if.c ****   * @param  length: Number of data to be sent (in bytes)
 191:Src/usbd_cdc_if.c ****   * @retval Result of the operation: USBD_OK if all operations are OK else USBD_FAIL
 192:Src/usbd_cdc_if.c ****   */
 193:Src/usbd_cdc_if.c **** static int8_t CDC_Control_FS(uint8_t cmd, uint8_t* pbuf, uint16_t length)
 194:Src/usbd_cdc_if.c **** {
 195:Src/usbd_cdc_if.c ****   /* USER CODE BEGIN 5 */
 196:Src/usbd_cdc_if.c ****   switch(cmd)
 197:Src/usbd_cdc_if.c ****   {
 198:Src/usbd_cdc_if.c ****     case CDC_SEND_ENCAPSULATED_COMMAND:
 199:Src/usbd_cdc_if.c **** 
 200:Src/usbd_cdc_if.c ****     break;
 201:Src/usbd_cdc_if.c **** 
 202:Src/usbd_cdc_if.c ****     case CDC_GET_ENCAPSULATED_RESPONSE:
 203:Src/usbd_cdc_if.c **** 
 204:Src/usbd_cdc_if.c ****     break;
 205:Src/usbd_cdc_if.c **** 
 206:Src/usbd_cdc_if.c ****     case CDC_SET_COMM_FEATURE:
 207:Src/usbd_cdc_if.c **** 
 208:Src/usbd_cdc_if.c ****     break;
 209:Src/usbd_cdc_if.c **** 
 210:Src/usbd_cdc_if.c ****     case CDC_GET_COMM_FEATURE:
 211:Src/usbd_cdc_if.c **** 
 212:Src/usbd_cdc_if.c ****     break;
 213:Src/usbd_cdc_if.c **** 
 214:Src/usbd_cdc_if.c ****     case CDC_CLEAR_COMM_FEATURE:
 215:Src/usbd_cdc_if.c **** 
 216:Src/usbd_cdc_if.c ****     break;
 217:Src/usbd_cdc_if.c **** 
 218:Src/usbd_cdc_if.c ****   /*******************************************************************************/
 219:Src/usbd_cdc_if.c ****   /* Line Coding Structure                                                       */
 220:Src/usbd_cdc_if.c ****   /*-----------------------------------------------------------------------------*/
 221:Src/usbd_cdc_if.c ****   /* Offset | Field       | Size | Value  | Description                          */
 222:Src/usbd_cdc_if.c ****   /* 0      | dwDTERate   |   4  | Number |Data terminal rate, in bits per second*/
 223:Src/usbd_cdc_if.c ****   /* 4      | bCharFormat |   1  | Number | Stop bits                            */
 224:Src/usbd_cdc_if.c ****   /*                                        0 - 1 Stop bit                       */
 225:Src/usbd_cdc_if.c ****   /*                                        1 - 1.5 Stop bits                    */
 226:Src/usbd_cdc_if.c ****   /*                                        2 - 2 Stop bits                      */
 227:Src/usbd_cdc_if.c ****   /* 5      | bParityType |  1   | Number | Parity                               */
 228:Src/usbd_cdc_if.c ****   /*                                        0 - None                             */
 229:Src/usbd_cdc_if.c ****   /*                                        1 - Odd                              */
 230:Src/usbd_cdc_if.c ****   /*                                        2 - Even                             */
 231:Src/usbd_cdc_if.c ****   /*                                        3 - Mark                             */
 232:Src/usbd_cdc_if.c ****   /*                                        4 - Space                            */
 233:Src/usbd_cdc_if.c ****   /* 6      | bDataBits  |   1   | Number Data bits (5, 6, 7, 8 or 16).          */
 234:Src/usbd_cdc_if.c ****   /*******************************************************************************/
 235:Src/usbd_cdc_if.c ****     case CDC_SET_LINE_CODING:
 236:Src/usbd_cdc_if.c **** 		//cia kompas siuncia UARTo konfiguracija.
 237:Src/usbd_cdc_if.c **** 		linecoding.bitrate= (uint32_t) ((pbuf[0]) | (pbuf[1]<<8) | (pbuf[2]<<16) | (pbuf[3]<<24));
 238:Src/usbd_cdc_if.c **** 		linecoding.format =pbuf[4];
 239:Src/usbd_cdc_if.c **** 		linecoding.paritytype =pbuf[5];
 240:Src/usbd_cdc_if.c **** 		linecoding.datatype=pbuf[6];
 241:Src/usbd_cdc_if.c **** 		
 242:Src/usbd_cdc_if.c **** 		HAL_UART_DeInit(&huart2); //atjungiam
 243:Src/usbd_cdc_if.c **** 		huart2.Init.BaudRate=linecoding.bitrate;
 244:Src/usbd_cdc_if.c **** 		HAL_UART_Init(&huart2); //ijungiam per naujo
ARM GAS  C:\Users\antras\AppData\Local\Temp\cciWjcnW.s 			page 6


 245:Src/usbd_cdc_if.c **** 
 246:Src/usbd_cdc_if.c ****     break;
 247:Src/usbd_cdc_if.c **** 
 248:Src/usbd_cdc_if.c ****     case CDC_GET_LINE_CODING:
 249:Src/usbd_cdc_if.c **** 		//o cia windows ir putty nori nusiskaityti parametrus ir suzinoti ar sukonfiguravosi.
 250:Src/usbd_cdc_if.c **** 		pbuf[0]=(uint8_t) (linecoding.bitrate);
 251:Src/usbd_cdc_if.c **** 		pbuf[1]=(uint8_t) (linecoding.bitrate >>8);
 252:Src/usbd_cdc_if.c **** 		pbuf[2]=(uint8_t) (linecoding.bitrate >>16);
 253:Src/usbd_cdc_if.c **** 		pbuf[3]=(uint8_t) (linecoding.bitrate >>24);
 254:Src/usbd_cdc_if.c **** 		pbuf[4]=linecoding.format;
 255:Src/usbd_cdc_if.c **** 		pbuf[5]=linecoding.paritytype;
 256:Src/usbd_cdc_if.c **** 		pbuf[6]=linecoding.datatype;
 257:Src/usbd_cdc_if.c **** 		
 258:Src/usbd_cdc_if.c ****     break;
 259:Src/usbd_cdc_if.c **** 
 260:Src/usbd_cdc_if.c ****     case CDC_SET_CONTROL_LINE_STATE:
 261:Src/usbd_cdc_if.c **** 
 262:Src/usbd_cdc_if.c ****     break;
 263:Src/usbd_cdc_if.c **** 
 264:Src/usbd_cdc_if.c ****     case CDC_SEND_BREAK:
 265:Src/usbd_cdc_if.c **** 
 266:Src/usbd_cdc_if.c ****     break;
 267:Src/usbd_cdc_if.c **** 
 268:Src/usbd_cdc_if.c ****   default:
 269:Src/usbd_cdc_if.c ****     break;
 270:Src/usbd_cdc_if.c ****   }
 271:Src/usbd_cdc_if.c **** 
 272:Src/usbd_cdc_if.c ****   return (USBD_OK);
 273:Src/usbd_cdc_if.c ****   /* USER CODE END 5 */
 274:Src/usbd_cdc_if.c **** }
 275:Src/usbd_cdc_if.c **** 
 276:Src/usbd_cdc_if.c **** /**
 277:Src/usbd_cdc_if.c ****   * @brief  Data received over USB OUT endpoint are sent over CDC interface
 278:Src/usbd_cdc_if.c ****   *         through this function.
 279:Src/usbd_cdc_if.c ****   *
 280:Src/usbd_cdc_if.c ****   *         @note
 281:Src/usbd_cdc_if.c ****   *         This function will block any OUT packet reception on USB endpoint
 282:Src/usbd_cdc_if.c ****   *         untill exiting this function. If you exit this function before transfer
 283:Src/usbd_cdc_if.c ****   *         is complete on CDC interface (ie. using DMA controller) it will result
 284:Src/usbd_cdc_if.c ****   *         in receiving more data while previous ones are still not sent.
 285:Src/usbd_cdc_if.c ****   *
 286:Src/usbd_cdc_if.c ****   * @param  Buf: Buffer of data to be received
 287:Src/usbd_cdc_if.c ****   * @param  Len: Number of data received (in bytes)
 288:Src/usbd_cdc_if.c ****   * @retval Result of the operation: USBD_OK if all operations are OK else USBD_FAIL
 289:Src/usbd_cdc_if.c ****   */
 290:Src/usbd_cdc_if.c **** static int8_t CDC_Receive_FS(uint8_t* Buf, uint32_t *Len)
 291:Src/usbd_cdc_if.c **** {
  45              		.loc 1 291 0
  46              		.cfi_startproc
  47              		@ args = 0, pretend = 0, frame = 0
  48              		@ frame_needed = 0, uses_anonymous_args = 0
  49              	.LVL0:
  50 0000 38B5     		push	{r3, r4, r5, lr}
  51              	.LCFI0:
  52              		.cfi_def_cfa_offset 16
  53              		.cfi_offset 3, -16
  54              		.cfi_offset 4, -12
ARM GAS  C:\Users\antras\AppData\Local\Temp\cciWjcnW.s 			page 7


  55              		.cfi_offset 5, -8
  56              		.cfi_offset 14, -4
  57 0002 0446     		mov	r4, r0
 292:Src/usbd_cdc_if.c ****   /* USER CODE BEGIN 6 */
 293:Src/usbd_cdc_if.c ****   USBD_CDC_SetRxBuffer(&hUsbDeviceFS, &Buf[0]);
  58              		.loc 1 293 0
  59 0004 074D     		ldr	r5, .L4
  60 0006 0146     		mov	r1, r0
  61              	.LVL1:
  62 0008 2846     		mov	r0, r5
  63              	.LVL2:
  64 000a FFF7FEFF 		bl	USBD_CDC_SetRxBuffer
  65              	.LVL3:
 294:Src/usbd_cdc_if.c ****   USBD_CDC_ReceivePacket(&hUsbDeviceFS);
  66              		.loc 1 294 0
  67 000e 2846     		mov	r0, r5
  68 0010 FFF7FEFF 		bl	USBD_CDC_ReceivePacket
  69              	.LVL4:
 295:Src/usbd_cdc_if.c ****   HAL_UART_Transmit_IT(&huart2,Buf,sizeof(Buf)); //ka gavom per USB, ta dedam i UARTa.
  70              		.loc 1 295 0
  71 0014 0422     		movs	r2, #4
  72 0016 2146     		mov	r1, r4
  73 0018 0348     		ldr	r0, .L4+4
  74 001a FFF7FEFF 		bl	HAL_UART_Transmit_IT
  75              	.LVL5:
 296:Src/usbd_cdc_if.c ****   return (USBD_OK);
 297:Src/usbd_cdc_if.c ****   /* USER CODE END 6 */
 298:Src/usbd_cdc_if.c **** }
  76              		.loc 1 298 0
  77 001e 0020     		movs	r0, #0
  78 0020 38BD     		pop	{r3, r4, r5, pc}
  79              	.LVL6:
  80              	.L5:
  81 0022 00BF     		.align	2
  82              	.L4:
  83 0024 00000000 		.word	hUsbDeviceFS
  84 0028 00000000 		.word	huart2
  85              		.cfi_endproc
  86              	.LFE69:
  88              		.section	.text.CDC_Control_FS,"ax",%progbits
  89              		.align	1
  90              		.syntax unified
  91              		.thumb
  92              		.thumb_func
  93              		.fpu softvfp
  95              	CDC_Control_FS:
  96              	.LFB68:
 194:Src/usbd_cdc_if.c ****   /* USER CODE BEGIN 5 */
  97              		.loc 1 194 0
  98              		.cfi_startproc
  99              		@ args = 0, pretend = 0, frame = 0
 100              		@ frame_needed = 0, uses_anonymous_args = 0
 101              	.LVL7:
 102 0000 38B5     		push	{r3, r4, r5, lr}
 103              	.LCFI1:
 104              		.cfi_def_cfa_offset 16
 105              		.cfi_offset 3, -16
ARM GAS  C:\Users\antras\AppData\Local\Temp\cciWjcnW.s 			page 8


 106              		.cfi_offset 4, -12
 107              		.cfi_offset 5, -8
 108              		.cfi_offset 14, -4
 196:Src/usbd_cdc_if.c ****   {
 109              		.loc 1 196 0
 110 0002 2028     		cmp	r0, #32
 111 0004 03D0     		beq	.L8
 112 0006 2128     		cmp	r0, #33
 113 0008 1DD0     		beq	.L9
 114              	.LVL8:
 115              	.L7:
 274:Src/usbd_cdc_if.c **** 
 116              		.loc 1 274 0
 117 000a 0020     		movs	r0, #0
 118 000c 38BD     		pop	{r3, r4, r5, pc}
 119              	.LVL9:
 120              	.L8:
 237:Src/usbd_cdc_if.c **** 		linecoding.format =pbuf[4];
 121              		.loc 1 237 0
 122 000e 0B78     		ldrb	r3, [r1]	@ zero_extendqisi2
 123 0010 4A78     		ldrb	r2, [r1, #1]	@ zero_extendqisi2
 124              	.LVL10:
 125 0012 43EA0223 		orr	r3, r3, r2, lsl #8
 126 0016 8A78     		ldrb	r2, [r1, #2]	@ zero_extendqisi2
 127 0018 43EA0243 		orr	r3, r3, r2, lsl #16
 128 001c CA78     		ldrb	r2, [r1, #3]	@ zero_extendqisi2
 129 001e 43EA0263 		orr	r3, r3, r2, lsl #24
 130 0022 114C     		ldr	r4, .L11
 131 0024 2360     		str	r3, [r4]
 238:Src/usbd_cdc_if.c **** 		linecoding.paritytype =pbuf[5];
 132              		.loc 1 238 0
 133 0026 0B79     		ldrb	r3, [r1, #4]	@ zero_extendqisi2
 134 0028 2371     		strb	r3, [r4, #4]
 239:Src/usbd_cdc_if.c **** 		linecoding.datatype=pbuf[6];
 135              		.loc 1 239 0
 136 002a 4B79     		ldrb	r3, [r1, #5]	@ zero_extendqisi2
 137 002c 6371     		strb	r3, [r4, #5]
 240:Src/usbd_cdc_if.c **** 		
 138              		.loc 1 240 0
 139 002e 8B79     		ldrb	r3, [r1, #6]	@ zero_extendqisi2
 140 0030 A371     		strb	r3, [r4, #6]
 242:Src/usbd_cdc_if.c **** 		huart2.Init.BaudRate=linecoding.bitrate;
 141              		.loc 1 242 0
 142 0032 0E4D     		ldr	r5, .L11+4
 143 0034 2846     		mov	r0, r5
 144              	.LVL11:
 145 0036 FFF7FEFF 		bl	HAL_UART_DeInit
 146              	.LVL12:
 243:Src/usbd_cdc_if.c **** 		HAL_UART_Init(&huart2); //ijungiam per naujo
 147              		.loc 1 243 0
 148 003a 2368     		ldr	r3, [r4]
 149 003c 6B60     		str	r3, [r5, #4]
 244:Src/usbd_cdc_if.c **** 
 150              		.loc 1 244 0
 151 003e 2846     		mov	r0, r5
 152 0040 FFF7FEFF 		bl	HAL_UART_Init
 153              	.LVL13:
ARM GAS  C:\Users\antras\AppData\Local\Temp\cciWjcnW.s 			page 9


 246:Src/usbd_cdc_if.c **** 
 154              		.loc 1 246 0
 155 0044 E1E7     		b	.L7
 156              	.LVL14:
 157              	.L9:
 250:Src/usbd_cdc_if.c **** 		pbuf[1]=(uint8_t) (linecoding.bitrate >>8);
 158              		.loc 1 250 0
 159 0046 084B     		ldr	r3, .L11
 160 0048 1A78     		ldrb	r2, [r3]	@ zero_extendqisi2
 161              	.LVL15:
 162 004a 0A70     		strb	r2, [r1]
 251:Src/usbd_cdc_if.c **** 		pbuf[2]=(uint8_t) (linecoding.bitrate >>16);
 163              		.loc 1 251 0
 164 004c 5A78     		ldrb	r2, [r3, #1]	@ zero_extendqisi2
 165 004e 4A70     		strb	r2, [r1, #1]
 252:Src/usbd_cdc_if.c **** 		pbuf[3]=(uint8_t) (linecoding.bitrate >>24);
 166              		.loc 1 252 0
 167 0050 9A78     		ldrb	r2, [r3, #2]	@ zero_extendqisi2
 168 0052 8A70     		strb	r2, [r1, #2]
 253:Src/usbd_cdc_if.c **** 		pbuf[4]=linecoding.format;
 169              		.loc 1 253 0
 170 0054 DA78     		ldrb	r2, [r3, #3]	@ zero_extendqisi2
 171 0056 CA70     		strb	r2, [r1, #3]
 254:Src/usbd_cdc_if.c **** 		pbuf[5]=linecoding.paritytype;
 172              		.loc 1 254 0
 173 0058 1A79     		ldrb	r2, [r3, #4]	@ zero_extendqisi2
 174 005a 0A71     		strb	r2, [r1, #4]
 255:Src/usbd_cdc_if.c **** 		pbuf[6]=linecoding.datatype;
 175              		.loc 1 255 0
 176 005c 5A79     		ldrb	r2, [r3, #5]	@ zero_extendqisi2
 177 005e 4A71     		strb	r2, [r1, #5]
 256:Src/usbd_cdc_if.c **** 		
 178              		.loc 1 256 0
 179 0060 9B79     		ldrb	r3, [r3, #6]	@ zero_extendqisi2
 180 0062 8B71     		strb	r3, [r1, #6]
 258:Src/usbd_cdc_if.c **** 
 181              		.loc 1 258 0
 182 0064 D1E7     		b	.L7
 183              	.L12:
 184 0066 00BF     		.align	2
 185              	.L11:
 186 0068 00000000 		.word	.LANCHOR0
 187 006c 00000000 		.word	huart2
 188              		.cfi_endproc
 189              	.LFE68:
 191              		.section	.text.CDC_Init_FS,"ax",%progbits
 192              		.align	1
 193              		.syntax unified
 194              		.thumb
 195              		.thumb_func
 196              		.fpu softvfp
 198              	CDC_Init_FS:
 199              	.LFB66:
 166:Src/usbd_cdc_if.c ****   /* USER CODE BEGIN 3 */
 200              		.loc 1 166 0
 201              		.cfi_startproc
 202              		@ args = 0, pretend = 0, frame = 0
ARM GAS  C:\Users\antras\AppData\Local\Temp\cciWjcnW.s 			page 10


 203              		@ frame_needed = 0, uses_anonymous_args = 0
 204 0000 10B5     		push	{r4, lr}
 205              	.LCFI2:
 206              		.cfi_def_cfa_offset 8
 207              		.cfi_offset 4, -8
 208              		.cfi_offset 14, -4
 169:Src/usbd_cdc_if.c ****   USBD_CDC_SetRxBuffer(&hUsbDeviceFS, UserRxBufferFS);
 209              		.loc 1 169 0
 210 0002 064C     		ldr	r4, .L15
 211 0004 0022     		movs	r2, #0
 212 0006 0649     		ldr	r1, .L15+4
 213 0008 2046     		mov	r0, r4
 214 000a FFF7FEFF 		bl	USBD_CDC_SetTxBuffer
 215              	.LVL16:
 170:Src/usbd_cdc_if.c ****   return (USBD_OK);
 216              		.loc 1 170 0
 217 000e 0549     		ldr	r1, .L15+8
 218 0010 2046     		mov	r0, r4
 219 0012 FFF7FEFF 		bl	USBD_CDC_SetRxBuffer
 220              	.LVL17:
 173:Src/usbd_cdc_if.c **** 
 221              		.loc 1 173 0
 222 0016 0020     		movs	r0, #0
 223 0018 10BD     		pop	{r4, pc}
 224              	.L16:
 225 001a 00BF     		.align	2
 226              	.L15:
 227 001c 00000000 		.word	hUsbDeviceFS
 228 0020 00000000 		.word	UserTxBufferFS
 229 0024 00000000 		.word	UserRxBufferFS
 230              		.cfi_endproc
 231              	.LFE66:
 233              		.section	.text.CDC_Transmit_FS,"ax",%progbits
 234              		.align	1
 235              		.global	CDC_Transmit_FS
 236              		.syntax unified
 237              		.thumb
 238              		.thumb_func
 239              		.fpu softvfp
 241              	CDC_Transmit_FS:
 242              	.LFB70:
 299:Src/usbd_cdc_if.c **** 
 300:Src/usbd_cdc_if.c **** /**
 301:Src/usbd_cdc_if.c ****   * @brief  CDC_Transmit_FS
 302:Src/usbd_cdc_if.c ****   *         Data to send over USB IN endpoint are sent over CDC interface
 303:Src/usbd_cdc_if.c ****   *         through this function.
 304:Src/usbd_cdc_if.c ****   *         @note
 305:Src/usbd_cdc_if.c ****   *
 306:Src/usbd_cdc_if.c ****   *
 307:Src/usbd_cdc_if.c ****   * @param  Buf: Buffer of data to be sent
 308:Src/usbd_cdc_if.c ****   * @param  Len: Number of data to be sent (in bytes)
 309:Src/usbd_cdc_if.c ****   * @retval USBD_OK if all operations are OK else USBD_FAIL or USBD_BUSY
 310:Src/usbd_cdc_if.c ****   */
 311:Src/usbd_cdc_if.c **** uint8_t CDC_Transmit_FS(uint8_t* Buf, uint16_t Len)
 312:Src/usbd_cdc_if.c **** {
 243              		.loc 1 312 0
 244              		.cfi_startproc
ARM GAS  C:\Users\antras\AppData\Local\Temp\cciWjcnW.s 			page 11


 245              		@ args = 0, pretend = 0, frame = 0
 246              		@ frame_needed = 0, uses_anonymous_args = 0
 247              	.LVL18:
 313:Src/usbd_cdc_if.c ****   uint8_t result = USBD_OK;
 314:Src/usbd_cdc_if.c ****   /* USER CODE BEGIN 7 */
 315:Src/usbd_cdc_if.c ****   USBD_CDC_HandleTypeDef *hcdc = (USBD_CDC_HandleTypeDef*)hUsbDeviceFS.pClassData;
 248              		.loc 1 315 0
 249 0000 094B     		ldr	r3, .L25
 250 0002 D3F8B832 		ldr	r3, [r3, #696]
 251              	.LVL19:
 316:Src/usbd_cdc_if.c ****   if (hcdc->TxState != 0){
 252              		.loc 1 316 0
 253 0006 D3F81432 		ldr	r3, [r3, #532]
 254              	.LVL20:
 255 000a 0BB1     		cbz	r3, .L24
 317:Src/usbd_cdc_if.c ****     return USBD_BUSY;
 256              		.loc 1 317 0
 257 000c 0120     		movs	r0, #1
 258              	.LVL21:
 259 000e 7047     		bx	lr
 260              	.LVL22:
 261              	.L24:
 312:Src/usbd_cdc_if.c ****   uint8_t result = USBD_OK;
 262              		.loc 1 312 0
 263 0010 10B5     		push	{r4, lr}
 264              	.LCFI3:
 265              		.cfi_def_cfa_offset 8
 266              		.cfi_offset 4, -8
 267              		.cfi_offset 14, -4
 268 0012 0A46     		mov	r2, r1
 269 0014 0146     		mov	r1, r0
 270              	.LVL23:
 318:Src/usbd_cdc_if.c ****   }
 319:Src/usbd_cdc_if.c ****   USBD_CDC_SetTxBuffer(&hUsbDeviceFS, Buf, Len);
 271              		.loc 1 319 0
 272 0016 044C     		ldr	r4, .L25
 273              	.LVL24:
 274 0018 2046     		mov	r0, r4
 275              	.LVL25:
 276 001a FFF7FEFF 		bl	USBD_CDC_SetTxBuffer
 277              	.LVL26:
 320:Src/usbd_cdc_if.c ****   result = USBD_CDC_TransmitPacket(&hUsbDeviceFS);
 278              		.loc 1 320 0
 279 001e 2046     		mov	r0, r4
 280 0020 FFF7FEFF 		bl	USBD_CDC_TransmitPacket
 281              	.LVL27:
 321:Src/usbd_cdc_if.c ****   /* USER CODE END 7 */
 322:Src/usbd_cdc_if.c ****   return result;
 282              		.loc 1 322 0
 283 0024 10BD     		pop	{r4, pc}
 284              	.L26:
 285 0026 00BF     		.align	2
 286              	.L25:
 287 0028 00000000 		.word	hUsbDeviceFS
 288              		.cfi_endproc
 289              	.LFE70:
 291              		.global	USBD_Interface_fops_FS
ARM GAS  C:\Users\antras\AppData\Local\Temp\cciWjcnW.s 			page 12


 292              		.global	linecoding
 293              		.comm	UserTxBufferFS,1000,4
 294              		.comm	UserRxBufferFS,1000,4
 295              		.section	.data.USBD_Interface_fops_FS,"aw",%progbits
 296              		.align	2
 299              	USBD_Interface_fops_FS:
 300 0000 00000000 		.word	CDC_Init_FS
 301 0004 00000000 		.word	CDC_DeInit_FS
 302 0008 00000000 		.word	CDC_Control_FS
 303 000c 00000000 		.word	CDC_Receive_FS
 304              		.section	.data.linecoding,"aw",%progbits
 305              		.align	2
 306              		.set	.LANCHOR0,. + 0
 309              	linecoding:
 310 0000 00C20100 		.word	115200
 311 0004 00       		.byte	0
 312 0005 00       		.byte	0
 313 0006 08       		.byte	8
 314 0007 00       		.space	1
 315              		.text
 316              	.Letext0:
 317              		.file 2 "c:\\program files (x86)\\gnu tools arm embedded\\6 2017-q2-update\\arm-none-eabi\\include
 318              		.file 3 "c:\\program files (x86)\\gnu tools arm embedded\\6 2017-q2-update\\arm-none-eabi\\include
 319              		.file 4 "c:\\program files (x86)\\gnu tools arm embedded\\6 2017-q2-update\\arm-none-eabi\\include
 320              		.file 5 "c:\\program files (x86)\\gnu tools arm embedded\\6 2017-q2-update\\lib\\gcc\\arm-none-eab
 321              		.file 6 "c:\\program files (x86)\\gnu tools arm embedded\\6 2017-q2-update\\arm-none-eabi\\include
 322              		.file 7 "c:\\program files (x86)\\gnu tools arm embedded\\6 2017-q2-update\\arm-none-eabi\\include
 323              		.file 8 "c:\\program files (x86)\\gnu tools arm embedded\\6 2017-q2-update\\arm-none-eabi\\include
 324              		.file 9 "Drivers/CMSIS/Include/core_cm3.h"
 325              		.file 10 "Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h"
 326              		.file 11 "Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f102xb.h"
 327              		.file 12 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h"
 328              		.file 13 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma.h"
 329              		.file 14 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_uart.h"
 330              		.file 15 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h"
 331              		.file 16 "Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h"
 332              		.file 17 "Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Inc/usbd_cdc.h"
 333              		.file 18 "Inc/usbd_cdc_if.h"
ARM GAS  C:\Users\antras\AppData\Local\Temp\cciWjcnW.s 			page 13


DEFINED SYMBOLS
                            *ABS*:00000000 usbd_cdc_if.c
C:\Users\antras\AppData\Local\Temp\cciWjcnW.s:16     .text.CDC_DeInit_FS:00000000 $t
C:\Users\antras\AppData\Local\Temp\cciWjcnW.s:22     .text.CDC_DeInit_FS:00000000 CDC_DeInit_FS
C:\Users\antras\AppData\Local\Temp\cciWjcnW.s:37     .text.CDC_Receive_FS:00000000 $t
C:\Users\antras\AppData\Local\Temp\cciWjcnW.s:43     .text.CDC_Receive_FS:00000000 CDC_Receive_FS
C:\Users\antras\AppData\Local\Temp\cciWjcnW.s:83     .text.CDC_Receive_FS:00000024 $d
C:\Users\antras\AppData\Local\Temp\cciWjcnW.s:89     .text.CDC_Control_FS:00000000 $t
C:\Users\antras\AppData\Local\Temp\cciWjcnW.s:95     .text.CDC_Control_FS:00000000 CDC_Control_FS
C:\Users\antras\AppData\Local\Temp\cciWjcnW.s:186    .text.CDC_Control_FS:00000068 $d
C:\Users\antras\AppData\Local\Temp\cciWjcnW.s:192    .text.CDC_Init_FS:00000000 $t
C:\Users\antras\AppData\Local\Temp\cciWjcnW.s:198    .text.CDC_Init_FS:00000000 CDC_Init_FS
C:\Users\antras\AppData\Local\Temp\cciWjcnW.s:227    .text.CDC_Init_FS:0000001c $d
                            *COM*:000003e8 UserTxBufferFS
                            *COM*:000003e8 UserRxBufferFS
C:\Users\antras\AppData\Local\Temp\cciWjcnW.s:234    .text.CDC_Transmit_FS:00000000 $t
C:\Users\antras\AppData\Local\Temp\cciWjcnW.s:241    .text.CDC_Transmit_FS:00000000 CDC_Transmit_FS
C:\Users\antras\AppData\Local\Temp\cciWjcnW.s:287    .text.CDC_Transmit_FS:00000028 $d
C:\Users\antras\AppData\Local\Temp\cciWjcnW.s:299    .data.USBD_Interface_fops_FS:00000000 USBD_Interface_fops_FS
C:\Users\antras\AppData\Local\Temp\cciWjcnW.s:309    .data.linecoding:00000000 linecoding
C:\Users\antras\AppData\Local\Temp\cciWjcnW.s:296    .data.USBD_Interface_fops_FS:00000000 $d
C:\Users\antras\AppData\Local\Temp\cciWjcnW.s:305    .data.linecoding:00000000 $d
                     .debug_frame:00000010 $d

UNDEFINED SYMBOLS
USBD_CDC_SetRxBuffer
USBD_CDC_ReceivePacket
HAL_UART_Transmit_IT
hUsbDeviceFS
huart2
HAL_UART_DeInit
HAL_UART_Init
USBD_CDC_SetTxBuffer
USBD_CDC_TransmitPacket
