Yes, unless you have a really old core… then after your factory reset occurs and it connects to the cloud, it updates itself to the latest factory firmware (thereby taking a little bit longer to restore). This updated factory firmware is not saved to external flash.
Correct.
This would be risky, but doable.
The core is completely recoverable even if you brick the bootloader… but you need a one time cost of $20 JTAG programmer, and $20 JTAG programming adapter.
While that does sound like fun, I’m completely backed up with tons of things in the pipeline to finish!
I would suggest baking in an expected SHA-1 Hash into the application for the target BIN, and checking it for errors before and after writing to Flash (if possible).
I wonder if the DFU-UTIL process even does any kind of significant error checking…
or could be done through the Cloud - no need to wire up an external http service for this. but as @BDub said this has to be done super carefully, because the current architecture of the factory reset is designed to make the Core as unbrickable as possible, and we want to keep it that way
I’m thinking he wants to use the internal UART boot loader?
In this case your best bet would be to change the current boot loader firmware to work over Serial1 instead if Serial and flash it with a JTAG adapter.
Embedded boot loader - It is a way to enable the ST factory bootloader in ROM (I think it is locked Flash) - The Pin should be brought out to a test pad at the minimum. It would aid in mfg, and because it is the only way to recover/program a part without a jtag.