Reputation: 1371
I'm trying to understand the assembly code given with the ARM GNAT compiler for a Zynq-7000.
In the linker script, I have the memory defined like this:
MEMORY
{
SRAM (rwx) : ORIGIN = 1M, LENGTH = 1022M
UCSRAM (rw) : ORIGIN = 1023M, LENGTH = 1M
}
I think the UCSRAM is the "uncached SRAM" (but no documentation or comments can confirm this for me).
In the sections, I have this defined:
.ucache (NOLOAD): {
. = ALIGN(0x08);
*(.ucache)
} > UCSRAM
I have then a file called memmap.inc that is included in the assembly file, with this syntax:
__mmu_l0:
.long 0x00017c0e @ for 0x00000000, ram
.long 0x00117c0e @ for 0x00100000, ram
<...>
.long 0x3ff10c06 @ for 0x3ff00000, ram-uc
.long 0x00000000 @ for 0x40000000, *none*
Can you explained the syntax .long 0x00017c0e @ for 0x00000000, ram? What ram and ram-uc symbols mean?
Thanks.
Upvotes: 0
Views: 556