Skip to main content
hariprasad
Associate III
March 11, 2015
Question

FAT-FS for SD card using SPI -DMA method - STM32F4 disco

  • March 11, 2015
  • 3 replies
  • 1800 views
Posted on March 11, 2015 at 17:36

I'm using stm32f4 Discovery board and planning to interface SD card via SPI , to achieve maxmimum throughput It'd be better to use DMA for block read/write.

Does ST provide any samples of FAT-FS implementation for STM32F4 discovery?

#stm32 #stm32 #dma #dma #spi #spi #fatfs #fatfs #sd
This topic has been closed for replies.

3 replies

Tesla DeLorean
Guru
March 11, 2015
Posted on March 11, 2015 at 17:55

Does ST provide any samples of FAT-FS implementation for STM32F4 discovery?

Yes, just not using the connectivity you're choosing.

So why would SPI be remotely more palatable than 1-bit SDIO? For examples to exist requires a strong driver, being slower, more complex and less efficient, usually stops most people.
Tips, Buy me a coffee, or three.. PayPal Venmo (See Profile) Up vote any posts that you find helpful, it shows what's working..
hariprasad
Associate III
March 12, 2015
Posted on March 12, 2015 at 12:02

So I started porting FAT FS, And I've confusion

Commands and response are transmitted as 1 bytes to SD card, so if I initialize SPI using DMA by default each 1 bytes commands/response will be exchanged using DMA method, this will have a overhead of initializing the DMA structure each time the commands are send.

So can you please guide me how to use DMA exactly in my scenario, ie; use DMA only while block transfer is taking place. 

I mean when to initialize DMA and de-init it.

Tesla DeLorean
Guru
March 12, 2015
Posted on March 12, 2015 at 19:35

So can you please guide me how to use DMA exactly in my scenario, ie; use DMA only while block transfer is taking place. 

I'm really not looking to get pulled into your development effort. I've posted SPI RX/TX example code in the past, I suspect it's going to be a pain, as you'd have to pump data out while reading back to your data buffers. There are specific SPI registers/commands to disable/enable DMA connectivity of the Rx/Tx channels.
Tips, Buy me a coffee, or three.. PayPal Venmo (See Profile) Up vote any posts that you find helpful, it shows what's working..