Цитата(AlexandrY @ Jun 6 2017, 23:06)

На серии Kinetis от NXP это делается элементарно в одной пересылке DMA. Там вместе с данными в буфер записывается состояние CS.
Такое управление CS-ами есть и в Infineon и в Tiva и в OMAP-L. Нету только в STM32, так как его периферию упростили по самое нехочу.
Цитата(Rash @ Jun 6 2017, 16:31)

Да я не первый год в теме и если бы бросал чем то заниматься, как только, что-то запустилось, то много бы не узнал.
МК 401, а не 407, но в SPI без разницы, вот таймеров меньше и работать с GPIO через DMA можно только одним таймером TIM1.
ну если из любви к искусству и если Вы действительно так въедливы как пишете, то изучите от корки до корки всю периферию своего камня и думаю сможете что-нить придумать.
Тут подобные темы уже не раз обсасывались - поднимите историю.
Как зацепка Вам:
Выделяете один канал DMA, синхронизируемый событиями от таймера, который при каждом event-е от таймера засылает блок конфигурации в регистры другого DMA-канала. А уже тот второй DMA-канал выполняет пересылки память-память, программируя различную периферию и другие DMA-каналы.
Если DMA-контроллер вашего STM может по событию таймера выполнить пересылку блока байт память-память, а по следующему событию таймера - следующего блока из списка в памяти по тому-же целевому адресу, то должно получиться. Мне открывать мануал на периферию STM лень.

Ещё можно придумать разные фокусы с подсчётом SCLK вашего SPI каким-то таймером и формированию события по достижении некоего числа SCLK (например - фронта CS, или опять-же - event к DMA).