1Özellikler
- SPI + DMA üzerinden bloklamayan sektör okuma/yazma
- sd_async_poll() ile DMA tamamlandığında geri çağırma
- Üzerine yerleştirilen FatFs, FAT32 ile doğrulandı
- Asenkron dosya API'si: writeFileAsync() / readFileAsync()
- Yalnızca sektör dolduğunda yazan tamponlu kayıt modülü
- RTOS ya da bare-metal projelere olduğu gibi giriyor
2Teknik özellikler
- Hedef MCU
- STM32F401
- Taşıma
- SPI + DMA
- Dosya sistemi
- FatFs / FAT32
- Araç zinciri
- STM32CubeIDE
- Dil
- C
3Şekil 1 — Kart

4Açıklama
Bu proje, STM32F401 üzerinde SD kartla tamamen bloklamayan dosya işlemleri gerçekleştiriyor. Amaç, DMA tabanlı asenkron bir mimaride farklı okuma/yazma senaryolarını desteklerken işlemciyi başka işler için serbest bırakmaktı.
Önce sektör seviyesinde asenkron giriş/çıkış geldi: read_sector_async() ve write_sector_async() tek sektörü SPI + DMA üzerinden taşıyor, sd_async_poll() tamamlanınca geri çağırmaları tetikliyor. Ardından üzerine FatFs yerleştirildi ve standart bloklayan çağrılar — mount, open, read, write, rename ve unlink — FAT32 ile doğrulandı.
Bunun üzerinde asenkron bir dosya API'si — writeFileAsync() ve readFileAsync() — ve kayıt satırlarını tamponlayıp yalnızca bir sektör dolduğunda yazma tetikleyen log_writer modülü duruyor. Sonuç: işlemciye neredeyse hiç yük bindirmeyen gerçek zamanlı kayıt.