Hi,
We are using a platform which has S32K314 controller. The datasheet of this part says that this has 512KB of total RAM. But the following is the linker definition file that i am using. What i see is, i am not able to allocate more than 185 KB of memory in my code (Both BSS and Datasegment combined). Can someone help me on how to utilize the full 512KB of memory in this system ?
The following is my linker description contents.
MEMORY
{
int_flash : ORIGIN = 0x00400000, LENGTH = 0x003D4000 /* 4096K - 176K (sBAF + HSE)*/
int_itcm : ORIGIN = 0x00000000, LENGTH = 0x00008000 /* 32K */
int_dtcm : ORIGIN = 0x20000000, LENGTH = 0x00010000 /* 64K */
int_sram : ORIGIN = 0x20400000, LENGTH = 0x0002DF00 /* 183.9K */
int_sram_fls_rsv : ORIGIN = 0x2042DF00, LENGTH = 0x00000100 /* 0.1K */
int_sram_stack_c0 : ORIGIN = 0x2042E000, LENGTH = 0x00001000 /* 4KB */
int_sram_stack_c1 : ORIGIN = 0x2042F000, LENGTH = 0x00001000 /* 4KB */
int_sram_no_cacheable : ORIGIN = 0x20430000, LENGTH = 0x0000FF00 /* 64KB, needs to include int_results */
int_sram_results : ORIGIN = 0x2043FF00, LENGTH = 0x00000100
int_sram_shareable : ORIGIN = 0x20440000, LENGTH = 0x00004000 /* 16KB */
ram_rsvd2 : ORIGIN = 0x20444000, LENGTH = 0 /* End of SRAM */
}
Regards, Biju
Hi Daniel,
As S32K314 does not have a second core, can i still access DTCM_1 via backdoor ? What i meant is, even without the second core, will i still be able to utilize the DTCM_1 memory ? If so, what linker script change do i need and how can i allocate variables into that ? For DTCM_0, i use the following attribute to access it.
__attribute__ ((section(".dtcm0_data")))
Regards, Biju
Hi Biju,
As you can see in the memory map (attached to the RM), there is
You can extend or add regions in the linker file based on the addresses below.
Regards,
Daniel