diff --git a/f4/usb/src/usb.c b/f4/usb/src/usb.c
index 35ec8ed1fd3f9a78a17c283d946450898e468e31..ba5887aaf84bf6ee75609ecabd37e7da8dc87d54 100644
--- a/f4/usb/src/usb.c
+++ b/f4/usb/src/usb.c
@@ -22,7 +22,7 @@ unsigned short int usb_dma_phase_write_ptr;
   * @param  None
   * @retval Result of the operation: USBD_OK if all operations are OK else USBD_FAIL
   */
-static int8_t usb_cdc_init(void)
+int8_t usb_cdc_init(void)
 {
   /* USER CODE BEGIN 3 */
   /* Set Application Buffers */
@@ -45,7 +45,7 @@ static int8_t usb_cdc_init(void)
   * @param  None
   * @retval Result of the operation: USBD_OK if all operations are OK else USBD_FAIL
   */
-static int8_t usb_cdc_deinit(void)
+int8_t usb_cdc_deinit(void)
 {
   /* USER CODE BEGIN 4 */
   return (USBD_OK);
@@ -60,7 +60,7 @@ static int8_t usb_cdc_deinit(void)
   * @param  length: Number of data to be sent (in bytes)
   * @retval Result of the operation: USBD_OK if all operations are OK else USBD_FAIL
   */
-static int8_t usb_cdc_control(uint8_t cmd, uint8_t* pbuf, uint16_t length)
+int8_t usb_cdc_control(uint8_t cmd, uint8_t* pbuf, uint16_t length)
 {
   /* USER CODE BEGIN 5 */
   switch (cmd)
@@ -138,7 +138,7 @@ static int8_t usb_cdc_control(uint8_t cmd, uint8_t* pbuf, uint16_t length)
   * @param  Len: Number of data received (in bytes)
   * @retval Result of the operation: USBD_OK if all operations are OK else USBD_FAIL
   */
-static int8_t usb_cdc_receive(uint8_t* Buf, uint32_t *Len)
+int8_t usb_cdc_receive(uint8_t* Buf, uint32_t *Len)
 {
   int i=0;
  
@@ -165,7 +165,7 @@ static int8_t usb_cdc_receive(uint8_t* Buf, uint32_t *Len)
   /* USER CODE END 6 */
 }
 
-static int8_t usb_cdc_tx_complete(uint8_t *pbuf, uint32_t *Len, uint8_t epnum)
+int8_t usb_cdc_tx_complete(uint8_t *pbuf, uint32_t *Len, uint8_t epnum)
 {
   return (USBD_OK);
 }