SRAM Bootloader and SD Card

You’re right that SDMMC DMA being the issue preventing it from working under this conditions. That hardware test file moves 2 objects from stack (that’s always on DTCM) to .data section by making it global, but when application is in SRAM that ends up in the same DTCM sectioin. Can’t test this myself ATM, but maybe changing it to something like this can do the trick:

#define DSY_TEXT __attribute__((section(".text")))

DSY_TEXT FIL            file; /**< Can't be made on the stack (DTCMRAM) */
DSY_TEXT FatFSInterface fsi;

I would expect that to move them to text section which is on SRAM. It’s already used for program code, but also other stuff like constants. Adding data to it is probably fine.

5 Likes