Back to Release page

Release Notes for STM32 USB Device Library

Copyright 2015 STMicroelectronics

 

Update History

V2.5.3 / 30-April-2019

Main Changes

  • Fix misra-c 2012 high severity violations
  • Core driver:
    • protect shared macros __ALIGN_BEGIN, __ALIGN_END with C directive #ifndef
    • update Core driver and DFU Class driver to use USBD_SUPPORT_USER_STRING_DESC insead of  USBD_SUPPORT_USER_STRING
    •  prevent accessing to NULL pointer if the get descriptor functions are not defined
    • Update on USBD_LL_Resume(),  restore the device state only if the current state is USBD_STATE_SUSPENDED

V2.5.2 / 27-Mars-2019

Main Changes

  • DFU Class:
    • fix compilation warning due to unreachable instruction code introduced with CMSIS V5.4.0 NVIC_SystemReset() prototype change

V2.5.1 / 03-August-2018

Main Changes

  • Update license section by adding path to get copy of ST Ultimate Liberty license
  • Core: Fix unexpected stall during status OUT phase
  • DFU Class:
    • rework hdfu struct to prevent unaligned addresses
  • MSC Class:
    • fix lba address overflow during large file transfers > 4Go
  • Template Class:
    • add missing Switch case Break on USBD_Template_Setup API

V2.5.0 / 15-December-2017

Main Changes

  • Update license section
  • Update some functions to be MISRAC 2004 compliant
  • Add HS and OtherSpeed configuration descriptor for HID and CustomHID classes
  • Correct error handling in all class setup function
  • Add usbd_desc_template.c/ usbd_desc_template.h templates files
  • Add support of class and vendor request
  • CDC Class: fix zero-length packet issue in bulk IN transfer
  • Fix compilation warning with unused arguments for some functions
  • Improve USB Core enumeration state machine

V2.4.2 / 11-December-2015

Main Changes

  • CDC Class
    • usbd_cdc.c: change #include "USBD_CDC.h" by #include "usbd_cdc.h"

V2.4.1 / 19-June-2015

Main Changes

  • CDC Class
    • usbd_cdc.c: comments update
  • MSC Class
    • usbd_msc_bot.h: update to be C++ compliant
  • AUDIO Class
    • usbd_audio.c: fix issue when Host sends GetInterface command it gets a wrong value
    • usbd_audio.c: remove useless management of DMA half transfer

V2.4.0 / 28-February-2015

Main Changes

  • Core Driver
    • Add support of Link Power Management (LPM): add new API GetBOSDescriptor(), that is used only if USBD_LPM_ENABLED switch is enabled in usbd_conf.h file
    • usbd_core.c: Fix bug of unsupported premature Host Out stage during data In stage (ie. when endpoint 0 maximum data size is 8 and Host requests GetDeviceDescriptor for the first time)
    • usbd_ctlreq.c: Fix bug of unsupported Endpoint Class requests (ie. Audio SetCurrent request for endpoint sampling rate setting)
  • HID Class
    • Updating Polling time API USBD_HID_GetPollingInterval() to query this period for HS and FS
    • usbd_hid.c: Fix USBD_LL_CloseEP() function call in USBD_HID_DeInit() replacing endpoint size by endpoint address.
  • CDC Class
    • usbd_cdc.c: 
      • Add missing GetInterface request management in USBD_CDC_Setup() function
      • Update USBD_CDC_Setup() function to allow correct user implementation of CDC_SET_CONTROL_LINE_STATE and similar no-data setup requests.

V2.3.0 / 04-November-2014

Main Changes

  • Update all drivers to be C++ compliant
  • CDC Class
    • usbd_cdc.c: fix clear flag issue in USBD_CDC_TransmitPacket() function
    • usbd_cdc_if_template.c: update TEMPLATE_Receive() function header comment
  • Miscellaneous source code comments update

V2.2.0 / 13-June-2014

Main Changes

  • Source code comments review and update
  • HID class
    • Remove unused API USBD_HID_DeviceQualifierDescriptor()
    • Add a new API in the HID class to query the poll time USBD_HID_GetPollingInterval()
  • CDC class
    • Bug fix: missing handling ZeroLength Setup request
  • All classes
    • Add alias for the class definition, it's defined as macro with capital letter
ex. for the HID, the USBD_HID_CLASS macro is defined this way #define USBD_HID_CLASS  &USBD_HID
  and the application code can use the previous definition: &USBD_HID ex. USBD_RegisterClass(&USBD_Device, &USBD_HID) or the new USBD_HID_CLASS ex. USBD_RegisterClass(&USBD_Device, USBD_HID_CLASS)

V2.1.0 / 22-April-2014

Main Changes

  • usbd_conf_template.c: update file with the right content (it was using MSC memory management layer)
  • usbd_conf_template.h: change include of stm32f4xx.h by stm32xxx.h and add comment to inform user to adapt it to the device used
  • Several enhancements in CustomHID class
    • Update the Custom HID class driver to simplify the link with user processes
    • Optimize the Custom HID class driver and reduce footprint
    • Add USBD_CUSTOM_HID_RegisterInterface() API to link user process to custom HID class
    • Add Custom HID interface template file usbd_customhid_if_template.c/h
  • Miscellaneous comments update

V2.0.0 / 18-February-2014

Main Changes

  • Major update based on STM32Cube specification: Library Core, Classes architecture and APIs modified vs. V1.1.0, and thus the 2 versions are not compatible.
  • This version has to be used only with STM32Cube based development

V1.1.0 / 19-March-2012

Main Changes

  • Official support of STM32F4xx devices
  • All source files: license disclaimer text update and add link to the License file on ST Internet.
  • Handle test mode in the set feature request
  • Handle dynamically the USB SELF POWERED feature
  • Handle correctly the USBD_CtlError process to take into account error during Control OUT stage
  • Miscellaneous bug fix

V1.0.0 / 22-July-2011

Main Changes

  • First official version for STM32F105/7xx and STM32F2xx devices

License

This software component is licensed by ST under Ultimate Liberty license SLA0044, the "License"; You may not use this component except in compliance with the License. You may obtain a copy of the License at:

http://www.st.com/SLA0044


For complete documentation on STM32 Microcontrollers visit www.st.com/STM32