Louis Etienne
Louis Etienne

Reputation: 1371

syntax .long 0xXXXX @ for 0xXXXX, ram

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

Answers (0)

Related Questions