# Release Notes for STM32F0xx Standard Peripherals Drivers

Copyright © 2014 STMicroelectronics

## Update history

### V1.5.0 / 05-December-2015

Main Changes

- Add support of the STM32F070xB, STM32F070x6 and STM32F030xC devices.
- stm32f0xx_flash.c/.h: update for STM32F070xB, STM32F070x6 and STM32F030xC devices

### V1.4.0 / 24-July-2014

Main Changes

- Add support of the STM32F091 devices.
- stm32f0xx_dma.c/.h: update for STM32F091 devices

- Add the support of the DMA2 channels.
- Add new function "void DMA_RemapConfig(DMA_TypeDef* DMAy, uint32_t DMAx_CHy_RemapRequest);"

- stm32f0xx_flash.c/.h: update for STM32F091 devices

- Add definition for new option bytes on the STM32F091 devices.

- stm32f0xx_gpio.c/.h: update for STM32F091 devices

- Update the GPIO_AF definition comments with the new supported alternate functions

- stm32f0xx_rcc.c/.h: update for STM32F091 devices

- Add USART3CLK_Frequency fields in the RCC_ClocksTypeDef structure.

- Add definition for USART3 clock sources
- Add USART4, USART5, USART6, USART7 and USART8 clock and reset configuration.
- Add DMA2 clock configuration.

- stm32f0xx_syscfg.c/.h: update for STM32F091 devices

- Add new function "void SYSCFG_IRDAEnvSelection(uint32_t SYSCFG_IRDAEnv);"
- Add new function "uint32_t SYSCFG_GetPendingIT(uint32_t ITSourceLine);"

- stm32f0xx_usart.c/.h: update for STM32F091 devices

- Add support of the USART3,USART4, USART5, USART6, USART7 and USART8.

- stm32f0xx_pwr.c

- Fix PWR_EnterSTANDBYMode() to not clear Wakeup flag (WUF), this flag need to be cleared at application level before to call this function
- PWR_EnterSleepMode(): update usage of __WFE() in low power entry function. If there is a pending event, calling __WFE() instruction, the CortexM0 core will not enter to sleep mode. The solution is to make the call below: the first __WFE() is always ignored and clears the event if one was already pending, the second is always applied
  __SEV()
  __WFE()
  __WFE()

### V1.3.0 / 16-January-2014

Main Changes

- Add support of the STM32042 and STM32F072 devices.
- Update to support the new STM32F0xx family devices names.

- STM32F0XX_MD replaced by STM32F051
- STM32F0XX_LD replaced by STM32F031
- STM32F030x8 and STM32F030x6 replaced by STM32F030

- Add Clock Recovery System(CRS) driver.
- Add CAN driver.
- Update RCC driver to manage the High Speed Internal RC48MHz oscillator.
- stm32f0xx_adc.c/.h: update for STM32F042 and STM32F072 devices

- Add note to no more use the ADC_JitterOff definition as obsolete and maintained for legacy purpose. They are replaced by ADC_ClockMode definition.
- Add new ADC_ClockMode definition for proper ADC clock configuration.
- Update ADC_FLAG_ADSTP definition.
- Update ADC_FLAG_ADCAL definition.
- Add ADC_ClockModeConfig() function for proper ADC clock configuration.
- Add note to no more use the ADC_JitterCmd() function as obsolete.

- stm32f0xx_comp.c/.h: update for STM32F042 and STM32F072 devices

- Add define for the COMP_InvertingInput_DAC2.

- stm32f0xx_crc.c/.h: update for STM32F042 and STM32F072 devices

- Add definition for the CRC Polynomial Size.
- Add CRC_SetPolynomial(), CRC_CalcCRC16bits(), CRC_PolynomialSizeSelect(), CRC_CalcCRC16bits(), CRC_CalcCRC8bits() functions for the polynomial configuration management.

- stm32f0xx_dac.c/.h: update for STM32F042 and STM32F072 devices

- Add DAC_WaveGeneration and DAC_LFSRUnmask_TriangleAmplitude fields in the DAC_InitTypeDef structure.
- Add DAC_WaveGeneration definitions.
- Add DAC_lfsrunmask_triangleamplitude definitions.
- Add definition for DAC_Channel_2.
- Add DAC_DualSoftwareTriggerCmd(), DAC_WaveGenerationCmd(), DAC_SetChannel2Data(), DAC_SetDualChannelData() for wave generation and dual channel management.

- stm32f0xx_dbgmcu.c/.h: update for STM32F042 and STM32F072 devices

- Add define for DBGMCU_TIM7_STOP.
- Add define for DBGMCU_CAN1_STOP.

- stm32f0xx_dma.c/.h: update for STM32F042 and STM32F072 devices

- Add the support of the DMA channel 6 and DMA Channel 7

- stm32f0xx_exti.c/.h: update for STM32F042 and STM32F072 devices

- Add defines for EXTI Lines 18, 20, 26 and 31.

- stm32f0xx_flash.c/.h: update for STM32F042 and STM32F072 devices

- Add definition for option bytes on the STM32F072 devices.
- Update IS_FLASH_CLEAR_FLAG macro definition.
- Add definition of the BOOT0 and BOOT0_SW option bytes.
- Add FLASH_OB_BOOT0Config() and FLASH_OB_BOOT0SWConfig() function for the BOOT0 Option bytes configuration.

- stm32f0xx_gpio.c/.h: update for STM32F042 and STM32F072 devices

- Add the support of the PortE.
- Update the GPIO_AF definition comments with the new supported alternate functions

- stm32f0xx_pwr.c/.h: update for STM32F042 and STM32F072 devices

- Add definition for Wake up pins 3, 4, 5, 6, 7 and 8.
- Update PWR_EnterSTOPMode() function to support of the SLEEPONEXIT entry mode.

- stm32f0xx_rcc.c/.h: update for STM32F042 and STM32F072 devices

- Replace references to STM32F0XX_MD device definition by STM32F051.

- Add USART2CLK_Frequency and USBCLK_Frequency fields in the RCC_ClocksTypeDef structure.

- Add definition of HSE, HSI48 and HSI clocks as new PLL clock sources.
- Add definition of HSI48 clock as system clock source.
- Add definition for USB clock sources.
- Add definition for USART2 clock sources
- Add definition for HSI48 and PLL clock as MCO sources
- Add RCC_HSI48Cmd() and RCC_GetHSI48CalibrationValue() functions for the HSI48 clock source management.
- Add RCC_USBCLKConfig() function for USB clock management.
- Add note to no more use the RCC_ADCCLKConfig() as obsolete, however maintained for legacy purpose. Proper ADC clock configuration is managed by new function ADC_ClockModeConfig() available within the ADC driver.

- stm32f0xx_rtc.c/.h: update for STM32F042 and STM32F072 devices

- Add definition of the Tamper 3.
- Add definiton for the Wake up counter in the RTC output selection
- Add RTC_WakeUpClockConfig(), RTC_SetWakeUpCounter(), RTC_GetWakeUpCounter(), RTC_WakeUpCmd() functions for the wakeup counter configuration.

- stm32f0xx_syscfg.c/.h: update for STM32F042 and STM32F072 devices

- Add definition for EXTI_PortSourceGPIOE.
- Add DMA remap definition for TIM3, TIM2, TIM1, I2C1, USART3, USART2, SPI2.
- Add new DMA remap possibility definition for TIM17 and TIM16.
- Add definition for SYSCFG_I2CFastModePlus_I2C2.

- stm32f0xx_tim.c/.h: update for STM32F042 and STM32F072 devices

- Add support of the TIM7.

- stm32f0xx_usart.c/.h: update for STM32F042 and STM32F072 devices

- Add support of the USART3 and USART4.

### V1.2.1 / 22-November-2013

Main Changes

- Update the support of STM32F030 devices by removing the references to STM32F030x8 and STM32F030x6 devices and replacing them in by STM32F030 in the SYSCFG and GPIO drivers

### V1.2.0 / 01-Agust-2013

Main Changes

- Add support of STM32F030x8 and STM32F030x6 devices (STM32F030 devices are microcontrollers where the Flash memory ranges between 16 and 32 Kbytes)

### V1.1.1 / 31-July-2013

Main Changes

- stm32f0xx_tim.c

- TIM_OC2Init(): add configuration of OC2 output idle state for TIM15

### V1.1.0 / 10-May-2013

Main Changes

- Add support of STM32F0xx Low-density devices (STM32F0XX_LD devices, STM32F050xx and STM32F060xx microcontrollers where the Flash memory ranges between 16 and 32 Kbytes) and miscellaneous update
- stm32f0xx_rcc.c/.h: update for STM32F0XX_LD devices

- Add new function RCC_MCOConfig(uint8_t RCC_MCOSource, uint32_t RCC_MCOPrescaler)

- RCC_DeInit(): update to reset new bits added in RCC_CFGR register

- stm32f0xx_syscfg.c/.h: update for STM32F0XX_LD devices

- Add defines for "I2C fast mode plus" new AF mapping: SYSCFG_I2CFastModePlus_PA9, SYSCFG_I2CFastModePlus_PA10 and SYSCFG_I2CFastModePlus_I2C1

- stm32f0xx_gpio.h: update for STM32F0XX_LD devices

- GPIO_PinAFConfig(): in the function header add reference to I2C1's new AF4 remapping

- stm32f0xx_flash.h

- Swap the value of these defines OB_VDDA_ANALOG_ON and OB_VDDA_ANALOG_OFF

- stm32f0xx_misc.c

- NVIC_Init(): remove reference to NVIC_PriorityGroupConfig() function (not available)

- stm32f0xx_gpio.h

- Update GPIOSpeed_TypeDef members naming to be in line w/ the Reference Manual

- stm32f0xx_exti.c

- EXTI_GetITStatus() updated to remove test on IMR register to avoid corner case limitation

### V1.0.2 / 13-July-2012

Main Changes

- stm32f0xx_i2c.c/.h

- I2C_SoftwareResetCmd(): update function coding to be in line with I2C software reset procedure recommended in STM32F0xx lasted documentation. As consequence NewState parameter was removed.

- stm32f0xx_flash.c/.h

- Rename FLASH_ProgramOptionByteData() to FLASH_OB_ProgramData()

- Add some legacy defines for compatibility with STM32F10x Flash driver

- stm32f0xx_rtc.c

- RTC_DeInit(): remove unused variable “wutcounter”

- stm32f0xx_spi.c

- File header's comment: add details how to configure the FIFO threshold

### V1.0.1 / 20-April-2012

Main Changes

- All drivers, function's header: update comments and Doxygen tags formatting
- stm32f0xx_pwr.c

- PWR_PVDLevelConfig() function: remove value of the voltage threshold corresponding to each PVD detection level, user should refer to the electrical characteristics of the STM32F0xx device datasheet to have the correct value

- stm32f0xx_usart.c/.h

- USART_Init() function: update baudrate computation to be in line with the formula described in the Reference Manual (RM0091)
- USART_AutoBaudRateNewRequest() function removed

- stm32f0xx_i2c.c

- I2C_GetITStatus() function: add test to check if the interrupt source is enabled or not

### V1.0.0 / 23-March-2012

Main Changes

- First official release for STM32F0xx devices
- All source files: license disclaimer text update and add link to the License file on ST Internet
- stm32f0xx_comp.h

- Correct values of COMP_Mode parameter

- stm32f0xx_rcc.c/.h

- Add new reset flag V18PWRRSTF in the RCC CSR register

- Add new MCO clock sources (LSI and LSE) and change value of RCC_MCOSource_HSI14

- stm32f0xx_flash.c/.h

- Add new function FLASH_OB_SRAMParityConfig() to manage the SRAM parity enable option bit

- Flash and OB keys moved to stm32f0xx.h file

- stm32f0xx_tim.c/.h

- Add additional input for TIM14 clock (HSE divided by 32 and MCO)
- Miscellaneous enhancement

- stm32f0xx_adc.c/.h

- Miscellaneous update to be in line with bits naming in the Reference Manual (update done also in stm32f0xx.h file)

- stm32f0xx_i2c.c/.h

- Miscellaneous enhancement

### V1.0.0RC1 / 27-January-2012

Main Changes

- Official version (V1.0.0) Release Candidate 1

## License

Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); You may not use this package except in compliance with the License. You may obtain a copy of the License at:

http://www.st.com/software_license_agreement_liberty_v2
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

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