In the world of embedded processors, power consumption is critical;
hence, most sophisticated embedded processors provide mechanisms to power
down any resources that are not required for a particular application. The
STM32 has a complex clock distribution network which ensures that only
those peripherals that are actually needed are powered. This system, called
Reset and Clock Control (RCC) is supported by the firmware module
stm32f10x_rcc.[ch]. While this module can be used to control the main
system clocks and PLLs, any required configuration of those is handled by the
startup code provided with the examples in this book. Our concern here is
simply with enabling the peripheral clocks.