Contents
- What's New in STM32 USB-FS-Device Library
V3.0.1
- What is STM32 USB-FS-Device
Library?
- STM32 USB-FS-Device Library
update History
- License
What's New in
STM32F10x USB-FS-Device Library V3.0.1
The
STM32 USB-FS-Device_Lib
V3.0.1 is an update of USBLib
V2.2.1 that makes the library compliant with the Cortex™
microcontroller software interface standard (CMSIS).
What is STM32
USB-FS-Device Library?
The STM32
USB-FS-Device
Library provides a free, complete firmware
package that makes implementation of USB-FS-Device interfaces
in STM32 applications quick and easy, that allows
developers to painlessly develop any flavor of USB-FS-Device firmware
including:
- Control
transfer with generic device management tasks
- Interrupt transfer
with HID Mouse/Joystick demo
- Bulk transfer
with mass storage demo
- Isochronous transfer
with Voice Speaker demo
The
STM32 USB-FS-Device Library is full CMSIS compliant.

STM32
USB-FS-Device Library update History
V3.0.1
- 04/27/2009
- STM3210x USB
Library USB-FS-Device Mass Storage ARM startup file updated: increase stack size.
V3.0.0
- 04/06/2009
- STM3210x USB
Library renamed to STM32 USB-FS-Device Library (USB-FS-Device_Lib)
- STM32
USB-FS-Device Library is full
CMSIS compliant
- STM32
USB-FS-Device Library Structure
is updated.
- STM32
USB-FS-Device Library Package
Architecture is enhanced
- Update
with STM32F10x Standard Peripherals Library V3.0.0.
For
more details, please
refer to AN2953 "How to migrate from the
STM32F10xxx firmware library
V2.0.3 to the STM32F10xxx standard peripheral library V3.0.0".
V2.2.1
- 09/22/2008
- Device_Firmware_Upgrade
demo
- Update the
FSMC NOR Driver and SPI FLASH Driver
- Mass_Storage
demo
- Update the
FSMC NAND, SD Card Drivers
- Virtual_COM_Port
demo
- Update the
USART Parity Configuration
V2.2.0
- 06/13/2008
- Device_Firmware_Upgrade
demo
- Add
example with preconfigured projects for RVMDK, EWARMv4, EWARMv5, RIDE
and HiTOP toolchain to demonstrate how to create a binary image to be
loaded with the DFU
- Remove the
Firmware License Agreement file
- Update the
source files's header to remove reference to the License
V2.1
- 05/30/2008
- Device_Firmware_Upgrade
demo
- Resolve
the issue of jump to user program with some toolchain. At each device
startup, if user doesn't select to enter DFU mode the application
program will check if user code is programmed starting from address
0x8003000 (test if the initial Stack Pointer is programmed at this
address), and if so it will jump and execute this code. But since some
toolchain places the initial Stack Pointer on the top of the SRAM
memory (0x20010000 for High-density devices, 0x20005000 for
Medium-density devices), this test will not detect that the Stack
Pointer is programmed due to wrong definition of mask variable value.
This issue is fixed in main.c file at line60: "0x2FFF0000" changed to
"0x2FFE0000".
V2.0
- 05/23/2008
- General
- Update
with STM32F10x FWLib V2.0 to support the extra peripherals and features
embedded in the STM32 High-density
devices.
- Add Firmware
License Agreement file
- For
more details about USB Library and demos implementation, please refer
to the User manual "UM0424 STM32F10xxx USB development kit
available for download from the
ST microcontrollers website: www.st.com/stm32.
- Glossary
- Medium-density
devices are STM32F101xx and STM32F103xx microcontrollers where the
Flash memory density ranges between 32 and 128 Kbytes.
- High-density
devices are STM32F101xx and STM32F103xx microcontrollers where the
Flash memory density ranges between 256 and 512
Kbytes.
- USB library
- Correct
the bug of control transfer when the data to transfer is an
exact multiple of wMaxPacketSize for the endpoint. In this
case
the device should return a zero-length packet to indicate the
end
of the Data stage. For more details regarding this condition
please refer to the section 8.5.3.2 of the USB 2.0
specification.
The functions DataStageIn() and Data_Setup0() in the file "usb_core.c"
are
modified to support this
feature.
- Correct
the Get Status request (bus/self power feature reporting):
function Standard_GetStatus(u16 Length) in the usb_core.c
updated.
- USB demos
- Add
a CUSTOM_HID demo with PC applet (source code porvided) to give
an example of how to create a customized HID device based on
windows native driver.
- All demos
ported to run on STMicroelectronics STM3210E-EVAL evaluation board
(in addition to STM3210B-EVAL)
- JoyStickMouse
- add the
support of the remote wake-up using the Key push button as
wake-up source.
- add the
support of STM32 STOP Mode entry/exit during USB
Suspend/resume states.
- DFU
- update to
support internal Flash programming of STM32 High-density devices
- add support
of NOR flash memory mounted on the STM3210E-EVAL board (thismemory can
be: M29W128F, M29W128G or S29GL128)
- add an
intermediary layers to separate media access and USB class
(files dfu_mal.c/h files and nor_if.c/h)
- Mass Storage
Demo
- add
support of NAND flash memory mounted on the STM3210E-EVAL board (only
small page is supported (512Byte/page) and ECC is not supported)
- add an
intermediary layers to separate media access and USB class (files
mass_mal.c/h files and nand_if.c/h)
- All
demos
- add
the support of STMicroelectronics STM3210E-EVAL evaluation board (in
addition to
STM3210B-EVAL)
- add the
support of a unique serial number string descriptor based on
the STM32 Device Unique ID register.
- first
plug bug: in the first plug on a new PC, Windows sends a
specific Get string descriptor (OS descriptor index 0xEE).
This
descriptor is not supported by the demos so the function
"GetStringDescriptor(u16 Length)" is modified to STALL all Get string
descriptor requests with an index greater than the number of
supported string descriptors(file usb_prop.c).
- the infinite
loop in the USB initialization is removed to be compliant with
embeded OSs (file usb_prop.c).
- update the
"bDeviceState" possible values (file usb_pwr.h) to be:
- UNCONNECTED
- ATTACHED
- POWERED
- SUSPENDED
- ADDRESSED
- CONFIGURED
- The
"bDeviceState" is updated according to the device state in the
files usb_prop.c and
hw_config.c
- current
feature initialization: the field
"pInformation->Current_Feature" is initialized on each
USB
reset (file usb_prop.c).
- update all
device and configuration descriptors to be USB 2.0
complient and bus powered devices (file usb_desc.c).
V1.0
- 10/08/2007
- Updated with
STM32F10x FWLib V1.0
- All demos
- Add project
with RIDE toolchain
- Product
descriptor updated
- hw_config.c
- PD.09 pin
configured as Output open-drain instead of Output push-pull
- Device_Firmware_Upgrade
demo
- main.c
- Initialize
user application's Stack Pointer before jumping to user application
V0.3
- 05/21/2007
License
The
enclosed firmware and all the related documentation are not covered by
a License Agreement, if you need such License you can contact your
local STMicroelectronics office.
THE
PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO
SAVE TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR
ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY
CLAIMS ARISING FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY
CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH
THEIR PRODUCTS.
For
Complete on STM32(CORTEX M3) 32-Bit Microcontrollers
visit www.st.com/STM32
|