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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [rtems/] [c/] [src/] [lib/] [libbsp/] [i960/] [rxgen960/] [startup/] [dram.ld] - Diff between revs 30 and 173

Only display areas with differences | Details | Blame | View Log

Rev 30 Rev 173
/*------------------------------------*/
/*------------------------------------*/
/* rom.ld                             */
/* rom.ld                             */
/* Last change : 19. 4.95             */
/* Last change : 19. 4.95             */
/*------------------------------------*
/*------------------------------------*
 * To build ROM based i960 image.
 * To build ROM based i960 image.
 *------------------------------------*/
 *------------------------------------*/
/*
/*
 *  $Id: dram.ld,v 1.2 2001-09-27 11:59:59 chris Exp $
 *  $Id: dram.ld,v 1.2 2001-09-27 11:59:59 chris Exp $
 */
 */
MEMORY
MEMORY
{
{
  dram   : org = 0xa2000000, len = 120K
  dram   : org = 0xa2000000, len = 120K
}
}
_bootAddr = 0xa0200000;
_bootAddr = 0xa0200000;
_HEAP = 0xA0100000 ;
_HEAP = 0xA0100000 ;
SECTIONS
SECTIONS
{
{
    /* Only monitor start point and fault handler
    /* Only monitor start point and fault handler
     * will live in ROM as far as text is concerned.
     * will live in ROM as far as text is concerned.
     * Only fault table will live in ROM as far as data
     * Only fault table will live in ROM as far as data
     * is concerned.
     * is concerned.
     */
     */
  romCode :
  romCode :
    {
    {
        /* Make sure that the monitor start point
        /* Make sure that the monitor start point
         * is the first location in EPROM.
         * is the first location in EPROM.
         */
         */
      rommon.o960(.text)
      rommon.o960(.text)
        /* Procedures to copy code and
        /* Procedures to copy code and
         * initialize bss in RAM.
         * initialize bss in RAM.
         */
         */
      sctns.o960(.text)
      sctns.o960(.text)
        /* Make Sure Fault Table (and its handler's data)
        /* Make Sure Fault Table (and its handler's data)
         * live here so that they wouldn't get destroyed).
         * live here so that they wouldn't get destroyed).
         */
         */
      asmfault.o960
      asmfault.o960
      flttbl.o960
      flttbl.o960
        /* 16 byte aligned PRCB.
        /* 16 byte aligned PRCB.
         */
         */
      . = ALIGN(16);
      . = ALIGN(16);
      rom_prcb.o960(.data)
      rom_prcb.o960(.data)
        /* 16 byte aligned Control Table.
        /* 16 byte aligned Control Table.
         */
         */
      . = ALIGN(16);
      . = ALIGN(16);
      rom_cntrltbl.o960(.data)
      rom_cntrltbl.o960(.data)
      . = ALIGN(16);
      . = ALIGN(16);
        intrtbl.o960(.data)
        intrtbl.o960(.data)
      . = ALIGN(16);
      . = ALIGN(16);
        nulsystbl.o960(.data)
        nulsystbl.o960(.data)
      . = ALIGN(16);
      . = ALIGN(16);
        /* I need this symbol to know where code which is
        /* I need this symbol to know where code which is
         * to be copied reside in ROM. Align it on a 16
         * to be copied reside in ROM. Align it on a 16
         * boundary.
         * boundary.
         */
         */
      . = ALIGN(16);
      . = ALIGN(16);
      _codeRomStart = .;
      _codeRomStart = .;
    } > dram
    } > dram
    /* All the rest of the code will live in RAM.
    /* All the rest of the code will live in RAM.
     * Relocation are created as though code resides
     * Relocation are created as though code resides
     * in RAM, while code is placed right after romCode.
     * in RAM, while code is placed right after romCode.
     * This is responsiblity of the ROM monitor to
     * This is responsiblity of the ROM monitor to
     * copy code into ROM.
     * copy code into ROM.
     */
     */
  ramCode : AT(ADDR(romCode) + SIZEOF(romCode))
  ramCode : AT(ADDR(romCode) + SIZEOF(romCode))
    {
    {
        /* RAM-based code section start.
        /* RAM-based code section start.
         * I need this symbol to know where to copy code
         * I need this symbol to know where to copy code
         * at initialization time .
         * at initialization time .
         */
         */
      _codeRamStart = .;
      _codeRamStart = .;
        /* RAM based fault recovery stuff.
        /* RAM based fault recovery stuff.
         */
         */
      _faultStart = .;
      _faultStart = .;
      fault.o960
      fault.o960
      _faultEnd = .;
      _faultEnd = .;
        /* Check sum to gurantee that
        /* Check sum to gurantee that
         * the above section wasn't broken.
         * the above section wasn't broken.
         */
         */
      . = ALIGN(16);
      . = ALIGN(16);
      _faultCheckSum = .;
      _faultCheckSum = .;
      . += 4;
      . += 4;
        /* Fault Buffer to keep the state of
        /* Fault Buffer to keep the state of
         * the fauled procedure.
         * the fauled procedure.
         */
         */
      _faultBuffer = .;
      _faultBuffer = .;
      . += 256;
      . += 256;
        /* All the rest of the text goes here.
        /* All the rest of the text goes here.
         */
         */
      . = ALIGN(16);
      . = ALIGN(16);
      *(.text)
      *(.text)
        /* 16 byte aligned PRCB.
        /* 16 byte aligned PRCB.
         */
         */
      . = ALIGN(16);
      . = ALIGN(16);
      prcb.o960(.data)
      prcb.o960(.data)
        /* 16 byte aligned Control Table.
        /* 16 byte aligned Control Table.
         */
         */
      . = ALIGN(16);
      . = ALIGN(16);
      cntrltbl.o960(.data)
      cntrltbl.o960(.data)
      . = ALIGN(16);
      . = ALIGN(16);
        systbl.o960(.data)
        systbl.o960(.data)
        /* All the rest of program defined data goes here.
        /* All the rest of program defined data goes here.
         */
         */
      *(.data)
      *(.data)
        /* RAM-based code section end.
        /* RAM-based code section end.
         * I need this symbol to know where to copy code
         * I need this symbol to know where to copy code
         * at initialization time .
         * at initialization time .
         */
         */
      _codeRamEnd = .;
      _codeRamEnd = .;
    } > sram
    } > sram
    /* RAM based uninitialized data.
    /* RAM based uninitialized data.
     */
     */
  bss (NOLOAD) :
  bss (NOLOAD) :
    {
    {
        /* BSS section start. I need this symbol to
        /* BSS section start. I need this symbol to
         * zero BSS on initialization.
         * zero BSS on initialization.
         */
         */
      _bssStart = .;
      _bssStart = .;
        /* Supervisor Stack. Aligned on a 16 boundary.
        /* Supervisor Stack. Aligned on a 16 boundary.
         */
         */
      . = ALIGN(16);
      . = ALIGN(16);
      _svrStackPtr = .;
      _svrStackPtr = .;
      . += 4K;
      . += 4K;
        /* Interrupt Stack. Aligned on a 16 boundary.
        /* Interrupt Stack. Aligned on a 16 boundary.
         */
         */
      . = ALIGN(16);
      . = ALIGN(16);
      _intStackPtr = .;
      _intStackPtr = .;
      . += 4K;
      . += 4K;
        /* Program defined BSS.
        /* Program defined BSS.
         */
         */
      *(.bss)
      *(.bss)
        /* Program defined COMMON.
        /* Program defined COMMON.
         */
         */
      *(COMMON)
      *(COMMON)
        /* BSS section end. I need this symbol to
        /* BSS section end. I need this symbol to
         * zero BSS on initialization.
         * zero BSS on initialization.
         */
         */
      _bssEnd = .;
      _bssEnd = .;
      _bssStart_1 = .;
      _bssStart_1 = .;
      _bssEnd_1 = .;
      _bssEnd_1 = .;
    } > dram
    } > dram
}
}
/*-------------*/
/*-------------*/
/* End of file */
/* End of file */
/*-------------*/
/*-------------*/
 
 

powered by: WebSVN 2.1.0

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