cancel
Showing results for 
Search instead for 
Did you mean: 

Why there is no "Use dma template" option for STM32F103?

jovial_canopy
Associate II

Hi,

I would like to enable DMA for the FATFS+SDIO on my STM32F103RET6 board. However, I could not find the option in the Middleware -> FATFS -> Advanced Settings. Do you guys know what's happening?

Environment:

  • STM32CubeMX ver 5.4.0
  • STM32CubeF1 Firmware Package V1.8.0
  • SD with 4 bits wide bus SDIO
  • Ubuntu 18.04

This is what it looks like:

0690X00000AsKYVQA3.png

This is what I think it should be:

0690X00000AsKYfQAN.png

(I created a project with STM32F401 and it supports "Use dma template".)

Btw, I tried the follows and they worked:

  • Without FATFS, HAL_SD_ReadBlocks() and HAL_SD_WriteBlocks();
  • Without FATFS, HAL_SD_ReadBlocks_DMA() and HAL_SD_WriteBlocks_DMA();
  • With FATFS, HAL_SD_ReadBlocks() and HAL_SD_WriteBlocks(), mounting, opening, writing, reading, and closing;

Does anyone have idea on how to enable the DMA for FATFS+SDIO?

Thanks!

2 REPLIES 2

Which 'F103?

From RM0008:

Note: The DMA2 controller and its relative requests are available only in high-density, XL-density

and connectivity line devices.

 If your 'F103 falls into these cathegories, it may be simply a CubeMX bug.

You may want to check the related errata, too.

JW

Hi Jan,

Thanks for your answer. The one I use (STM32F103RET6) has 512 Kbytes Flash, which falls into the high-density category. I can configure the DMA for the SDIO interface, and it works well. It just has problem with the FATFS. I could not find any other resources talking about this problem so far, but I would reply this thread if I found anything helpful.

Thanks.