Rebooting into bootloader mode from software?
Hi all, I am pretty new to STM32 development and pretty green to embedded systems in general.
The main goal I am trying to achieve is receiving firmware updates from a master controller over UART. I am using a STM32F091CC chip on my slave device and was planning on letting the master use the chips internal bootloader to accomplish this. Basically my plan is: receive an update command from master -> send an ACK response -> reboot myself into bootloader mode -> let master take control.

I am aiming to use the 5th row configuration (which is supported by STM32F09 devices). This configuration seems to not care about the BOOT0 pin and can be setup entirely through software by setting the nBOOT1, nBOOT0, and BOOT_SEL pin.
My question is centered around how do I get the chip to recognize these changes and enter bootloader mode? There is a very good chance I missed this in the documentation, but I've been looking around and it seems somewhat vague.
I know it will take some type of reset to accomplish this. I need to use HAL_FLASH_OB_Launch() to load the new option bits anyways, and this causes a "system reset". Is this reset enough to recognize these changes and enter into bootloader mode? Do I need something more heavy duty like an actual power on reset? Does this approach even make sense at all?
If you could point me to the right documentation that would be awesome! Thanks!
