www.pudn.com > 485bus.zip > Project.prm, change:2011-04-26,size:5859b


/* This is a linker parameter file for the MC9S12XS128 */ 
 
/* 
This file is setup to use the HCS12X core only. 
If you plan to also use the XGATE in your project, best create a new project with the 
'New Project Wizard' (File|New... menu in the CodeWarrior IDE) and choose the appropriate 
project parameters. 
*/ 
 
NAMES 
    /* CodeWarrior will pass all the needed files to the linker by command line. But here you may add your additional files */ 
END 
 
SEGMENTS /* here all RAM/ROM areas of the device are listed. Used in PLACEMENT below. All addresses are 'logical' */ 
/* Register space  */ 
/*    IO_SEG        = PAGED                            0x0000 TO   0x07FF; intentionally not defined */ 
 
/* non-paged RAM */ 
      RAM           = READ_WRITE  DATA_NEAR            0x2000 TO   0x3FFF;  
 
/* non-banked FLASH */ 
      ROM_4000      = READ_ONLY   DATA_NEAR IBCC_NEAR  0x4000 TO   0x7FFF;  
      ROM_C000      = READ_ONLY   DATA_NEAR IBCC_NEAR  0xC000 TO   0xFEFF;  
/*    VECTORS       = READ_ONLY                        0xFF00 TO   0xFFFF; intentionally not defined: used for VECTOR commands below */ 
    //OSVECTORS     = READ_ONLY                        0xFF10 TO   0xFFFF;  /* OSEK interrupt vectors (use your vector.o) */ 
 
/* paged EEPROM                                        0x0800 TO   0x0BFF; addressed through EPAGE */ 
      EEPROM_00     = READ_ONLY   DATA_FAR IBCC_FAR  0x000800 TO 0x000BFF;  
      EEPROM_01     = READ_ONLY   DATA_FAR IBCC_FAR  0x010800 TO 0x010BFF;  
      EEPROM_02     = READ_ONLY   DATA_FAR IBCC_FAR  0x020800 TO 0x020BFF;  
      EEPROM_03     = READ_ONLY   DATA_FAR IBCC_FAR  0x030800 TO 0x030BFF;  
      EEPROM_04     = READ_ONLY   DATA_FAR IBCC_FAR  0x040800 TO 0x040BFF;  
      EEPROM_05     = READ_ONLY   DATA_FAR IBCC_FAR  0x050800 TO 0x050BFF;  
      EEPROM_06     = READ_ONLY   DATA_FAR IBCC_FAR  0x060800 TO 0x060BFF;  
      EEPROM_07     = READ_ONLY   DATA_FAR IBCC_FAR  0x070800 TO 0x070BFF;  
 
/* paged RAM:                                          0x1000 TO   0x1FFF; addressed through RPAGE */ 
/*    RAM_FE        = READ_WRITE                     0xFE1000 TO 0xFE1FFF; intentionally not defined: equivalent to RAM: 0x2000..0x2FFF */ 
/*    RAM_FF        = READ_WRITE                     0xFF1000 TO 0xFF1FFF; intentionally not defined: equivalent to RAM: 0x3000..0x3FFF */ 
 
/* paged FLASH:                                        0x8000 TO   0xBFFF; addressed through PPAGE */ 
      PAGE_F8       = READ_ONLY   DATA_FAR IBCC_FAR  0xF88000 TO 0xF8BFFF;  
      PAGE_F9       = READ_ONLY   DATA_FAR IBCC_FAR  0xF98000 TO 0xF9BFFF;  
      PAGE_FA       = READ_ONLY   DATA_FAR IBCC_FAR  0xFA8000 TO 0xFABFFF;  
      PAGE_FB       = READ_ONLY   DATA_FAR IBCC_FAR  0xFB8000 TO 0xFBBFFF;  
      PAGE_FC       = READ_ONLY   DATA_FAR IBCC_FAR  0xFC8000 TO 0xFCBFFF;  
/*    PAGE_FD       = READ_ONLY                      0xFD8000 TO 0xFDBFFF; intentionally not defined: equivalent to ROM_4000 */ 
      PAGE_FE       = READ_ONLY   DATA_FAR IBCC_FAR  0xFE8000 TO 0xFEBFFF;  
/*    PAGE_FF       = READ_ONLY                      0xFF8000 TO 0xFFBFFF; intentionally not defined: equivalent to ROM_C000 */ 
END 
 
PLACEMENT /* here all predefined and user segments are placed into the SEGMENTS defined above. */ 
      _PRESTART,              /* Used in HIWARE format: jump to _Startup at the code start */ 
      STARTUP,                /* startup data structures */ 
      ROM_VAR,                /* constant variables */ 
      STRINGS,                /* string literals */ 
      VIRTUAL_TABLE_SEGMENT,  /* C++ virtual table segment */ 
    //.ostext,                /* eventually OSEK code  */ 
      NON_BANKED,             /* runtime routines which must not be banked */ 
      COPY                    /* copy down information: how to initialize variables */ 
                              /* in case you want to use ROM_4000 here as well, make sure 
                                 that all files (incl. library files) are compiled with the 
                                 option: -OnB=b */ 
                        INTO  ROM_C000/*, ROM_4000*/; 
 
      DEFAULT_ROM       INTO           PAGE_FE,          PAGE_FC, PAGE_FB, PAGE_FA, PAGE_F9, PAGE_F8; 
 
    //.stackstart,            /* eventually used for OSEK kernel awareness: Main-Stack Start */ 
      SSTACK,                 /* allocate stack first to avoid overwriting variables on overflow */ 
    //.stackend,              /* eventually used for OSEK kernel awareness: Main-Stack End */ 
      PAGED_RAM,              /* there is no need for paged data accesses on this derivative */ 
 
      DEFAULT_RAM             /* all variables, the default RAM location */ 
                        INTO  RAM; 
 
      DISTRIBUTE        DISTRIBUTE_INTO 
                              ROM_4000, PAGE_FE, PAGE_FC, PAGE_FB, PAGE_FA, PAGE_F9, PAGE_F8; 
      CONST_DISTRIBUTE  DISTRIBUTE_INTO 
                              ROM_4000, PAGE_FE, PAGE_FC, PAGE_FB, PAGE_FA, PAGE_F9, PAGE_F8; 
      DATA_DISTRIBUTE   DISTRIBUTE_INTO 
                              RAM; 
    //.vectors          INTO  OSVECTORS; /* OSEK vector table */ 
END 
 
 
ENTRIES /* keep the following unreferenced variables */ 
    /* OSEK: always allocate the vector table and all dependent objects */ 
  //_vectab OsBuildNumber _OsOrtiStackStart _OsOrtiStart 
END 
 
STACKSIZE 0x100   /* size of the stack (will be allocated in DEFAULT_RAM) */ 
 
/* use these definitions in plane of the vector table ('vectors') above */ 
VECTOR 0 _Startup /* reset vector: this is the default entry point for a C/C++ application. */ 
//VECTOR 0 Entry  /* reset vector: this is the default entry point for an Assembly application. */ 
//INIT Entry      /* for assembly applications: that this is as well the initialization entry point */ 
VECTOR ADDRESS 0xFFD4 receivedata