Hi everyone!We are working on a bare-metal ARM Cortex M7. It has no ROM and limited size for ITCM and DTCM.We have an external RAM at 0x60000000 which is large enough. Can we utilize that memory (RAM) as an extend to DTCM?Please note that the external memory that I mentioned is connected to AXI bus.If it is not possible, can we reallocate the variables that we have on this external memory as a storage?Warm regardsMehran
Hi MehranTightly Coupled Memory (TCM) are usually relatively small areas of fast (zero wait-state) RAM, typically used to hold time-critical code and data, where the highest, predictable performance is required. By contrast, "ordinary" external RAM, which is usually larger, slower and cheaper than TCM, can be used to hold code/data where performance is less important.You can't "extend" the DTCM into the ordinary RAM, because the two types of RAM are different, and they are handled differently by the Arm processor.However, you can move functions/variables from TCM to ordinary RAM if you wish, by placing their code/data sections explicitly using the scatter-file.There are various ways to do this, depending on the level of granularity that you need. As a starting point, please see:
https://developer.arm.com/documentation/100748/0623/Mapping-Code-and-Data-to-the-Target/Placement-of-functions-and-data-at-specific-addresses
Hope this helpsStephen