Support for all STM32F4 chips

Complete support for all 115 chips from the STM32F4 family was added to the Kconfig configuration system and to the source code of distortos.
Two more example configurations for popular boards with these chips were also added, so there are now three tested, ready to run configurations:

All these configurations run the test application at the max possible system clock frequency. Whole configuration of the clock system frequency and some details from the power system is done with the Kconfig configuration tool, presented on the screenshots below.

Kconfig, STM32F4 chip

Kconfig, STM32F4 RCC

Kconfig, STM32F4 PWR

The correctness of the selected configuration is verified partly in the Kconfig tool and partly in the source code, using only compile-time methods (static_assert(...) or preprocessor). Verified items are:

values – whether the selected value is in allowed range or in set of allowed values,

With all these checks in place, the chance of creating an invalid configuration is almost zero. This way one can focus on the development of the application instead of low-level details of hardware configuration.

This standard clock configuration is completely optional – it can be disabled with just one checkbox. In that case all you have to do is enter the SYSCLK frequency and bus dividers for AHB and APBs. And – obviously – you have to configure the clocks yourself to match these settings (; .