The internal bootloader built-in STM32 microcontrollers is designed to allow the programming of the internal Flash and RAM memories using one or more embedded serial peripherals like USART, CAN, USB, I2C, SPI or others.
The X-CUBE-EXTBOOT is developed to allow the programming of an external Quad-SPI Flash memory using the internal bootloader via the UART protocol. It can be a driver for users to develop their own bootloaders.
This firmware is developed with the STM32Cube embedded software. It uses the IAR™ EWARM, the Keil® MDK-ARM™ and the SW4STM32 tool chains and can be easily tailored for any other tool chain.
The STM32446E-EVAL boards have been used to develop and validate the firmware. However, it can be easily ported on other platforms.
For more details refer to the application note Programming an external Flash memory using the UART bootloader built-in STM32 microcontrollers (AN4852).