Не хватает соображалки, чтобы правильно сконфигурировать контроллер dma и периферию, чтобы скопировать 512 байт из SSP0 (spi ) в MCI (sd-card) через DMA.
Смысл всего этого такой:
На SD карту нужно писать лог. Не быстро и небольшими порциями. Для минимизации операций записи стоит FRAM на SPI, т.е. лог пишется во фрам, накопилось 512 байт - переписываем их на карту. Именно внешняя память, а не буфер в памяти, для того чтобы не потерять данные при потере питания.
читать/писать в SSP через DMA умею.
читать/писать в MCI через DMA умею.
а вот как соеденить вместе, не могу сообразить. работать через две операции не хотелось бы...
Покажите, плиз, кусок кода на эту тему или ответьте на вопросы:
1. Кого правильнее назначить FlowControl'ом?
2. Нужно ли выставлять биты Enable в MCI_DATA_CTRL и SSP0DMACR и в каком порядке?
3. Как правильнее отследить завершение транзакции (по чьему прерыванию: dma, mci или ssp)?