Skip to main content
Associate III
May 22, 2025 6:08 AM UTC
Solved

The relationship between STM32743 SPI_DMA and D1 RAM

When using HAL_SPI_Transmit_DMA with STM32743, must the transmission data buffer and reception data buffer be placed in D1 RAM?
Also, is there a way to dynamically allocate D1 RAM? Rather than declaring an array placed in section("D1"), I would like to dynamically allocate it like malloc. Is this possible?

This topic has been closed for replies.
AScha.3
AScha.3Best answer
Super User
May 22, 2025 6:47 AM UTC

>must the transmission data buffer and reception data buffer be placed in D1 RAM?

see rm , where the different dma's connect to ->

AScha3_0-1747895618342.png

 

>is there a way to dynamically allocate D1 RAM

Note also that if you use ST's STM32CubeIDE that uses GCC and Newlib and has the syscalls layer implemented already.

in newlib is malloc : 

#include <stdlib.h>
void *malloc(size_t nbytes);

 just try it.

 

If you feel a post has answered your question, please click on " Best Answer ".

1 reply

AScha.3
AScha.3Best answer
Super User
May 22, 2025 6:47 AM UTC

>must the transmission data buffer and reception data buffer be placed in D1 RAM?

see rm , where the different dma's connect to ->

AScha3_0-1747895618342.png

 

>is there a way to dynamically allocate D1 RAM

Note also that if you use ST's STM32CubeIDE that uses GCC and Newlib and has the syscalls layer implemented already.

in newlib is malloc : 

#include <stdlib.h>
void *malloc(size_t nbytes);

 just try it.

 

If you feel a post has answered your question, please click on " Best Answer ".