STM32 a SD karta

Ahoj, mám dotaz…nezkouší někdo dělat něco s SD kartou na stmku? Stahnul jsem si filesystem z elm-chan.org/fsw/ff/00index_e.html a propojil ho přes SPI s SD kartou. Všechno mi funguje, ale nelíbí se mi jedna věc…když zapisuji na SD kartu sežere mi to cca 300ms, kdy MCU nedělá vůbec nic. Vzhledem k tomu, že procesor k tomu měří a reguluje napadlo mě použít DMA. Na netu jsem o tomhle nic moc nenašel tak nevim jestli to není úplná blbost. Dík

Použij SDIO rozhraní, propoj to s DMA. Obsluhu dej do přerušení.
K lepšímu využití MCU pomuže i nějakej RTOS.

Nejsem zastánce RTOS, protože něvěřím, že to funguje spolehlivě, ale pokud to někdo používá smekám. SDIO rozhraní použít v tomto případě nelze, protože STM32F100RB toto rozhraní nemá. Každopádně se to pokouším znásilnit pres to SPI a doufám, že z toho vypadně něco užitečnýho…

Já to taky nemám nikde použitý (tím myslím FREERTOS apod) ale vím že umí fungovat dobře. Každopádně bez RTOS musíš zajistit nějak jinak aby cpu dělal něco jinýho užitečnýho když třeba čeká na pomalou periférii. To je to je tvůj případ. Zapis 512 B dlouhýho sektoru přes spi plus čekání až bude karta znovu ready pro zápis. DMAčkem rozhodně zrychlíš ten přenos (ať už na spi nebo SDIO )a současně to pořešíš jen jedním interruptem na konci toho sektoru ale problém je že cpu bude hnít ve FS kódu dokud nebude ten požadavek hotov celej a to nepořešíš jinak než jeho modifikaci aby to byl kooperační multitásk (hromada stavových automatů) nebo RTOSEM.