Ver código fonte

на всякий заккомитил, чтобы изменения не потерять

Влад 2 meses atrás
pai
commit
711428ad69
14 arquivos alterados com 15754 adições e 17035 exclusões
  1. 2 2
      Core/Inc/RFDAproto.h
  2. 15 40
      Core/Src/RFDAproto.c
  3. 1 1
      Core/Src/main.c
  4. 4 1
      USB_DEVICE/App/usbd_cdc_if.c
  5. BIN
      build/RFDA4005.bin
  6. BIN
      build/RFDA4005.elf
  7. 1036 1038
      build/RFDA4005.hex
  8. 1741 1362
      build/RFDA4005.map
  9. 176 2005
      build/RFDAproto.lst
  10. BIN
      build/RFDAproto.o
  11. 12494 12306
      build/main.lst
  12. BIN
      build/main.o
  13. 285 280
      build/usbd_cdc_if.lst
  14. BIN
      build/usbd_cdc_if.o

+ 2 - 2
Core/Inc/RFDAproto.h

@@ -1,3 +1,3 @@
 #include "main.h"
-void RFDA_init(void);
-void RFDA(uint8_t k);
+void PWM_init(void);
+void PWM(uint8_t ar,uint8_t cc);

+ 15 - 40
Core/Src/RFDAproto.c

@@ -15,49 +15,23 @@
 uint32_t buf[BUF_LEN];
 uint8_t i;
 
-void RFDA_init(void){
-
-	//GPIO CFG
-	WRITE_REG(LE_AND_DATA_PORT->BSRR,LE_S); //SET LE
-
-	//TIM CFG
-	WRITE_REG(RFDA_TIM->ARR,RFDA_TIM_ARR); //SET autoreload value
-	WRITE_REG(RFDA_TIM->CCR1,RFDA_TIM_CCR1);//SET capture-compare value
+void PWM_init(void){
 
 	SET_BIT(RFDA_TIM->BDTR,TIM_BDTR_MOE);//OUTPUT ENABLE
-	SET_BIT(RFDA_TIM->DIER,TIM_DIER_UDE); //UDE: Update DMA request enable
-	SET_BIT(RFDA_TIM->CCER, TIM_CCER_CC1E); //Capture/Compare 1 output enable
 
-	//DMA CFG
-	CLEAR_BIT(DMA_CH->CCR, DMA_CCR_EN); //disable DMA channel
-	/////////////////////////////////////
-	WRITE_REG(DMA_CH->CPAR, (uint32_t)(&(LE_AND_DATA_PORT->BSRR))); //peripherial address (to)
-	WRITE_REG(DMA_CH->CMAR, (uint32_t)((buf))); //mem address (from)
-	SET_BIT(DMA_CH->CCR, DMA_CCR_TCIE); //TCIE: Transfer complete interrupt enable
-	NVIC_EnableIRQ(DMA1_Channel5_IRQn); //ENABLE end of transfer IRQ
-	SET_BIT(DMA1->IFCR, DMA_IFCR_CTCIF5); //CTCIFx: Channel x transfer complete flag clear (x = 1 ..7)
-	//////////////////////////////////////
-	SET_BIT(DMA_CH->CCR,DMA_CCR_EN); //enable DMA channel
+	SET_BIT(RFDA_TIM->CCER, TIM_CCER_CC1E); //Capture/Compare 1 output enable
 }
-void RFDA(uint8_t k){
-	if(k!=7U){
-		for(i=0;i<BUF_LEN-1-k;i++) buf[i] = DATA_S; //1...1
-		buf[BUF_LEN-1-k] = DATA_R; //0
-		for(i=BUF_LEN-k;i<BUF_LEN-1;i++) buf[i] = DATA_S; //1...1
-	}
-	else{
-		for(i=0;i<BUF_LEN;i++) buf[i]= DATA_R; //0...0
-	}
-	//DMA CFG
-	CLEAR_BIT(DMA_CH->CCR,DMA_CCR_EN); //disable channel
-	MODIFY_REG(DMA_CH->CNDTR, DMA_CNDTR_NDT, BUF_LEN);
-	SET_BIT(DMA_CH->CCR,DMA_CCR_EN); //enable channel
-
-	WRITE_REG(LE_AND_DATA_PORT->BSRR,LE_R); //LE RESET at start of transfer
+void PWM(uint8_t ar,uint8_t cc){
+	//TIM CFG
+    CLEAR_BIT(RFDA_TIM->CR1, TIM_CR1_CEN); //turn off counter
+    CLEAR_BIT(RFDA_TIM->CCER, TIM_CCER_CC1E); //disable data OUTPUT
+	WRITE_REG(RFDA_TIM->ARR,ar); //SET autoreload value
+	WRITE_REG(RFDA_TIM->CCR1,cc);//SET capture-compare value
 	WRITE_REG(RFDA_TIM->CNT,0U); //Set TIM counter to zero
 	SET_BIT(RFDA_TIM->CCER, TIM_CCER_CC1E); //enable data OUTPUT
+    SET_BIT(RFDA_TIM->EGR, TIM_EGR_UG); //update gen
 	SET_BIT(RFDA_TIM->CR1,TIM_CR1_CEN); //enable counter
-	SET_BIT(RFDA_TIM->EGR,TIM_EGR_UG); //generate update at start (first dma transfer)
+
 }
 
 /**
@@ -66,13 +40,14 @@ void RFDA(uint8_t k){
 void DMA1_Channel5_IRQHandler(void)
 {
   /* USER CODE BEGIN DMA1_Channel2_IRQn 0 */
-	CLEAR_BIT(RFDA_TIM->CR1, TIM_CR1_CEN); //turn off counter
-	CLEAR_BIT(RFDA_TIM->CCER, TIM_CCER_CC1E); //disable data channel
-	WRITE_REG(LE_AND_DATA_PORT->BSRR,LE_S|DATA_R); //LE SET and DATA RESET at the END of transfer
-	SET_BIT(DMA1->IFCR, DMA_IFCR_CTCIF5); //CTCIFx: Channel x transfer complete flag clear (x = 1 ..7)
+//	CLEAR_BIT(RFDA_TIM->CR1, TIM_CR1_CEN); //turn off counter
+//	CLEAR_BIT(RFDA_TIM->CCER, TIM_CCER_CC1E); //disable data channel
+//	WRITE_REG(LE_AND_DATA_PORT->BSRR,LE_S|DATA_R); //LE SET and DATA RESET at the END of transfer
+//	SET_BIT(DMA1->IFCR, DMA_IFCR_CTCIF5); //CTCIFx: Channel x transfer complete flag clear (x = 1 ..7)
   /* USER CODE END DMA1_Channel2_IRQn 0 */
 
   /* USER CODE BEGIN DMA1_Channel2_IRQn 1 */
 
+
   /* USER CODE END DMA1_Channel2_IRQn 1 */
 }

+ 1 - 1
Core/Src/main.c

@@ -94,7 +94,7 @@ int main(void)
   MX_USB_DEVICE_Init();
   MX_TIM1_Init();
   /* USER CODE BEGIN 2 */
-  RFDA_init();
+  PWM_init();
   LL_mDelay(500);
   /* USER CODE END 2 */
 

+ 4 - 1
USB_DEVICE/App/usbd_cdc_if.c

@@ -261,7 +261,10 @@ static int8_t CDC_Receive_FS(uint8_t* Buf, uint32_t *Len)
   /* USER CODE BEGIN 6 */
 	  USBD_CDC_SetRxBuffer(&hUsbDeviceFS, &Buf[0]);
 	  USBD_CDC_ReceivePacket(&hUsbDeviceFS);
-	  RFDA(*Buf);
+	  uint8_t ar = Buf[0];
+	  uint8_t cc = Buf[1];
+	  PWM((uint16_t)ar,(uint16_t)cc);
+
 	  return (USBD_OK);
   /* USER CODE END 6 */
 }

BIN
build/RFDA4005.bin


BIN
build/RFDA4005.elf


Diferenças do arquivo suprimidas por serem muito extensas
+ 1036 - 1038
build/RFDA4005.hex


Diferenças do arquivo suprimidas por serem muito extensas
+ 1741 - 1362
build/RFDA4005.map


Diferenças do arquivo suprimidas por serem muito extensas
+ 176 - 2005
build/RFDAproto.lst


BIN
build/RFDAproto.o


Diferenças do arquivo suprimidas por serem muito extensas
+ 12494 - 12306
build/main.lst


BIN
build/main.o


+ 285 - 280
build/usbd_cdc_if.lst

@@ -1,4 +1,4 @@
-ARM GAS  /tmp/ccwDZrAF.s 			page 1
+ARM GAS  /tmp/ccjzxu7E.s 			page 1
 
 
    1              		.cpu cortex-m3
@@ -17,14 +17,14 @@ ARM GAS  /tmp/ccwDZrAF.s 			page 1
   14              		.text
   15              	.Ltext0:
   16              		.cfi_sections	.debug_frame
-  17              		.section	.text.CDC_DeInit_FS,"ax",%progbits
-  18              		.align	1
-  19              		.syntax unified
-  20              		.thumb
-  21              		.thumb_func
-  23              	CDC_DeInit_FS:
-  24              	.LFB656:
-  25              		.file 1 "USB_DEVICE/App/usbd_cdc_if.c"
+  17              		.file 1 "USB_DEVICE/App/usbd_cdc_if.c"
+  18              		.section	.text.CDC_DeInit_FS,"ax",%progbits
+  19              		.align	1
+  20              		.syntax unified
+  21              		.thumb
+  22              		.thumb_func
+  24              	CDC_DeInit_FS:
+  25              	.LFB656:
    1:USB_DEVICE/App/usbd_cdc_if.c **** /* USER CODE BEGIN Header */
    2:USB_DEVICE/App/usbd_cdc_if.c **** /**
    3:USB_DEVICE/App/usbd_cdc_if.c ****   ******************************************************************************
@@ -58,7 +58,7 @@ ARM GAS  /tmp/ccwDZrAF.s 			page 1
   31:USB_DEVICE/App/usbd_cdc_if.c **** 
   32:USB_DEVICE/App/usbd_cdc_if.c **** /* USER CODE BEGIN PV */
   33:USB_DEVICE/App/usbd_cdc_if.c **** /* Private variables ---------------------------------------------------------*/
-ARM GAS  /tmp/ccwDZrAF.s 			page 2
+ARM GAS  /tmp/ccjzxu7E.s 			page 2
 
 
   34:USB_DEVICE/App/usbd_cdc_if.c **** 
@@ -118,7 +118,7 @@ ARM GAS  /tmp/ccwDZrAF.s 			page 1
   88:USB_DEVICE/App/usbd_cdc_if.c **** /* Create buffer for reception and transmission           */
   89:USB_DEVICE/App/usbd_cdc_if.c **** /* It's up to user to redefine and/or remove those define */
   90:USB_DEVICE/App/usbd_cdc_if.c **** /** Received data over USB are stored in this buffer      */
-ARM GAS  /tmp/ccwDZrAF.s 			page 3
+ARM GAS  /tmp/ccjzxu7E.s 			page 3
 
 
   91:USB_DEVICE/App/usbd_cdc_if.c **** uint8_t UserRxBufferFS[APP_RX_DATA_SIZE];
@@ -178,7 +178,7 @@ ARM GAS  /tmp/ccwDZrAF.s 			page 1
  145:USB_DEVICE/App/usbd_cdc_if.c **** /* Private functions ---------------------------------------------------------*/
  146:USB_DEVICE/App/usbd_cdc_if.c **** /**
  147:USB_DEVICE/App/usbd_cdc_if.c ****   * @brief  Initializes the CDC media low layer over the FS USB IP
-ARM GAS  /tmp/ccwDZrAF.s 			page 4
+ARM GAS  /tmp/ccjzxu7E.s 			page 4
 
 
  148:USB_DEVICE/App/usbd_cdc_if.c ****   * @retval USBD_OK if all operations are OK else USBD_FAIL
@@ -238,7 +238,7 @@ ARM GAS  /tmp/ccwDZrAF.s 			page 1
   50              		@ frame_needed = 0, uses_anonymous_args = 0
   51              		@ link register save eliminated.
  180:USB_DEVICE/App/usbd_cdc_if.c ****   /* USER CODE BEGIN 5 */
-ARM GAS  /tmp/ccwDZrAF.s 			page 5
+ARM GAS  /tmp/ccjzxu7E.s 			page 5
 
 
  181:USB_DEVICE/App/usbd_cdc_if.c ****   switch(cmd)
@@ -298,31 +298,32 @@ ARM GAS  /tmp/ccwDZrAF.s 			page 1
  234:USB_DEVICE/App/usbd_cdc_if.c ****     break;
  235:USB_DEVICE/App/usbd_cdc_if.c **** 
  236:USB_DEVICE/App/usbd_cdc_if.c ****   default:
-ARM GAS  /tmp/ccwDZrAF.s 			page 6
+ARM GAS  /tmp/ccjzxu7E.s 			page 6
 
 
  237:USB_DEVICE/App/usbd_cdc_if.c ****     break;
+  53              		.loc 1 237 5 view .LVU5
  238:USB_DEVICE/App/usbd_cdc_if.c ****   }
  239:USB_DEVICE/App/usbd_cdc_if.c **** 
  240:USB_DEVICE/App/usbd_cdc_if.c ****   return (USBD_OK);
-  53              		.loc 1 240 3 view .LVU5
+  54              		.loc 1 240 3 view .LVU6
  241:USB_DEVICE/App/usbd_cdc_if.c ****   /* USER CODE END 5 */
  242:USB_DEVICE/App/usbd_cdc_if.c **** }
-  54              		.loc 1 242 1 is_stmt 0 view .LVU6
-  55 0000 0020     		movs	r0, #0
-  56              	.LVL1:
-  57              		.loc 1 242 1 view .LVU7
-  58 0002 7047     		bx	lr
-  59              		.cfi_endproc
-  60              	.LFE657:
-  62              		.section	.text.CDC_Receive_FS,"ax",%progbits
-  63              		.align	1
-  64              		.syntax unified
-  65              		.thumb
-  66              		.thumb_func
-  68              	CDC_Receive_FS:
-  69              	.LVL2:
-  70              	.LFB658:
+  55              		.loc 1 242 1 is_stmt 0 view .LVU7
+  56 0000 0020     		movs	r0, #0
+  57              	.LVL1:
+  58              		.loc 1 242 1 view .LVU8
+  59 0002 7047     		bx	lr
+  60              		.cfi_endproc
+  61              	.LFE657:
+  63              		.section	.text.CDC_Receive_FS,"ax",%progbits
+  64              		.align	1
+  65              		.syntax unified
+  66              		.thumb
+  67              		.thumb_func
+  69              	CDC_Receive_FS:
+  70              	.LVL2:
+  71              	.LFB658:
  243:USB_DEVICE/App/usbd_cdc_if.c **** 
  244:USB_DEVICE/App/usbd_cdc_if.c **** /**
  245:USB_DEVICE/App/usbd_cdc_if.c ****   * @brief  Data received over USB OUT endpoint are sent over CDC interface
@@ -341,278 +342,282 @@ ARM GAS  /tmp/ccwDZrAF.s 			page 1
  258:USB_DEVICE/App/usbd_cdc_if.c ****   */
  259:USB_DEVICE/App/usbd_cdc_if.c **** static int8_t CDC_Receive_FS(uint8_t* Buf, uint32_t *Len)
  260:USB_DEVICE/App/usbd_cdc_if.c **** {
-  71              		.loc 1 260 1 is_stmt 1 view -0
-  72              		.cfi_startproc
-  73              		@ args = 0, pretend = 0, frame = 0
-  74              		@ frame_needed = 0, uses_anonymous_args = 0
-  75              		.loc 1 260 1 is_stmt 0 view .LVU9
-  76 0000 38B5     		push	{r3, r4, r5, lr}
-  77              	.LCFI0:
-  78              		.cfi_def_cfa_offset 16
-  79              		.cfi_offset 3, -16
-  80              		.cfi_offset 4, -12
-  81              		.cfi_offset 5, -8
-  82              		.cfi_offset 14, -4
-  83 0002 0446     		mov	r4, r0
+  72              		.loc 1 260 1 is_stmt 1 view -0
+  73              		.cfi_startproc
+  74              		@ args = 0, pretend = 0, frame = 0
+  75              		@ frame_needed = 0, uses_anonymous_args = 0
+  76              		.loc 1 260 1 is_stmt 0 view .LVU10
+  77 0000 38B5     		push	{r3, r4, r5, lr}
+  78              	.LCFI0:
+  79              		.cfi_def_cfa_offset 16
+  80              		.cfi_offset 3, -16
+  81              		.cfi_offset 4, -12
+  82              		.cfi_offset 5, -8
+  83              		.cfi_offset 14, -4
+  84 0002 0446     		mov	r4, r0
  261:USB_DEVICE/App/usbd_cdc_if.c ****   /* USER CODE BEGIN 6 */
  262:USB_DEVICE/App/usbd_cdc_if.c **** 	  USBD_CDC_SetRxBuffer(&hUsbDeviceFS, &Buf[0]);
-  84              		.loc 1 262 4 is_stmt 1 view .LVU10
-  85 0004 064D     		ldr	r5, .L5
-ARM GAS  /tmp/ccwDZrAF.s 			page 7
+  85              		.loc 1 262 4 is_stmt 1 view .LVU11
+ARM GAS  /tmp/ccjzxu7E.s 			page 7
 
 
-  86 0006 0146     		mov	r1, r0
-  87              	.LVL3:
-  88              		.loc 1 262 4 is_stmt 0 view .LVU11
-  89 0008 2846     		mov	r0, r5
-  90              	.LVL4:
-  91              		.loc 1 262 4 view .LVU12
-  92 000a FFF7FEFF 		bl	USBD_CDC_SetRxBuffer
-  93              	.LVL5:
+  86 0004 064D     		ldr	r5, .L5
+  87 0006 0146     		mov	r1, r0
+  88              	.LVL3:
+  89              		.loc 1 262 4 is_stmt 0 view .LVU12
+  90 0008 2846     		mov	r0, r5
+  91              	.LVL4:
+  92              		.loc 1 262 4 view .LVU13
+  93 000a FFF7FEFF 		bl	USBD_CDC_SetRxBuffer
+  94              	.LVL5:
  263:USB_DEVICE/App/usbd_cdc_if.c **** 	  USBD_CDC_ReceivePacket(&hUsbDeviceFS);
-  94              		.loc 1 263 4 is_stmt 1 view .LVU13
-  95 000e 2846     		mov	r0, r5
-  96 0010 FFF7FEFF 		bl	USBD_CDC_ReceivePacket
-  97              	.LVL6:
- 264:USB_DEVICE/App/usbd_cdc_if.c **** 	  RFDA(*Buf);
-  98              		.loc 1 264 4 view .LVU14
-  99 0014 2078     		ldrb	r0, [r4]	@ zero_extendqisi2
- 100 0016 FFF7FEFF 		bl	RFDA
- 101              	.LVL7:
- 265:USB_DEVICE/App/usbd_cdc_if.c **** 	  return (USBD_OK);
- 102              		.loc 1 265 4 view .LVU15
- 266:USB_DEVICE/App/usbd_cdc_if.c ****   /* USER CODE END 6 */
- 267:USB_DEVICE/App/usbd_cdc_if.c **** }
- 103              		.loc 1 267 1 is_stmt 0 view .LVU16
- 104 001a 0020     		movs	r0, #0
- 105 001c 38BD     		pop	{r3, r4, r5, pc}
- 106              	.LVL8:
- 107              	.L6:
- 108              		.loc 1 267 1 view .LVU17
- 109 001e 00BF     		.align	2
- 110              	.L5:
- 111 0020 00000000 		.word	hUsbDeviceFS
- 112              		.cfi_endproc
- 113              	.LFE658:
- 115              		.section	.text.CDC_Init_FS,"ax",%progbits
- 116              		.align	1
- 117              		.syntax unified
- 118              		.thumb
- 119              		.thumb_func
- 121              	CDC_Init_FS:
- 122              	.LFB655:
+  95              		.loc 1 263 4 is_stmt 1 view .LVU14
+  96 000e 2846     		mov	r0, r5
+  97 0010 FFF7FEFF 		bl	USBD_CDC_ReceivePacket
+  98              	.LVL6:
+ 264:USB_DEVICE/App/usbd_cdc_if.c **** 	  uint8_t ar = Buf[0];
+  99              		.loc 1 264 4 view .LVU15
+ 265:USB_DEVICE/App/usbd_cdc_if.c **** 	  uint8_t cc = Buf[1];
+ 100              		.loc 1 265 4 view .LVU16
+ 266:USB_DEVICE/App/usbd_cdc_if.c **** 	  PWM((uint16_t)ar,(uint16_t)cc);
+ 101              		.loc 1 266 4 view .LVU17
+ 102 0014 6178     		ldrb	r1, [r4, #1]	@ zero_extendqisi2
+ 103 0016 2078     		ldrb	r0, [r4]	@ zero_extendqisi2
+ 104 0018 FFF7FEFF 		bl	PWM
+ 105              	.LVL7:
+ 267:USB_DEVICE/App/usbd_cdc_if.c **** 
+ 268:USB_DEVICE/App/usbd_cdc_if.c **** 	  return (USBD_OK);
+ 106              		.loc 1 268 4 view .LVU18
+ 269:USB_DEVICE/App/usbd_cdc_if.c ****   /* USER CODE END 6 */
+ 270:USB_DEVICE/App/usbd_cdc_if.c **** }
+ 107              		.loc 1 270 1 is_stmt 0 view .LVU19
+ 108 001c 0020     		movs	r0, #0
+ 109 001e 38BD     		pop	{r3, r4, r5, pc}
+ 110              	.LVL8:
+ 111              	.L6:
+ 112              		.loc 1 270 1 view .LVU20
+ 113              		.align	2
+ 114              	.L5:
+ 115 0020 00000000 		.word	hUsbDeviceFS
+ 116              		.cfi_endproc
+ 117              	.LFE658:
+ 119              		.section	.text.CDC_Init_FS,"ax",%progbits
+ 120              		.align	1
+ 121              		.syntax unified
+ 122              		.thumb
+ 123              		.thumb_func
+ 125              	CDC_Init_FS:
+ 126              	.LFB655:
  151:USB_DEVICE/App/usbd_cdc_if.c ****   /* USER CODE BEGIN 3 */
- 123              		.loc 1 151 1 is_stmt 1 view -0
- 124              		.cfi_startproc
- 125              		@ args = 0, pretend = 0, frame = 0
- 126              		@ frame_needed = 0, uses_anonymous_args = 0
- 127 0000 10B5     		push	{r4, lr}
- 128              	.LCFI1:
- 129              		.cfi_def_cfa_offset 8
- 130              		.cfi_offset 4, -8
- 131              		.cfi_offset 14, -4
- 154:USB_DEVICE/App/usbd_cdc_if.c ****   USBD_CDC_SetRxBuffer(&hUsbDeviceFS, UserRxBufferFS);
- 132              		.loc 1 154 3 view .LVU19
- 133 0002 064C     		ldr	r4, .L9
- 134 0004 0022     		movs	r2, #0
- 135 0006 0649     		ldr	r1, .L9+4
- 136 0008 2046     		mov	r0, r4
- 137 000a FFF7FEFF 		bl	USBD_CDC_SetTxBuffer
-ARM GAS  /tmp/ccwDZrAF.s 			page 8
+ 127              		.loc 1 151 1 is_stmt 1 view -0
+ 128              		.cfi_startproc
+ 129              		@ args = 0, pretend = 0, frame = 0
+ 130              		@ frame_needed = 0, uses_anonymous_args = 0
+ 131 0000 10B5     		push	{r4, lr}
+ 132              	.LCFI1:
+ 133              		.cfi_def_cfa_offset 8
+ 134              		.cfi_offset 4, -8
+ 135              		.cfi_offset 14, -4
+ARM GAS  /tmp/ccjzxu7E.s 			page 8
 
 
- 138              	.LVL9:
+ 154:USB_DEVICE/App/usbd_cdc_if.c ****   USBD_CDC_SetRxBuffer(&hUsbDeviceFS, UserRxBufferFS);
+ 136              		.loc 1 154 3 view .LVU22
+ 137 0002 064C     		ldr	r4, .L9
+ 138 0004 0022     		movs	r2, #0
+ 139 0006 0649     		ldr	r1, .L9+4
+ 140 0008 2046     		mov	r0, r4
+ 141 000a FFF7FEFF 		bl	USBD_CDC_SetTxBuffer
+ 142              	.LVL9:
  155:USB_DEVICE/App/usbd_cdc_if.c ****   return (USBD_OK);
- 139              		.loc 1 155 3 view .LVU20
- 140 000e 0549     		ldr	r1, .L9+8
- 141 0010 2046     		mov	r0, r4
- 142 0012 FFF7FEFF 		bl	USBD_CDC_SetRxBuffer
- 143              	.LVL10:
+ 143              		.loc 1 155 3 view .LVU23
+ 144 000e 0549     		ldr	r1, .L9+8
+ 145 0010 2046     		mov	r0, r4
+ 146 0012 FFF7FEFF 		bl	USBD_CDC_SetRxBuffer
+ 147              	.LVL10:
  156:USB_DEVICE/App/usbd_cdc_if.c ****   /* USER CODE END 3 */
- 144              		.loc 1 156 3 view .LVU21
+ 148              		.loc 1 156 3 view .LVU24
  158:USB_DEVICE/App/usbd_cdc_if.c **** 
- 145              		.loc 1 158 1 is_stmt 0 view .LVU22
- 146 0016 0020     		movs	r0, #0
- 147 0018 10BD     		pop	{r4, pc}
- 148              	.L10:
- 149 001a 00BF     		.align	2
- 150              	.L9:
- 151 001c 00000000 		.word	hUsbDeviceFS
- 152 0020 00000000 		.word	.LANCHOR0
- 153 0024 00000000 		.word	.LANCHOR1
- 154              		.cfi_endproc
- 155              	.LFE655:
- 157              		.section	.text.CDC_Transmit_FS,"ax",%progbits
- 158              		.align	1
- 159              		.global	CDC_Transmit_FS
- 160              		.syntax unified
- 161              		.thumb
- 162              		.thumb_func
- 164              	CDC_Transmit_FS:
- 165              	.LVL11:
- 166              	.LFB659:
- 268:USB_DEVICE/App/usbd_cdc_if.c **** 
- 269:USB_DEVICE/App/usbd_cdc_if.c **** /**
- 270:USB_DEVICE/App/usbd_cdc_if.c ****   * @brief  CDC_Transmit_FS
- 271:USB_DEVICE/App/usbd_cdc_if.c ****   *         Data to send over USB IN endpoint are sent over CDC interface
- 272:USB_DEVICE/App/usbd_cdc_if.c ****   *         through this function.
- 273:USB_DEVICE/App/usbd_cdc_if.c ****   *         @note
- 274:USB_DEVICE/App/usbd_cdc_if.c ****   *
- 275:USB_DEVICE/App/usbd_cdc_if.c ****   *
- 276:USB_DEVICE/App/usbd_cdc_if.c ****   * @param  Buf: Buffer of data to be sent
- 277:USB_DEVICE/App/usbd_cdc_if.c ****   * @param  Len: Number of data to be sent (in bytes)
- 278:USB_DEVICE/App/usbd_cdc_if.c ****   * @retval USBD_OK if all operations are OK else USBD_FAIL or USBD_BUSY
- 279:USB_DEVICE/App/usbd_cdc_if.c ****   */
- 280:USB_DEVICE/App/usbd_cdc_if.c **** uint8_t CDC_Transmit_FS(uint8_t* Buf, uint16_t Len)
- 281:USB_DEVICE/App/usbd_cdc_if.c **** {
- 167              		.loc 1 281 1 is_stmt 1 view -0
- 168              		.cfi_startproc
- 169              		@ args = 0, pretend = 0, frame = 0
- 170              		@ frame_needed = 0, uses_anonymous_args = 0
- 282:USB_DEVICE/App/usbd_cdc_if.c ****   uint8_t result = USBD_OK;
- 171              		.loc 1 282 3 view .LVU24
- 283:USB_DEVICE/App/usbd_cdc_if.c ****   /* USER CODE BEGIN 7 */
- 284:USB_DEVICE/App/usbd_cdc_if.c ****   USBD_CDC_HandleTypeDef *hcdc = (USBD_CDC_HandleTypeDef*)hUsbDeviceFS.pClassData;
- 172              		.loc 1 284 3 view .LVU25
- 173              		.loc 1 284 27 is_stmt 0 view .LVU26
- 174 0000 094B     		ldr	r3, .L19
- 175 0002 D3F8B832 		ldr	r3, [r3, #696]
- 176              	.LVL12:
-ARM GAS  /tmp/ccwDZrAF.s 			page 9
+ 149              		.loc 1 158 1 is_stmt 0 view .LVU25
+ 150 0016 0020     		movs	r0, #0
+ 151 0018 10BD     		pop	{r4, pc}
+ 152              	.L10:
+ 153 001a 00BF     		.align	2
+ 154              	.L9:
+ 155 001c 00000000 		.word	hUsbDeviceFS
+ 156 0020 00000000 		.word	UserTxBufferFS
+ 157 0024 00000000 		.word	UserRxBufferFS
+ 158              		.cfi_endproc
+ 159              	.LFE655:
+ 161              		.section	.text.CDC_Transmit_FS,"ax",%progbits
+ 162              		.align	1
+ 163              		.global	CDC_Transmit_FS
+ 164              		.syntax unified
+ 165              		.thumb
+ 166              		.thumb_func
+ 168              	CDC_Transmit_FS:
+ 169              	.LVL11:
+ 170              	.LFB659:
+ 271:USB_DEVICE/App/usbd_cdc_if.c **** 
+ 272:USB_DEVICE/App/usbd_cdc_if.c **** /**
+ 273:USB_DEVICE/App/usbd_cdc_if.c ****   * @brief  CDC_Transmit_FS
+ 274:USB_DEVICE/App/usbd_cdc_if.c ****   *         Data to send over USB IN endpoint are sent over CDC interface
+ 275:USB_DEVICE/App/usbd_cdc_if.c ****   *         through this function.
+ 276:USB_DEVICE/App/usbd_cdc_if.c ****   *         @note
+ 277:USB_DEVICE/App/usbd_cdc_if.c ****   *
+ 278:USB_DEVICE/App/usbd_cdc_if.c ****   *
+ 279:USB_DEVICE/App/usbd_cdc_if.c ****   * @param  Buf: Buffer of data to be sent
+ 280:USB_DEVICE/App/usbd_cdc_if.c ****   * @param  Len: Number of data to be sent (in bytes)
+ 281:USB_DEVICE/App/usbd_cdc_if.c ****   * @retval USBD_OK if all operations are OK else USBD_FAIL or USBD_BUSY
+ 282:USB_DEVICE/App/usbd_cdc_if.c ****   */
+ 283:USB_DEVICE/App/usbd_cdc_if.c **** uint8_t CDC_Transmit_FS(uint8_t* Buf, uint16_t Len)
+ 284:USB_DEVICE/App/usbd_cdc_if.c **** {
+ 171              		.loc 1 284 1 is_stmt 1 view -0
+ 172              		.cfi_startproc
+ 173              		@ args = 0, pretend = 0, frame = 0
+ 174              		@ frame_needed = 0, uses_anonymous_args = 0
+ 285:USB_DEVICE/App/usbd_cdc_if.c ****   uint8_t result = USBD_OK;
+ 175              		.loc 1 285 3 view .LVU27
+ARM GAS  /tmp/ccjzxu7E.s 			page 9
 
 
- 285:USB_DEVICE/App/usbd_cdc_if.c ****   if (hcdc->TxState != 0){
- 177              		.loc 1 285 3 is_stmt 1 view .LVU27
- 178              		.loc 1 285 11 is_stmt 0 view .LVU28
- 179 0006 D3F81432 		ldr	r3, [r3, #532]
- 180              	.LVL13:
- 181              		.loc 1 285 6 view .LVU29
- 182 000a 0BB1     		cbz	r3, .L18
- 286:USB_DEVICE/App/usbd_cdc_if.c ****     return USBD_BUSY;
- 183              		.loc 1 286 12 view .LVU30
- 184 000c 0120     		movs	r0, #1
- 185              	.LVL14:
- 287:USB_DEVICE/App/usbd_cdc_if.c ****   }
- 288:USB_DEVICE/App/usbd_cdc_if.c ****   USBD_CDC_SetTxBuffer(&hUsbDeviceFS, Buf, Len);
- 289:USB_DEVICE/App/usbd_cdc_if.c ****   result = USBD_CDC_TransmitPacket(&hUsbDeviceFS);
- 290:USB_DEVICE/App/usbd_cdc_if.c ****   /* USER CODE END 7 */
- 291:USB_DEVICE/App/usbd_cdc_if.c ****   return result;
- 292:USB_DEVICE/App/usbd_cdc_if.c **** }
- 186              		.loc 1 292 1 view .LVU31
- 187 000e 7047     		bx	lr
- 188              	.LVL15:
- 189              	.L18:
- 281:USB_DEVICE/App/usbd_cdc_if.c ****   uint8_t result = USBD_OK;
- 190              		.loc 1 281 1 view .LVU32
- 191 0010 10B5     		push	{r4, lr}
- 192              	.LCFI2:
- 193              		.cfi_def_cfa_offset 8
- 194              		.cfi_offset 4, -8
- 195              		.cfi_offset 14, -4
- 288:USB_DEVICE/App/usbd_cdc_if.c ****   result = USBD_CDC_TransmitPacket(&hUsbDeviceFS);
- 196              		.loc 1 288 3 is_stmt 1 view .LVU33
- 197 0012 054C     		ldr	r4, .L19
- 198              	.LVL16:
- 288:USB_DEVICE/App/usbd_cdc_if.c ****   result = USBD_CDC_TransmitPacket(&hUsbDeviceFS);
- 199              		.loc 1 288 3 is_stmt 0 view .LVU34
- 200 0014 0A46     		mov	r2, r1
- 201 0016 0146     		mov	r1, r0
- 202              	.LVL17:
- 288:USB_DEVICE/App/usbd_cdc_if.c ****   result = USBD_CDC_TransmitPacket(&hUsbDeviceFS);
- 203              		.loc 1 288 3 view .LVU35
- 204 0018 2046     		mov	r0, r4
- 205              	.LVL18:
- 288:USB_DEVICE/App/usbd_cdc_if.c ****   result = USBD_CDC_TransmitPacket(&hUsbDeviceFS);
- 206              		.loc 1 288 3 view .LVU36
- 207 001a FFF7FEFF 		bl	USBD_CDC_SetTxBuffer
- 208              	.LVL19:
- 289:USB_DEVICE/App/usbd_cdc_if.c ****   /* USER CODE END 7 */
- 209              		.loc 1 289 3 is_stmt 1 view .LVU37
- 289:USB_DEVICE/App/usbd_cdc_if.c ****   /* USER CODE END 7 */
- 210              		.loc 1 289 12 is_stmt 0 view .LVU38
- 211 001e 2046     		mov	r0, r4
- 212 0020 FFF7FEFF 		bl	USBD_CDC_TransmitPacket
- 213              	.LVL20:
- 291:USB_DEVICE/App/usbd_cdc_if.c **** }
- 214              		.loc 1 291 3 is_stmt 1 view .LVU39
- 215              		.loc 1 292 1 is_stmt 0 view .LVU40
- 216 0024 10BD     		pop	{r4, pc}
- 217              	.L20:
-ARM GAS  /tmp/ccwDZrAF.s 			page 10
+ 286:USB_DEVICE/App/usbd_cdc_if.c ****   /* USER CODE BEGIN 7 */
+ 287:USB_DEVICE/App/usbd_cdc_if.c ****   USBD_CDC_HandleTypeDef *hcdc = (USBD_CDC_HandleTypeDef*)hUsbDeviceFS.pClassData;
+ 176              		.loc 1 287 3 view .LVU28
+ 177              		.loc 1 287 27 is_stmt 0 view .LVU29
+ 178 0000 094B     		ldr	r3, .L19
+ 179 0002 D3F8B832 		ldr	r3, [r3, #696]
+ 180              	.LVL12:
+ 288:USB_DEVICE/App/usbd_cdc_if.c ****   if (hcdc->TxState != 0){
+ 181              		.loc 1 288 3 is_stmt 1 view .LVU30
+ 182              		.loc 1 288 11 is_stmt 0 view .LVU31
+ 183 0006 D3F81432 		ldr	r3, [r3, #532]
+ 184              	.LVL13:
+ 185              		.loc 1 288 6 view .LVU32
+ 186 000a 0BB1     		cbz	r3, .L18
+ 289:USB_DEVICE/App/usbd_cdc_if.c ****     return USBD_BUSY;
+ 187              		.loc 1 289 12 view .LVU33
+ 188 000c 0120     		movs	r0, #1
+ 189              	.LVL14:
+ 290:USB_DEVICE/App/usbd_cdc_if.c ****   }
+ 291:USB_DEVICE/App/usbd_cdc_if.c ****   USBD_CDC_SetTxBuffer(&hUsbDeviceFS, Buf, Len);
+ 292:USB_DEVICE/App/usbd_cdc_if.c ****   result = USBD_CDC_TransmitPacket(&hUsbDeviceFS);
+ 293:USB_DEVICE/App/usbd_cdc_if.c ****   /* USER CODE END 7 */
+ 294:USB_DEVICE/App/usbd_cdc_if.c ****   return result;
+ 295:USB_DEVICE/App/usbd_cdc_if.c **** }
+ 190              		.loc 1 295 1 view .LVU34
+ 191 000e 7047     		bx	lr
+ 192              	.LVL15:
+ 193              	.L18:
+ 284:USB_DEVICE/App/usbd_cdc_if.c ****   uint8_t result = USBD_OK;
+ 194              		.loc 1 284 1 view .LVU35
+ 195 0010 10B5     		push	{r4, lr}
+ 196              	.LCFI2:
+ 197              		.cfi_def_cfa_offset 8
+ 198              		.cfi_offset 4, -8
+ 199              		.cfi_offset 14, -4
+ 291:USB_DEVICE/App/usbd_cdc_if.c ****   result = USBD_CDC_TransmitPacket(&hUsbDeviceFS);
+ 200              		.loc 1 291 3 is_stmt 1 view .LVU36
+ 201 0012 054C     		ldr	r4, .L19
+ 202              	.LVL16:
+ 291:USB_DEVICE/App/usbd_cdc_if.c ****   result = USBD_CDC_TransmitPacket(&hUsbDeviceFS);
+ 203              		.loc 1 291 3 is_stmt 0 view .LVU37
+ 204 0014 0A46     		mov	r2, r1
+ 205 0016 0146     		mov	r1, r0
+ 206              	.LVL17:
+ 291:USB_DEVICE/App/usbd_cdc_if.c ****   result = USBD_CDC_TransmitPacket(&hUsbDeviceFS);
+ 207              		.loc 1 291 3 view .LVU38
+ 208 0018 2046     		mov	r0, r4
+ 209              	.LVL18:
+ 291:USB_DEVICE/App/usbd_cdc_if.c ****   result = USBD_CDC_TransmitPacket(&hUsbDeviceFS);
+ 210              		.loc 1 291 3 view .LVU39
+ 211 001a FFF7FEFF 		bl	USBD_CDC_SetTxBuffer
+ 212              	.LVL19:
+ 292:USB_DEVICE/App/usbd_cdc_if.c ****   /* USER CODE END 7 */
+ 213              		.loc 1 292 3 is_stmt 1 view .LVU40
+ 292:USB_DEVICE/App/usbd_cdc_if.c ****   /* USER CODE END 7 */
+ 214              		.loc 1 292 12 is_stmt 0 view .LVU41
+ 215 001e 2046     		mov	r0, r4
+ARM GAS  /tmp/ccjzxu7E.s 			page 10
 
 
- 218 0026 00BF     		.align	2
- 219              	.L19:
- 220 0028 00000000 		.word	hUsbDeviceFS
- 221              		.cfi_endproc
- 222              	.LFE659:
- 224              		.global	USBD_Interface_fops_FS
- 225              		.global	UserTxBufferFS
- 226              		.global	UserRxBufferFS
- 227              		.section	.bss.UserRxBufferFS,"aw",%nobits
- 228              		.align	2
- 229              		.set	.LANCHOR1,. + 0
- 232              	UserRxBufferFS:
- 233 0000 00000000 		.space	1024
- 233      00000000 
- 233      00000000 
- 233      00000000 
- 233      00000000 
- 234              		.section	.bss.UserTxBufferFS,"aw",%nobits
- 235              		.align	2
- 236              		.set	.LANCHOR0,. + 0
- 239              	UserTxBufferFS:
- 240 0000 00000000 		.space	1024
- 240      00000000 
- 240      00000000 
- 240      00000000 
- 240      00000000 
- 241              		.section	.data.USBD_Interface_fops_FS,"aw"
- 242              		.align	2
- 245              	USBD_Interface_fops_FS:
- 246 0000 00000000 		.word	CDC_Init_FS
- 247 0004 00000000 		.word	CDC_DeInit_FS
- 248 0008 00000000 		.word	CDC_Control_FS
- 249 000c 00000000 		.word	CDC_Receive_FS
- 250              		.text
- 251              	.Letext0:
- 252              		.file 2 "/opt/gcc-arm/arm-none-eabi/include/machine/_default_types.h"
- 253              		.file 3 "/opt/gcc-arm/arm-none-eabi/include/sys/_stdint.h"
- 254              		.file 4 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_dma.h"
- 255              		.file 5 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_tim.h"
- 256              		.file 6 "Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h"
- 257              		.file 7 "Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Inc/usbd_cdc.h"
- 258              		.file 8 "USB_DEVICE/App/usbd_cdc_if.h"
- 259              		.file 9 "Core/Inc/RFDAproto.h"
-ARM GAS  /tmp/ccwDZrAF.s 			page 11
+ 216 0020 FFF7FEFF 		bl	USBD_CDC_TransmitPacket
+ 217              	.LVL20:
+ 294:USB_DEVICE/App/usbd_cdc_if.c **** }
+ 218              		.loc 1 294 3 is_stmt 1 view .LVU42
+ 219              		.loc 1 295 1 is_stmt 0 view .LVU43
+ 220 0024 10BD     		pop	{r4, pc}
+ 221              	.L20:
+ 222 0026 00BF     		.align	2
+ 223              	.L19:
+ 224 0028 00000000 		.word	hUsbDeviceFS
+ 225              		.cfi_endproc
+ 226              	.LFE659:
+ 228              		.global	USBD_Interface_fops_FS
+ 229              		.section	.data.USBD_Interface_fops_FS,"aw"
+ 230              		.align	2
+ 233              	USBD_Interface_fops_FS:
+ 234 0000 00000000 		.word	CDC_Init_FS
+ 235 0004 00000000 		.word	CDC_DeInit_FS
+ 236 0008 00000000 		.word	CDC_Control_FS
+ 237 000c 00000000 		.word	CDC_Receive_FS
+ 238              		.global	UserTxBufferFS
+ 239              		.section	.bss.UserTxBufferFS,"aw",%nobits
+ 240              		.align	2
+ 243              	UserTxBufferFS:
+ 244 0000 00000000 		.space	1024
+ 244      00000000 
+ 244      00000000 
+ 244      00000000 
+ 244      00000000 
+ 245              		.global	UserRxBufferFS
+ 246              		.section	.bss.UserRxBufferFS,"aw",%nobits
+ 247              		.align	2
+ 250              	UserRxBufferFS:
+ 251 0000 00000000 		.space	1024
+ 251      00000000 
+ 251      00000000 
+ 251      00000000 
+ 251      00000000 
+ 252              		.text
+ 253              	.Letext0:
+ 254              		.file 2 "/opt/gcc-arm/arm-none-eabi/include/machine/_default_types.h"
+ 255              		.file 3 "/opt/gcc-arm/arm-none-eabi/include/sys/_stdint.h"
+ 256              		.file 4 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_dma.h"
+ 257              		.file 5 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_tim.h"
+ 258              		.file 6 "Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h"
+ 259              		.file 7 "Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Inc/usbd_cdc.h"
+ 260              		.file 8 "USB_DEVICE/App/usbd_cdc_if.h"
+ 261              		.file 9 "Core/Inc/RFDAproto.h"
+ARM GAS  /tmp/ccjzxu7E.s 			page 11
 
 
 DEFINED SYMBOLS
-                            *ABS*:0000000000000000 usbd_cdc_if.c
-     /tmp/ccwDZrAF.s:18     .text.CDC_DeInit_FS:0000000000000000 $t
-     /tmp/ccwDZrAF.s:23     .text.CDC_DeInit_FS:0000000000000000 CDC_DeInit_FS
-     /tmp/ccwDZrAF.s:39     .text.CDC_Control_FS:0000000000000000 $t
-     /tmp/ccwDZrAF.s:44     .text.CDC_Control_FS:0000000000000000 CDC_Control_FS
-     /tmp/ccwDZrAF.s:63     .text.CDC_Receive_FS:0000000000000000 $t
-     /tmp/ccwDZrAF.s:68     .text.CDC_Receive_FS:0000000000000000 CDC_Receive_FS
-     /tmp/ccwDZrAF.s:111    .text.CDC_Receive_FS:0000000000000020 $d
-     /tmp/ccwDZrAF.s:116    .text.CDC_Init_FS:0000000000000000 $t
-     /tmp/ccwDZrAF.s:121    .text.CDC_Init_FS:0000000000000000 CDC_Init_FS
-     /tmp/ccwDZrAF.s:151    .text.CDC_Init_FS:000000000000001c $d
-     /tmp/ccwDZrAF.s:158    .text.CDC_Transmit_FS:0000000000000000 $t
-     /tmp/ccwDZrAF.s:164    .text.CDC_Transmit_FS:0000000000000000 CDC_Transmit_FS
-     /tmp/ccwDZrAF.s:220    .text.CDC_Transmit_FS:0000000000000028 $d
-     /tmp/ccwDZrAF.s:245    .data.USBD_Interface_fops_FS:0000000000000000 USBD_Interface_fops_FS
-     /tmp/ccwDZrAF.s:239    .bss.UserTxBufferFS:0000000000000000 UserTxBufferFS
-     /tmp/ccwDZrAF.s:232    .bss.UserRxBufferFS:0000000000000000 UserRxBufferFS
-     /tmp/ccwDZrAF.s:228    .bss.UserRxBufferFS:0000000000000000 $d
-     /tmp/ccwDZrAF.s:235    .bss.UserTxBufferFS:0000000000000000 $d
-     /tmp/ccwDZrAF.s:242    .data.USBD_Interface_fops_FS:0000000000000000 $d
+                            *ABS*:00000000 usbd_cdc_if.c
+     /tmp/ccjzxu7E.s:19     .text.CDC_DeInit_FS:00000000 $t
+     /tmp/ccjzxu7E.s:24     .text.CDC_DeInit_FS:00000000 CDC_DeInit_FS
+     /tmp/ccjzxu7E.s:39     .text.CDC_Control_FS:00000000 $t
+     /tmp/ccjzxu7E.s:44     .text.CDC_Control_FS:00000000 CDC_Control_FS
+     /tmp/ccjzxu7E.s:64     .text.CDC_Receive_FS:00000000 $t
+     /tmp/ccjzxu7E.s:69     .text.CDC_Receive_FS:00000000 CDC_Receive_FS
+     /tmp/ccjzxu7E.s:115    .text.CDC_Receive_FS:00000020 $d
+     /tmp/ccjzxu7E.s:120    .text.CDC_Init_FS:00000000 $t
+     /tmp/ccjzxu7E.s:125    .text.CDC_Init_FS:00000000 CDC_Init_FS
+     /tmp/ccjzxu7E.s:155    .text.CDC_Init_FS:0000001c $d
+     /tmp/ccjzxu7E.s:243    .bss.UserTxBufferFS:00000000 UserTxBufferFS
+     /tmp/ccjzxu7E.s:250    .bss.UserRxBufferFS:00000000 UserRxBufferFS
+     /tmp/ccjzxu7E.s:162    .text.CDC_Transmit_FS:00000000 $t
+     /tmp/ccjzxu7E.s:168    .text.CDC_Transmit_FS:00000000 CDC_Transmit_FS
+     /tmp/ccjzxu7E.s:224    .text.CDC_Transmit_FS:00000028 $d
+     /tmp/ccjzxu7E.s:233    .data.USBD_Interface_fops_FS:00000000 USBD_Interface_fops_FS
+     /tmp/ccjzxu7E.s:230    .data.USBD_Interface_fops_FS:00000000 $d
+     /tmp/ccjzxu7E.s:240    .bss.UserTxBufferFS:00000000 $d
+     /tmp/ccjzxu7E.s:247    .bss.UserRxBufferFS:00000000 $d
 
 UNDEFINED SYMBOLS
 USBD_CDC_SetRxBuffer
 USBD_CDC_ReceivePacket
-RFDA
+PWM
 hUsbDeviceFS
 USBD_CDC_SetTxBuffer
 USBD_CDC_TransmitPacket

BIN
build/usbd_cdc_if.o