HAL based CUBEMX generated project, finds a *.bin file inside the SD card, copies that file to flash memory, and runs.
Based in the Adafruit's feather stm32f405 board https://github.com/javiBajoCero/Adafruit-Feather-STM32F405-Express-PCB
https://github.com/javiBajoCero/featherSDcardTests
The Firmware "APP" that gets loaded and executed by this bootloader is going to be stored in FLASH memory at address 0x8010000, this APP.bin's vector table needs to be offseted 0x0010000.
Changes need to be made within its system_stm32f4xx.c