OpenCores
URL https://opencores.org/ocsvn/open8_urisc/open8_urisc/trunk

Subversion Repositories open8_urisc

[/] [open8_urisc/] [trunk/] [gnu/] [binutils/] [ld/] [scripttempl/] [elf32cr16c.sc] - Blame information for rev 299

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 145 khays
# Linker Script for National Semiconductor's CR16C-ELF32.
2
 
3
test -z "$ENTRY" && ENTRY=_start
4
cat <
5
 
6
/* Example Linker Script for linking NS CR16C or CR16CPlus
7
   elf32 files, which were compiled with either the near data
8
   model or the default data model.  */
9
 
10
${RELOCATING+ENTRY(${ENTRY})}
11
 
12
MEMORY
13
{
14
  near_rom  : ORIGIN = 0x4,     LENGTH = 512K - 4
15
  near_ram  : ORIGIN = 512K,    LENGTH = 512K - 64K
16
  rom       : ORIGIN = 1M,      LENGTH = 3M
17
  ram       : ORIGIN = 4M,      LENGTH = 10M
18
}
19
 
20
SECTIONS
21
{
22
/* The heap is located in near memory, to suit both the near and
23
   default data models.  The heap and stack are aligned to the bus
24
   width, as a speed optimization for accessing  data located
25
   there. The alignment to 4 bytes is compatible for both the CR16C
26
   bus width (2 bytes) and CR16CPlus bus width (4 bytes).  */
27
 
28
  .text            : { __TEXT_START = .;   *(.text)                                        __TEXT_END = .; } > rom
29
  .rdata           : { __RDATA_START = .;  *(.rdata_4) *(.rdata_2) *(.rdata_1)             __RDATA_END = .; } > near_rom
30
  .ctor ALIGN(4)   : { __CTOR_LIST = .;    *(.ctors)                                       __CTOR_END = .; } > near_rom
31
  .dtor ALIGN(4)   : { __DTOR_LIST = .;    *(.dtors)                                       __DTOR_END = .; } > near_rom
32
  .data            : { __DATA_START = .;   *(.data_4) *(.data_2) *(.data_1) *(.data)       __DATA_END = .; } > ram AT > rom
33
  .bss (NOLOAD)    : { __BSS_START = .;    *(.bss_4) *(.bss_2) *(.bss_1) *(.bss) *(COMMON) __BSS_END = .; } > ram
34
  .nrdata          : { __NRDATA_START = .; *(.nrdat_4) *(.nrdat_2) *(.nrdat_1)             __NRDATA_END =  .; } > near_rom
35
  .ndata           : { __NDATA_START = .;  *(.ndata_4) *(.ndata_2) *(.ndata_1)             __NDATA_END = .; } > near_ram AT > rom
36
  .nbss (NOLOAD)   : { __NBSS_START = .;   *(.nbss_4) *(.nbss_2) *(.nbss_1) *(.ncommon)    __NBSS_END = .; } > near_ram
37
  .heap (NOLOAD)   : { . = ALIGN(4); __HEAP_START = .; . += 0x2000;                        __HEAP_MAX = .; } > near_ram
38
  .stack (NOLOAD)  : { . = ALIGN(4); . += 0x6000; __STACK_START = .; } > ram
39
  .istack (NOLOAD) : { . = ALIGN(2); . += 0x100; __ISTACK_START = .; } > ram
40
}
41
 
42
__DATA_IMAGE_START = LOADADDR(.data);
43
__NDATA_IMAGE_START = LOADADDR(.ndata);
44
 
45
EOF

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.