cancel
Showing results for 
Search instead for 
Did you mean: 

How to use single buffer mode of IDMA of SDMMC of STM32H7 family periodically and dynamically...

HTajb.1
Associate III

Dear Sir/Madam,

I am going to use one of the chips from STM32 H7 family in my project (My tool-chain: STM32CUBEIDE and STM32CubeMX).

In my project,I have to transfer large data bytes from SDcard to internal RAM of the micro-controller very rapidly and dynamically(in the run time) by using internal DMA(IDMA) of the SDMMC host controller of the micro-controller.

As far as I know, the capacity of HAL instructions and commands for doing so, is limited to 512 bytes for data transferring,so I assume I have to use these HAL commands periodically and probably in a loop, to cover the whole data which should be transferred .

I presume I have to change the the start address(pointer) of both data buffers(inside the SD card and inside the internal RAM)dynamically and by my C code ,by the Hal command, whenever a transfer is completed,to transmit the rest of data,till the end of all data.

1-Am I able to do it?Is there any hint or clue for it?Could you introduce me proper instructions of HAL library for doing it?

2-The capacity of the flash controller of this micro is :128 KB .Can it be considered a good and sufficient choice for doing this?Or, is it better to choose another micro with larger flash memory?( I am quite new to the world of STM32 and sometimes I have an intuition that 128KB can be considered a low capacity for flash memories,considering the size of Hal libraries and so on which is necessary for STM32,if someone wants to use them or write more C codes for other peripherals,for example)

Your consideration is highly appreciated.

0 REPLIES 0