Version 2.9.2-201508071246 is a maintenance release; the main improvements include support for multi-LED boards in the STM32F4 C++ template and more elaborate PLL settings in the STM32F4 templates.

Binary files »

New features:

  • the STM32F4 template was extended to generate projects that can blink multiple LEDs, with special focus on the STM32F4-Discovery board, which features 4 user LEDs; this project is now the default test project, and can be easily tested on QEMU which fully support this board.

In the projects generated by the templates, the following issues were addressed:

  • [bugs:#193] the _initialize\_hardware() always set VTOR, which does not exist on small Cortex-M0/M0+ cores; the setting is now conditioned by __ARM_ARCH_7M__;
  • since for HAL projects it is mandatory to have the SysTick running at 1000 Hz, the call to HAL_IncTick() was added to al templates, conditionally included by USE_HAL_DRIVER;
  • [feature-requests:#67] the HAL function name to set the clock is SystemClock_Config(); the configure_system_clock() function was renamed SystemClock_Config(), defined as weak, to allow it be redefined in CubeMX projects;
  • [feature-requests:#67] the PLL logic for STM32F4 was improved, to be specific to each device; small devices use max 84 MHz, the rest max 168 MHz; this setting is conservative, although the maximum speed is higher, it was preferred in order to keep the USB functional;
  • [support-requests:#155] ]support for boards that do not use external clock but only internal RC oscillator was added; define the clock frequency (HSE) to 0 in the template wizard and the clock initialisations will use the HSI.