Creating a memory mapping to peripheral memory on STM boards
The only peripherals that have memory mapped external buses are FMC and QSPI, so execution is only supported from external memory types that those two peripherals support. But you can't boot from them, so you need a program (bootloader) that initializes the necessary peripherals and jumps to execute from FMC/QSPI address you want.

All other types of external storage (SPI, I2C, SD card etc) needs the contents to be loaded to memory that supports execution (on external FMC/QSPI bus or internal RAM/Flash). There is no way to change how the memory is mapped.