Update History
V1.1.4 / June-2019
Main Changes
- Update CAN examples to support new HAL CAN driver.
- Update HAL CRYP examples to be aligned with new HAL CRYP drivers
- Update HAL I2C examples to be compliant with new I2C API
- Rework GPIO_InfiniteLedToggling_Init LL example to use GPIO
initialization structure for GPIO configuration instead of LL inline
macros
- Update DMA FIFO Mode examples to use HAL DMA registers Callback API to register the different DMA transfer Callbacks
V1.1.3 / 17-March-2017
Main Changes
- General examples projects update to be aligned with new HAL SD and BSP Drivers implementation
- Update system_stm32f2xx.c file in all projects to be aligned with latest version of CMSIS STM32F2xx device implementation
- Update stm32f2xx_hal_conf.h file in all projects to be aligned with new conf_template.h
- Update DMA_FLASHToRAM example to use FIFO mode instead of direct mode for memory to memory transfer
- Update FMC_SRAM example to enhance implementation
V1.1.2 / 01-July-2016
Main Changes
- stm32f2xx_hal_conf.h:
- Adjust the HSE Start-up Timeout value: 100ms instead of 5s
- Add new define USE_SPI_CRC for code cleanup when the CRC calculation is disabled
- Add new define for the LSE start-up Timeout: LSE_STARTUP_TIMEOUT
- HAL_TimeBase
- Update to use new HAL TimeBase driver template stm32xxx_hal_timebase_time
- Add two new time base examples
- Update HAL_TimeBase example to use TIM HW as time base source instead of Systick
- Update IWDG example to be in line with latest updates done on HAL IWDG drivers
- Remove the HAL_IWDG_Start function in the main.c file
- Update WWDG examples to be in line with latest updates done on HAL WWDG drivers
- Remove the HAL_WWDG_Start and update the HAL_WWDG_Refresh functions in the main.c file
- Remove HAL_WWDG_MspDeInit function from stm32f2xx_hal_msp.c file
- Update DMA_FLASHToRAM example to use HAL_DMA_RegisterCallback() function
- Rework I2C_TwoBoards_AdvComIT example following changes in latest HAL version
- Update to allow master to restart communication when slave doesn't acknowledge its address
- Update SPI DMA example to manage SPI peripheral errors during DMA process
V1.1.1 / 20-November-2015
Main Changes
- ADC_TripleModeInterleaved example: update to use ADC triple mode instead of ADC dual mode
V1.1.0 / 09-October-2015
Main Changes
- Add the support System Workbench for STM32 (SW4STM32) toolchain
- All projects updated following changes in latest version of HAL and Middlewares
- Add 29 new Examples:
- ADC\ADC_InjectedConversion_Interrupt
- ADC\ADC_RegularConversion_DMA
- ADC\ADC_RegularConversion_Interrupt
- ADC\ADC_TripleModeInterleaved
- CAN\CAN_LoopBack
- CRYP\CRYP_AES_DMA
- CRYP\CRYP_TDES_DMA
- DCMI\DCMI_SnapshotMode
- DMA\DMA_FIFOMode
- HAL\HAL_TimeBase
- HASH\HASH_HMAC_SHA1MD5
- PWR\PWR_BOR
- PWR\PWR_PVD
- RTC\RTC_Alarm
- RTC\RTC_TimeStamp
- SMARTCARD\SMARTCARD_T0
- TIM\TIM_6Steps
- TIM\TIM_7PWMOutput
- TIM\TIM_CascadeSynchro
- TIM\TIM_ComplementarySignals
- TIM\TIM_DMABurst
- TIM\TIM_Encoder
- TIM\TIM_ExtTriggerSynchro
- TIM\TIM_InputCapture
- TIM\TIM_OCActive
- TIM\TIM_OCInactive
- TIM\TIM_OCToggle
- TIM\TIM_ParallelSynchro
- UART\UART_Hyperterminal_IT
- Common update for all Examples
- Update EWARM startup
file for all projects to cope with compiler enhancement of the V7.x version
- Update
“stm32f2xx_hal_conf.h” to be in line with HAL V1.1.0: add new defines LSI_VALUE, LSE_VALUE and
TICK_INT_PRIORITY
- Update “stm32f2xx_it.c”: add the include of “main.h” before the “stm32f2xx_it.h”, in order to
provide access to CMSIS device file via “stm32f2xx_hal.h”
- Miscellaneous source code comments update
- Force initialization of all PPP Init structure's field before calling HAL_PPP_Init() API
- CRYP examples: update to initialize the new filed 'Instance'
- ADC_TriggerMode: update to set ADC_EOC_SEQ_CONV value instead of ENABLE as EOCSelection parameter
- BSP
Example: remove the call of BSP_EEPROM_WaitEepromStandbyState()
function, it's not useful to be called by the application code (now
it's declared as static function within the EEPROM BSP driver)
- FLASH_EraseProgram:
- Add a note about the need to flush the data and/or instruction cache
after Sector Erase operation, if they was previously enabled
- Update to reset data and instruction cash memories after flash erase
- CORTEXM_ModePrivilege: add ISB instruction to flush the pipeline after MSR instruction to modify CONTROL register
- I2S_Audio
- Retrieve audio data from a storage unit (Internal Flash for Instance) through an explicit GetData method. Can be easily adapted to use data from any storage unit (USB, uSD...)
- Use an elastic buffer to manage double buffer mechanism using the DMA circular mode and the half and complete transfer callbacks
- Use the buffer size in byte instead of half-word when
calling the BSP_AUDIO_OUT_Play() function
- Miscellaneous update
- UART_HyperTerminal_DMA
- update following the change done in UART driver to fix the DMA transmit process (the code has been updated to avoid waiting on TC flag under DMA ISR, UART TC interrupt is used instead):
- in stm32f2xx_hal_msp.c file, configure and enable the USART IRQ in HAL_UART_MspInit() function
- In stm32f2xx_it.c file, USARTx_IRQHandler() function: add a call to HAL_UART_IRQHandler() function
- Add display on the Hyperterminal of the actions that need to be done by user
- PWR_STANDBY
- Update
to avoid configuring the RTC each time the device resumes from Standby
mode, since the RTC configuration is kept in Standby mode.
- Add safety wake up sequence by following errata sheet recommendation
- Add enable backup domain before clearing RTC flags
- PWR_CurrentConsumption: update following latest change in HAL V1.2.0
- SleepMode_Measure(): add
HAL_SuspendTick() function before entering in Sleep mode and add
HAL_ResumeTick() after exit from this mode
- StandbyMode_Measure(), StandbyRTCMode_Measure() and StandbyRTCBKPSRAMMode_Measure(): update STANDBY mode entry sequence as follows:
- Disable all used wakeup sources
- Clear all related wakeup flags
- Re-enable all used wakeup sources
- Enter the standby mode
- Update to call the BSP_PB_Init() function outside the waiting loop
- RCC_ClockConfig
- In main.c file : add the default HSI
calibration value “RCC_OscInitStruct.HSICalibrationValue = 0x10;” in
function SystemClockHSI_Config()
- TIM_PWMInput: change the name of example from
“TIM_PWMIntput” to “TIM_PWMInput”
- TIM_TimeBase:
- In main.c file: initializes the LEDs before using them
- In main.c file: remove the following
duplicated line “uwPrescalerValue = (uint32_t)((SystemCoreClock /2)/10000)-1;”
- Miscellaneous update on BSP, MPU and RTC Tamper examples
Development Toolchains and Compilers
- IAR Embedded Workbench for ARM
(EWARM) toolchain v7.40.1
- RealView Microcontroller Development Kit (MDK-ARM) toolchain v5.16
- Atollic TrueSTUDIO STM32 (TrueSTUDIO) toolchain v5.3.1
- System Workbench for STM32 (SW4STM32) toolchain V1.3.0 + ST-Link
Supported Devices
and EVAL boards
- STM32F217xx/215xx/207xx/205xx devices and STM322xG_EVAL board RevC
Known Limitations
V1.0.0 / 07-March-2014
Main Changes
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:
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
|