Для больших блоков * стоит посмотреть варианты DMA, широко доступные для микроконтроллеров Cortex-M4.Он эффективен в том смысле, что во время процесса процессор будет свободен.
К сожалению, компилятор GCC Arm Embedded не имеет встроенной поддержки DMA, он будет полагаться на код вашего поставщика полупроводников.
* Поскольку настройка контроллера DMA занимает некоторое время, он может быть неэффективен для небольших блоков.