Update History
- V1.0.0 / 15-December-2014
Main
+ V1.0.4 / 29-April-2016
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Main
+Changes
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
- General updates to fix known defects and enhancements implementation.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - HAL RCC
- Add suffix U for defines equals to 0xFFFFFFFF (fix MISRA error 10.6)
- Optimization of HAL_RCC_ClockConfig().
- Replace aAPBAHBPrescTable by APBPrescTable and AHBPrescTable defined inside system_stm32f1xx.c.
- When using HAL_RCC_OscConfig
+to activate LSE, if LSE is already ON, it remains in its state ON.
+Previously, it was turned OFF then ON in all cases.
- The backup domain is no more reset when changing the RTC clock source from reset value.
- Correct strange behavior in HAL_RCCEx_PeriphCLKConfig.
- HAL UART
- Correct the macro UART_BRR_SAMPLING16
- HAL SMARTCARD
- Correct the macro SMARTCARD_BRR
- HAL IRDA
- Correct the macro IRDA_BRR
- EIE bit is no more activated in transmit (this bit only triggers errors in reception)
- EIE bit is reset at the end of the reception.
- HAL DMA
- Add macro __HAL_DMA_GET_COUNTER to get the number of remaining data units in the current channel.
- HAL FSMC
- Adapt FSMC_NAND_Init behavior to the others STM32 series by reseting the bit FSMC_PCRx_PBKEN.
V1.0.3 / 11-January-2016
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Main
+Changes
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - Remove the #if defined(USE_HAL_LEGACY) condition to include Legacy/stm32_hal_legacy.h by default, in stm32f1xx_hal_def.h.
V1.0.2 / 18-December-2015
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Main
+Changes
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - General updates to fix known defects and enhancements implementation.
- HAL generic
- Insure that do {} while(0) are used in in multi statement macros. (hal eth and pcd)
- Manage simultaneous errors in IRQHandler. (hal uart, smartcard, usart and uart)
- To
+ensure the full compatibility of the GPIO interfaces across all the
+STM32 families, the gpio speed definition have been renamed:
- GPIO_SPEED_LOW to GPIO_SPEED_FREQ_LOW
- GPIO_SPEED_MEDIUM to GPIO_SPEED_FREQ_MEDIUM
- GPIO_SPEED_HIGH to GPIO_SPEED_FREQ_HIGH
- aliases are created to keep backward compatibility
- Reduce the default timeout value for the startup of the HSE form 5s to 100ms.
- Update HAL weak empty callbacks to prevent unused argument compilation warnings with some compilers.
- HAL ADC
- Remove useless state HAL_ADC_STATE_REG_OVR and HAL_ADC_STATE_REG_EOSMP.
- Add an error case if init is done with both continuous and discontinuous modes.
- HAL_ADC_PollForEvent returns HAL_TIMEOUT if a timeout occurs instead of HAL_ERROR.
- Trigger the assert_param of the number of discontinuous conversion only if the discontinuous mode is enabled.
- Enhance the check for ScanConvMode in HAL_ADC_Init.
- HAL CAN
- Clear the ERRI bit in HAL_CAN_IRQHandler.
- HAL CORTEX
- Remove the macro __HAL_CORTEX_SYSTICKCLK_CONFIG as duplicated by HAL_SYSTICK_CLKSourceConfig.
- Create an alias to HAL_SYSTICK_CLKSourceConfig for backward compatibility.
- HAL FLASH
- The
+parameter ReturnValue of HAL_FLASH_EndOfOperationCallback, in the case
+of Pages Erase, now take the value of 0xFFFFFFFF if all the selected
+pages have been erased.
- Add a new interface HAL_FLASHEx_OBGetUserData to get the option byte user data.
- HAL GPIO
- Remove a useless assert_param on the pull mode in HAL_GPIO_Init.
- HAL I2C
- Correct issue at reception of 2 bytes using memory polling and IT interface.
- Correct a wrong management of the AF flag.
- HAL RCC
- Reduce the timeout of HSI, LSI and PLL to be closer to HW specifications:
- HSI_TIMEOUT_VALUE reduced from 100ms to 2ms
- LSI_TIMEOUT_VALUE reduced from 100ms to 2ms
- PLL_TIMEOUT_VALUE reduced from 100ms to 2ms
- HAL SD
- Correct wrong calculation of the capacity for High Capacity cards.
- HAL SPI
- Remove incorrect reset of DMA parameter in HAL_SPI_Receive_DMA and HAL_SPI_Transmit_DMA.
- HAL TIM
- Remove useless assert_param.
- Rewrite the assert_param when setting clock source.
- HAL UART
- Manage the case of reception of a character while the driver is not expecting one. This was causing a crash of the driver.
- LL USB
- Remove the NoVbusSensing feature from driver. (feature not present on STM32F1xx)
V1.0.1 / 31-July-2015
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Main
+Changes
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - General updates to fix known defects and enhancements implementation.
- HAL generic
- stm32f1xx_hal_def.h
- Update NULL definition to
+fix C++ compilation issue.
- HAL ADC
- Optimization of macro __HAL_ADC_CLEAR_FLAG.
- ADC poll for conversion now return error status in case of ADC-DMA mode.
- ADC polling functions now return HAL_TIMEOUT (or HAL_ERROR in case of configuration error).
- Removing field NbrOfConversionRank of ADC_HandleTypeDef. This field was useless on STM32F1xx.
- Improving the ADC state machine.
- HAL CAN
- Field Data of CanRxMsgTypeDef and CanTxMsgTypeDef is changed from uint32_t to uint8_t.
- HAL Cortex
- Add MPU APIs in Cortex HAL driver.
- HAL CRC
- Correcting a wrong definition of __HAL_CRC_SET_IDR macro.
- HAL DAC
- HAL_IS_BIT_SET is nowused properly in HAL_DAC_Start.
- Add 2 defines: DAC_WAVEGENERATION_NOISE and DAC_WAVEGENERATION_TRIANGLE.
- HAL_DAC_Stop now disable DAC software conversion.
- HAL DMA
- Minor typographic updates.
- HAL ETH
- ETH_MAC_READCONTROLLER_FLUSHING: Removing a space in the middle of the name.
- Removing some duplicated macros.
- HAL FLASH
- FLASH_OB_GetRDP
+returns uint32_t instead of FlagStatus. (internal function). This
+permit a more coherent use for HAL_FLASHEx_OBGetConfig
+and HAL_FLASHEx_OBProgram.
- Correct an issue making impossible to set Flash read protection level1 and level2.
- The activation of backup domain in RCC is systematic.
- HAL I2C
- Correct an issue depending of APB/I2C frequency which was preventing the STOP bit to be cleared.
- The POS bit is now cleared at the beginning of each I2C API.
- The POS bit is no more cleared near STOP generation.
- HAL I2S
- HAL_I2S_Transmit() API is updated to keep the check on busy flag only for the slave.
- HAL NAND
- Review __ARRAY_ADDRESS macro and adapt tests to detect bad blocks
- HAL RCC
- In HAL_RCCEx_PeriphCLKConfig, Reset backup domain only if RTC clock source has been changed.
- Update of HAL_RCC_OscConfig functionto correctly check LSEState.
- Rework __HAL_RCC_LSE_CONFIG macro to manage correctly LSE_Bypass.
- New HAL RCC macro to configure the SYSCLK clock source: __HAL_RCC_SYSCLK_CONFIG(__RCC_SYSCLKSOURCE__).
- Adding macro: __HAL_RCC_MCO_CONFIG.
- For some RPN, the prediv source management in HAL_RCC_OscConfig function was not used.
- HAL RTC
- CMSIS mask definition used instead of hardcoded values.
- HAL SMARTCARD
- HAL TIM
- All STM32F101xx and STM32F102xx defines were missing in the file stm32f1xx_hal_tim_ex.h.
- The assert on trigger polarity for TI1F_ED is removed.
- HAL USB
- Correct issue preventing USB Device double-buffering mode for IN endpoints to correctly behave.
- Correct a bad configuration of Turnaround Time.
- Correct USB_FlushTxFifo function which was leading to a GRSTCTL register corruption.
- Replaced
+the access to USB_OTG_HCCHAR_CHDIS and USB_OTG_HCCHAR_CHENA
+from a sequencial access to a simultaneous access.
V1.0.0 / 15-December-2014
Main
Changes
- First Official release of STM32F1xx HAL
Drivers for all STM32F1 devices.
- This
release is in line with STM32Cube
-Firmware specification Rev1.0 document
License
+Firmware specification Rev1.0 document