/* This is a linker parameter file for the MC9S12DP512 */ 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 */ /* EPROM */ EEPROM = READ_ONLY 0x0400 TO 0x07FF; /* RAM */ RAM = READ_WRITE 0x0800 TO 0x3FFF; /* non-paged FLASHs */ ROM_4000 = READ_ONLY 0x4000 TO 0x7FFF; ROM_C000 = READ_ONLY 0xC000 TO 0xFEFF; /* VECTORS = READ_ONLY 0xFF00 TO 0xFFFF; intentionally not defined: used for VECTOR commands below */ //OSVECTORS = READ_ONLY 0xFF8C TO 0xFFFF; /* OSEK interrupt vectors (use your vector.o) */ /* paged FLASH: 0x8000 TO 0xBFFF; addressed through PPAGE */ PAGE_20 = READ_ONLY 0x208000 TO 0x20BFFF; PAGE_21 = READ_ONLY 0x218000 TO 0x21BFFF; PAGE_22 = READ_ONLY 0x228000 TO 0x22BFFF; PAGE_23 = READ_ONLY 0x238000 TO 0x23BFFF; PAGE_24 = READ_ONLY 0x248000 TO 0x24BFFF; PAGE_25 = READ_ONLY 0x258000 TO 0x25BFFF; PAGE_26 = READ_ONLY 0x268000 TO 0x26BFFF; PAGE_27 = READ_ONLY 0x278000 TO 0x27BFFF; PAGE_28 = READ_ONLY 0x288000 TO 0x28BFFF; PAGE_29 = READ_ONLY 0x298000 TO 0x29BFFF; PAGE_2A = READ_ONLY 0x2A8000 TO 0x2ABFFF; PAGE_2B = READ_ONLY 0x2B8000 TO 0x2BBFFF; PAGE_2C = READ_ONLY 0x2C8000 TO 0x2CBFFF; PAGE_2D = READ_ONLY 0x2D8000 TO 0x2DBFFF; PAGE_2E = READ_ONLY 0x2E8000 TO 0x2EBFFF; PAGE_2F = READ_ONLY 0x2F8000 TO 0x2FBFFF; PAGE_30 = READ_ONLY 0x308000 TO 0x30BFFF; PAGE_31 = READ_ONLY 0x318000 TO 0x31BFFF; PAGE_32 = READ_ONLY 0x328000 TO 0x32BFFF; PAGE_33 = READ_ONLY 0x338000 TO 0x33BFFF; PAGE_34 = READ_ONLY 0x348000 TO 0x34BFFF; PAGE_35 = READ_ONLY 0x358000 TO 0x35BFFF; PAGE_36 = READ_ONLY 0x368000 TO 0x36BFFF; PAGE_37 = READ_ONLY 0x378000 TO 0x37BFFF; PAGE_38 = READ_ONLY 0x388000 TO 0x38BFFF; PAGE_39 = READ_ONLY 0x398000 TO 0x39BFFF; PAGE_3A = READ_ONLY 0x3A8000 TO 0x3ABFFF; PAGE_3B = READ_ONLY 0x3B8000 TO 0x3BBFFF; PAGE_3C = READ_ONLY 0x3C8000 TO 0x3CBFFF; PAGE_3D = READ_ONLY 0x3D8000 TO 0x3DBFFF; /* PAGE_3E = READ_ONLY 0x3E8000 TO 0x3EBFFF; not used: equivalent to ROM_4000 */ /* PAGE_3F = READ_ONLY 0x3F8000 TO 0x3FBEFF; 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 */ DEFAULT_ROM, 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*/; OTHER_ROM INTO PAGE_20, PAGE_21, PAGE_22, PAGE_23, PAGE_24, PAGE_25, PAGE_26, PAGE_27, PAGE_28, PAGE_29, PAGE_2A, PAGE_2B, PAGE_2C, PAGE_2D, PAGE_2E, PAGE_2F, PAGE_30, PAGE_31, PAGE_32, PAGE_33, PAGE_34, PAGE_35, PAGE_36, PAGE_37, PAGE_38, PAGE_39, PAGE_3A, PAGE_3B, PAGE_3C, PAGE_3D ; //.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 */