mirror of
https://github.com/autc04/Retro68.git
synced 2024-09-05 14:29:56 +00:00
46 lines
1.2 KiB
Perl
46 lines
1.2 KiB
Perl
|
MEMORY
|
||
|
{
|
||
|
R_TEXTMEM (ARX) : ORIGIN = 0x100, LENGTH = 32K
|
||
|
R_DATAMEM (AW) : org = 0x1000, l = (64 * 1024)
|
||
|
}
|
||
|
|
||
|
REGION_ALIAS ("A_TEXTMEM", R_TEXTMEM);
|
||
|
REGION_ALIAS ("A_DATAMEM", R_DATAMEM);
|
||
|
|
||
|
REGION_ALIAS ("TEXTMEM", A_TEXTMEM);
|
||
|
REGION_ALIAS ("DATAMEM", A_DATAMEM);
|
||
|
|
||
|
SECTIONS
|
||
|
{
|
||
|
. = 0;
|
||
|
.text :
|
||
|
{
|
||
|
/* The value returned by the ORIGIN operator is a constant.
|
||
|
However it is being assigned to a symbol declared within
|
||
|
a section. Therefore the symbol is section-relative and
|
||
|
its value will include the offset of that section from
|
||
|
the start of memory. ie the declaration:
|
||
|
text_start = ORIGIN (TEXTMEM);
|
||
|
here will result in text_start having a value of 0x200.
|
||
|
Hence we need to subtract the absolute value of the
|
||
|
location counter at this point in order to give text_start
|
||
|
a value that is truely absolute, and which coincidentally
|
||
|
will allow the tests in script.exp to work. */
|
||
|
|
||
|
text_start = ORIGIN(TEXTMEM) - ABSOLUTE (.);
|
||
|
*(.text)
|
||
|
*(.pr)
|
||
|
text_end = .;
|
||
|
} > TEXTMEM
|
||
|
|
||
|
data_start = ORIGIN (DATAMEM);
|
||
|
.data :
|
||
|
{
|
||
|
*(.data)
|
||
|
*(.rw)
|
||
|
data_end = .;
|
||
|
} >DATAMEM
|
||
|
|
||
|
fred = ORIGIN(DATAMEM) + LENGTH(DATAMEM);
|
||
|
}
|