www.pudn.com > S12G_Bootloader_Host_App.zip > Project.prm, change:2011-08-03,size:4250b


/* This is a linker parameter file for the MC9S12G128 */ 
NAMES END /* CodeWarrior will pass all the needed files to the linker by command line. But here you may add your own files too. */ 
 
SEGMENTS  /* Here all RAM/ROM areas of the device are listed. Used in PLACEMENT below. */ 
 
/* Register space  */ 
/*    IO_SEG        = PAGED         0x0000 TO   0x03FF; intentionally not defined */ 
 
/* RAM */ 
      RAM           = READ_WRITE    0x2000 TO   0x33FF; 
      RAM_BOOT      = READ_WRITE    0x3400 TO   0x3FFF; 
 
/* D-Flash */ 
      DFLASH        = READ_ONLY   0x000400 TO 0x0013FF; 
 
/* non-paged FLASHs */ 
      ROM_1400      = READ_ONLY     0x1400 TO   0x1FFF; 
      ROM_4000      = READ_ONLY     0x4000 TO   0x7FFF; 
       
      ROM_C000_ENTRY = READ_ONLY     0xC000 TO   0xC00F; 
      ROM_C000       = READ_ONLY     0xC010 TO   0xEFFF; 
       
      BOOT_MEM      = READ_ONLY   0xF000 TO 0xF9FF RELOCATE_TO 0x3400;   //2.5K BootCode relocate to RAM_CODE     
//      BOOT_MEM      = READ_ONLY   0xF000 TO 0xF9FF ;   //2.5K BootCode relocate to RAM_CODE     
       
      ROM           = READ_ONLY   0xFC00 TO 0xFEFF;  // 768B ROM 
      FLASH_CFG_FLD = READ_ONLY   0xFF00 TO 0xFF0F; 
       
       
 /*   VECTORS       = READ_ONLY     0xFF00 TO   0xFFFF; intentionally not defined: used for VECTOR commands below */ 
   //OSVECTORS      = READ_ONLY     0xFF80 TO   0xFFFF;   /* OSEK interrupt vectors (use your vector.o) */ 
 
/* paged FLASH:                     0x8000 TO   0xBFFF; addressed through PPAGE */ 
      PAGE_08       = READ_ONLY   0x088000 TO 0x08BFFF; 
      PAGE_09       = READ_ONLY   0x098000 TO 0x09BFFF; 
      PAGE_0A       = READ_ONLY   0x0A8000 TO 0x0ABFFF; 
      PAGE_0B       = READ_ONLY   0x0B8000 TO 0x0BBFFF; 
      PAGE_0C       = READ_ONLY   0x0C8000 TO 0x0C93FF; 
      PAGE_0C_A000  = READ_ONLY   0x0CA000 TO 0x0CBFFF; 
      PAGE_0E       = READ_ONLY   0x0E8000 TO 0x0EBFFF; 
/*    PAGE_0D       = READ_ONLY   0x0D8000 TO 0x0DBFFF; not used: equivalent to ROM_4000 */ 
/*    PAGE_0F       = READ_ONLY   0x0F8000 TO 0x0FBEFF; not used: 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,                /* OSEK */ 
      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/*, ROM_1400, ROM_4000*/; 
 
      DEFAULT_ROM       INTO  PAGE_08, PAGE_09, PAGE_0A, PAGE_0B, PAGE_0C, PAGE_0C_A000, PAGE_0E                  ; 
       
      BOOT_SEG          INTO  BOOT_MEM ; 
 
      APP_ROM_ENTRY     INTO 
                              ROM_C000_ENTRY; 
       
 
    //.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 */ 
    DEFAULT_RAM         INTO  RAM; 
 
  //.vectors            INTO  OSVECTORS; /* OSEK */ 
END 
 
ENTRIES /* keep the following unreferenced variables */ 
    /* OSEK: always allocate the vector table and all dependent objects */ 
  //_vectab OsBuildNumber _OsOrtiStackStart _OsOrtiStart 
END 
 
STACKSIZE 0x100 
 
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 38 isr_can_rx