As i know, mcu such as stm32f4 can be configured to boot from external spi flash, or sd card. But when we write or read the flash or sd card in application, initialization or configuration driver code must be executed at first.
I think since the mcu has been booted from spi flash, some driver code should already have been executed.
I was wondering about the following:
How can the mcu read spi flash or sd card after reset?
What is the difference between read spi flash at power on and read it in application?
Why we need those drivers in applicaton when we already have read access to those devices?