STM32 USB FS HS开发必用的官方库STM32_USB-FS-Device_Lib_V4.1.0
STSW-STM32121
官方文件名:
STM32F10x, STM32L1xx and STM32F3xx USB full speed device library (UM0424)
网址:
https://www.stmicroelectronics.com.cn/en/embedded-software/stsw-stm32121.html#overview
邮箱注册就可以免费下载了
更新历史:
V4.1.0 / 26-May-2017
Main Changes
- Official release to support STM32F302x8 and STM32F303xE devices
- Use latest version of STM32F10x, STM32L1xx , STM32F30xx HAL and CMSIS (for more details refer to each component's release notes)
- STM32_USB_FS-Device_Driver
- usb_core.c
- Add test variable (DevRemoteWakeup) to solve issue regarding the device cannot wake USB host when receiving a second SUSPEND.
- Fix issue in function DataStageOut regarding reporting status results for status IN stage.
- Add JoyStickMouse_LPM example to show Link Power management LPM to show USB L1 state capability.
- JoyStickMouse example
- stm32_it.c: Add test variable (DevRemoteWakeup) to solve issue regarding the device cannot wake USB host when receiving a second SUSPEND.
- Add VBUS sensing mechanism by using a normal GPIO pin (external interrupt line) and call PowerOff when cable is disconnected.
- All examples
- Remove Projects for Raisonance IDE RIDE7, Atollic TrueSTUDIO and TASKING toolchain.
- Add projects for SW4STM32 toolchain.
- Add USB_LOW_PWR_MGMT_SUPPORT to define if low power mode is enabled.
- usb_prop.c
- Fix issue regarding the wrong index of the descriptor string in _GetStringDescriptor function.
- usb_pwr.c
- Fix issue regarding answer of the device after a short USB reset.
- Fix issue regarding unexpected USB reset interrupt.
Contents
- CMSIS CM3 V4.3.0 (release notes)
- STM32F10x CMSIS V3.6.4 (release notes)
- STM32L1xx CMSIS V1.3.3 (release notes)
- STM32F30x CMSIS V1.2.2 (release notes)
- STM32_USB-FS-Device_Driver V4.1.0 (release notes)
- STM32F37x CMSIS V1.0.0 (release notes)
- STM32F10x_StdPeriph_Driver V3.6.1 (release notes)
- STM32L1xx_StdPeriph_Driver V1.3.1 (release notes)
- STM32F30x_StdPeriph_Driver V1.2.2 (release notes)
- STM32F37x_StdPeriph_Driver V1.0.0 (release notes)
- STM32_EVAL\Common V5.0.2 (release notes)
- STM3210B_EVAL V5.0.1 (release notes)
- STM3210E_EVAL V5.1.0 (release notes)
- STM32L152_EVAL V5.0.2 (release notes)
- STM32L152D_EVAL V1.0.1 (release notes)
- STM32303C_EVAL V1.0.1 (release notes)
- STM32373C_EVAL V1.0.0 (release notes)
Development Toolchains
- IAR Embedded Workbench for ARM (EWARM) toolchain V7.80.4 + ST-Link
- RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.23 + ST-LINK
- System Workbench for STM32 (SW4STM32) toolchain V1.14 + ST-Link
Supported Devices and EVAL boards
- STM32F10x Medium-density devices and STM3210B-EVAL board RevB
- STM32F10x High-density devices and STM3210E-EVAL board RevC
- STM32F10x XL-density devices STM3210E-EVAL_XL board RevB
- STM32L1xx Medium-Density devices and STM32L152-EVAL board RevB
- STM32L1xx High-Density devices and STM32L152D-EVAL board RevB
- STM32F37xx devices and STM32373C-EVAL board RevC
- STM32F303xC, STM32303xE devices and STM32303C-EVAL and STM32303E-EVAL board Rev C
- STM32F302x8 and STM32F303RE-Nucleo Rev C
V4.0.0 / 29-June-2012
Main Changes
- Add support of STM32F30xx and STM32F37xx devices
- Remove support of the USB OTG Full speed in device (peripheral) mode embedded in the STM32F105x/7x devices
- All source files starting with prefix otgd_fs (ex. otgd_fs_pcd.c/.h) were removed
- There is no change on the API dealing with the USB FS Device peripheral, full compatibility is maintained vs. V3.4.0
- The STM32F105x/7x devices are supported by the STM32F105/7xx, STM32F2xx and STM32F4xx USB On-The-Go Host and Device Library (UM1021)
- All examples
- usb_pwr.c and usb_istr.c files updated to make the code more robust
- Custom HID example
- Add GET_Report/Set_Report features
- Add composite "Mass Storage and HID" example
- Add VirtualComport_Loopback example
- Remove USB Audio Streaming example (used only for STM32F105x/7x devices)
- Remove "stm32_usb-fs-device_lib_contents.htm" file: the information provided in this html page are available in UM0424
Contents
- CMSIS CM3 V3.01 (release notes)
- STM32F10x CMSIS V3.6.1 (release notes)
- STM32L1xx CMSIS V1.1.1 (release notes)
- STM32F30x CMSIS V1.0.0 (release notes)
- STM32F37x CMSIS V1.0.0 (release notes)
- STM32_USB-FS-Device_Driver V4.0.0 (release notes)
- STM32F10x_StdPeriph_Driver V3.6.1 (release notes)
- STM32L1xx_StdPeriph_Driver V1.1.1 (release notes)
- STM32F30x_StdPeriph_Driver V1.0.1 (release notes)
- STM32F37x_StdPeriph_Driver V1.0.0 (release notes)
- STM32_EVAL\Common V5.0.2 (release notes)
- STM3210B_EVAL V5.0.1 (release notes)
- STM3210E_EVAL V5.1.0 (release notes)
- STM32L152_EVAL V5.0.2 (release notes)
- STM32L152D_EVAL V1.0.1 (release notes)
- STM32303C_EVAL V1.0.1 (release notes)
- STM32373C_EVAL V1.0.0 (release notes)
Development Toolchains
- IAR Embedded Workbench for ARM (EWARM) toolchain V6.50 + J-Link
- RealView Microcontroller Development Kit (MDK-ARM) toolchain V4.50 + ULINK
- Raisonance IDE RIDE7 (RIDE) toolchain v1.46 + Rlink Pro
- Atollic TrueSTUDIO toolchain V3.3.0 + ST-LINK
- TASKING VX-toolset for ARM Cortex-M V4.3r1 + ST-LINK
Supported Devices and EVAL boards
- STM32F10x Medium-density devices and STM3210B-EVAL board
- STM32F10x High-density devices and STM3210E-EVAL board
- STM32F10x XL-density devices STM3210E-EVAL_XL board
- STM32L1xx Medium-Density devices and STM32L152-EVAL board
- STM32L1xx High-Density devices and STM32L152D-EVAL board
- STM32F37xx devices and STM32373C-EVAL board
- STM32F30xx devices and STM32303C-EVAL board
注意区别:
STM32_USB-FS-Device_Lib_V4.1.0不支持STM32F407;STM32_USB-FS-Device_Lib_V4.0.0支持STM32F407
STM32_USB-FS-Device_Lib_V4.1.0文件目录:
卷 新加卷 的文件夹 PATH 列表
卷序列号为 AED4-4CF9
D:\高速USB传输\STM32F10X, STM32L1XX AND STM32F3XX USB FULL SPEED DEVICE LIBRARY (UM0424)
└─en.stsw-stm32121-V4..1.0
└─STM32_USB-FS-Device_Lib_V4.1.0
├─Libraries
│ ├─CMSIS
│ │ ├─Device
│ │ │ └─ST
│ │ │ ├─STM32F10x
│ │ │ │ ├─Include
│ │ │ │ └─Source
│ │ │ │ └─Templates
│ │ │ │ ├─arm
│ │ │ │ ├─gcc
│ │ │ │ └─iar
│ │ │ ├─STM32F30x
│ │ │ │ ├─Include
│ │ │ │ └─Source
│ │ │ │ └─Templates
│ │ │ │ ├─arm
│ │ │ │ ├─gcc
│ │ │ │ └─iar
│ │ │ ├─STM32F37x
│ │ │ │ ├─Include
│ │ │ │ └─Source
│ │ │ │ └─Templates
│ │ │ │ ├─arm
│ │ │ │ ├─gcc
│ │ │ │ └─iar
│ │ │ └─STM32L1xx
│ │ │ ├─Include
│ │ │ └─Source
│ │ │ └─Templates
│ │ │ ├─arm
│ │ │ ├─gcc
│ │ │ └─iar
│ │ ├─Documentation
│ │ │ ├─Core
│ │ │ │ └─html
│ │ │ │ └─search
│ │ │ ├─General
│ │ │ │ └─html
│ │ │ └─RTOS
│ │ │ └─html
│ │ ├─Include
│ │ └─RTOS
│ │ └─Template
│ ├─STM32F10x_StdPeriph_Driver
│ │ ├─inc
│ │ └─src
│ ├─STM32F30x_StdPeriph_Driver
│ │ ├─inc
│ │ └─src
│ ├─STM32F37x_StdPeriph_Driver
│ │ ├─inc
│ │ └─src
│ ├─STM32L1xx_StdPeriph_Driver
│ │ ├─inc
│ │ └─src
│ └─STM32_USB-FS-Device_Driver
│ ├─inc
│ └─src
├─Projects
│ ├─Audio_Speaker
│ │ ├─EWARM
│ │ ├─inc
│ │ ├─MDK-ARM
│ │ ├─src
│ │ └─SW4STM32
│ │ ├─STM3210B-EVAL
│ │ ├─STM3210E-EVAL
│ │ ├─STM3210E-EVAL_XL
│ │ └─STM32L152-EVAL
│ ├─Composite_Examples
│ │ └─MSC_HID_Composite
│ │ ├─EWARM
│ │ ├─inc
│ │ ├─MDK-ARM
│ │ ├─src
│ │ └─SW4STM32
│ │ ├─STM3210B-EVAL
│ │ ├─STM3210E-EVAL
│ │ ├─STM3210E-EVAL_XL
│ │ ├─STM32303C_EVAL
│ │ ├─STM32303xE_EVAL
│ │ ├─STM32373C_EVAL
│ │ ├─STM32L152-EVAL
│ │ └─STM32L152D-EVAL
│ ├─Custom_HID
│ │ ├─EWARM
│ │ ├─inc
│ │ ├─MDK-ARM
│ │ ├─src
│ │ └─SW4STM32
│ │ ├─STM3210B-EVAL
│ │ ├─STM3210E-EVAL
│ │ ├─STM3210E-EVAL_XL
│ │ ├─STM32303C_EVAL
│ │ ├─STM32303xE_EVAL
│ │ ├─STM32373C_EVAL
│ │ ├─STM32L152-EVAL
│ │ └─STM32L152D-EVAL
│ ├─Device_Firmware_Upgrade
│ │ ├─binary_template
│ │ │ ├─EWARM
│ │ │ ├─inc
│ │ │ ├─MDK-ARM
│ │ │ ├─src
│ │ │ └─SW4STM32
│ │ │ ├─STM3210B-EVAL
│ │ │ ├─STM3210E-EVAL
│ │ │ ├─STM3210E-EVAL_XL
│ │ │ ├─STM32303C_EVAL
│ │ │ ├─STM32303xE_EVAL
│ │ │ ├─STM32373C_EVAL
│ │ │ ├─STM32F302x8_Nucleo
│ │ │ ├─STM32L152D_EVAL
│ │ │ └─STM32L152_EVAL
│ │ ├─EWARM
│ │ ├─inc
│ │ ├─MDK-ARM
│ │ ├─src
│ │ └─SW4STM32
│ │ ├─STM3210B-EVAL
│ │ ├─STM3210E-EVAL
│ │ ├─STM3210E-EVAL_XL
│ │ ├─STM32303C_EVAL
│ │ ├─STM32303xE_EVAL
│ │ ├─STM32373C_EVAL
│ │ ├─STM32F032F302x8_Nucleo
│ │ ├─STM32L152-EVAL
│ │ └─STM32L152D-EVAL
│ ├─JoyStickMouse
│ │ ├─EWARM
│ │ ├─inc
│ │ ├─MDK-ARM
│ │ ├─src
│ │ └─SW4STM32
│ │ ├─STM3210B-EVAL
│ │ ├─STM3210E-EVAL
│ │ ├─STM3210E-EVAL_XL
│ │ ├─STM32303C_EVAL
│ │ ├─STM32303xE_EVAL
│ │ ├─STM32373C_EVAL
│ │ ├─STM32F302x8_Nucleo
│ │ ├─STM32L152-EVAL
│ │ └─STM32L152D-EVAL
│ ├─JoyStickMouse_LPM
│ │ ├─EWARM
│ │ ├─inc
│ │ ├─MDK-ARM
│ │ ├─src
│ │ └─SW4STM32
│ │ ├─STM32303xE_EVAL
│ │ └─STM32F302x8_Nucleo
│ ├─Mass_Storage
│ │ ├─EWARM
│ │ ├─inc
│ │ ├─MDK-ARM
│ │ ├─src
│ │ └─SW4STM32
│ │ ├─STM3210B-EVAL
│ │ ├─STM3210E-EVAL
│ │ ├─STM3210E-EVAL_XL
│ │ ├─STM32303C_EVAL
│ │ ├─STM32303xE_EVAL
│ │ ├─STM32373C_EVAL
│ │ ├─STM32L152-EVAL
│ │ └─STM32L152D-EVAL
│ ├─VirtualComport_Loopback
│ │ ├─EWARM
│ │ ├─inc
│ │ ├─MDK-ARM
│ │ ├─src
│ │ └─SW4STM32
│ │ ├─STM3210B-EVAL
│ │ ├─STM3210E-EVAL
│ │ ├─STM3210E-EVAL_XL
│ │ ├─STM32303C_EVAL
│ │ ├─STM32303xE_EVAL
│ │ ├─STM32373C_EVAL
│ │ ├─STM32F302x8_Nucleo
│ │ ├─STM32L152-EVAL
│ │ └─STM32L152D-EVAL
│ └─Virtual_COM_Port
│ ├─EWARM
│ ├─inc
│ ├─MDK-ARM
│ ├─src
│ └─SW4STM32
│ ├─STM3210B-EVAL
│ ├─STM3210E-EVAL
│ ├─STM3210E-EVAL_XL
│ ├─STM32303C_EVAL
│ ├─STM32303xE_EVAL
│ ├─STM32373C_EVAL
│ ├─STM32L152-EVAL
│ └─STM32L152D-EVAL
├─Utilities
│ ├─DFU_images
│ └─STM32_EVAL
│ ├─Common
│ ├─STM3210B_EVAL
│ ├─STM3210E_EVAL
│ ├─STM32303C_EVAL
│ ├─STM32373C_EVAL
│ ├─STM32L152D_EVAL
│ └─STM32L152_EVAL
└─_htmresc