Implementation of the STM32 SPI bootloader protocol described in: https://www.st.com/resource/en/application_note/an4286-spi-protocol-used-in-the-stm32-bootloader-stmicroelectronics.pdf NOTE: the bootloader's state machine is fragile and immediately gets into a bad state when
source not stored for this graph (policy: none)