/******************** (C) COPYRIGHT 2008 STMicroelectronics ********************
* File Name          : version.txt
* Author             : MCD Application Team
* Version            : V2.2.1
* Date               : 09/22/2008
* Description        : Version file for STM32F10x USB Library (USBLib).
*                      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.
*******************************************************************************/

* 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 (this
         memory 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
====================
  Created.


******************* (C) COPYRIGHT 2008 STMicroelectronics *****END OF FILE******
