This page is the summary of me reading the reference manual, If there are missing info or incorrect info, please contact me at [email protected]
Different Types of Clocks & Terminology
- HSI (High speed internal clock) - Runs at 16MHz on the STM32, up to 1% Error
- HSE (High speed external clock) - More precision, external oscillator
- LSI (Low speed internal clock) - runs at 32KHz, used mostly for watchdog
- LSE (Low speed external clock) - more precision as LSI
- PLL (Phase locked loop) - pass in an input, then scale it up
Another quick definition
- RCC (Reset & Clock Controller) - Clock controller, controls buses and system clocks
Types Of Reset
System Reset
Basically non-loss-of-power reset. Can be generated by the below
- NRST pin is pulled low (via the RESET Button on the NUCLEO)
- WWDG (Windows watchdog) reached end of count
- basically, this is the one that uses SYSCLK and must be refreshed periodically to avoid triggering a reset
- IWDG (independent watchdog) reached end of count
- this is the one that uses LSI, same exact thing basically but on a separate clock
- SW generated reset
- SYSRESETREQ bit in interrupt controller and RCC, setting that will trigger SW reset (this in CORTEX-M7 docs)
- You can see where the reset came from via the RCC_CSR register
- Low power management Reset
- When you enter standby mode or enter stop mode
- Turn this on via turning off nRST_STDBY and nRST_STOP bits in user option bytes