2024-11-25 05:07 AM
Hi,
My RAM_D1 is almost full, mainly because of LTDC frame buffer, etc., I need to use RAM_D2 and RAM_D3 for my variables, arrays and other staff. I am using RTOS CMSIS v2.
There are a few posts about using RAM_D2 and RAM_D3 in H743, in the forum, but all of them are about solving specific problems or about completing a missing configuration lines, etc. But these don't make any sense for the people, like me, who even don't know where to start, what has to be done, for what...
As I understood from the previous posts; it is neither a straightforward procedure, nor a basic thing to configure in the MX, for example. (don't even understand why... If RAM_D1 is usable without doing anything, why I can't just use other RAMs? They are put in the hardware for what, if it is "nearly impossible" to properly configure to use? :) )
What I would like to know; is there a document which explains what to do to use RAM_D2 and RAM_D3, step-by-step, from the beginning to the end? Otherwise those pieces of information like provided in the previous posts are not helpful. If there is no such document, could someone (may be from ST) provide a step-by step procedure?
Many thanks.
Namik
Solved! Go to Solution.
2024-11-25 05:14 AM - edited 2024-11-25 05:37 AM
Hello @NGune.1 ,
First, have a look at the application note AN4891 "STM32H72x, STM32H73x, and single-core STM32H74x/75x
system architecture and performance" to understand the usage of each memory and its accessibility. Especially the sections 2.5.2 Embedded RAM and 5.1 Software memory partitioning. For performance subject, read other sections.
Second, regarding this question:
@NGune.1 wrote:
What I would like to know; is there a document which explains what to do to use RAM_D2 and RAM_D3, step-by-step, from the beginning to the end?
There is no document that explains step by step for this specific request. All you need is to manage that by linker file.
You need to declare new regions for your variables in the linker file and that depends on the toolchain you are using.
There is package attached to The application note called X-CUBE-PERF-H7 where you can inspire from several linkers files for IAR, KEIL and GCC.
Hope it helps.
2024-11-25 05:14 AM - edited 2024-11-25 05:37 AM
Hello @NGune.1 ,
First, have a look at the application note AN4891 "STM32H72x, STM32H73x, and single-core STM32H74x/75x
system architecture and performance" to understand the usage of each memory and its accessibility. Especially the sections 2.5.2 Embedded RAM and 5.1 Software memory partitioning. For performance subject, read other sections.
Second, regarding this question:
@NGune.1 wrote:
What I would like to know; is there a document which explains what to do to use RAM_D2 and RAM_D3, step-by-step, from the beginning to the end?
There is no document that explains step by step for this specific request. All you need is to manage that by linker file.
You need to declare new regions for your variables in the linker file and that depends on the toolchain you are using.
There is package attached to The application note called X-CUBE-PERF-H7 where you can inspire from several linkers files for IAR, KEIL and GCC.
Hope it helps.
2024-11-27 07:48 AM - last edited on 2024-11-28 03:20 AM by SofLit
Hi SofLit,
By carefully inspecting the examples given in the X-CUBE-PERF-H7, I managed to use RAM_D2 in H743.
Thanks for your suggestion.