Project.prm 3.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. /* This is a linker parameter file for the MC9S12E128 */
  2. NAMES END /* CodeWarrior will pass all the needed files to the linker by command line. But here you may add your own files too. */
  3. SEGMENTS /* Here all RAM/ROM areas of the device are listed. Used in PLACEMENT below. */
  4. /* Register space */
  5. /* IO_SEG = PAGED 0x0000 TO 0x03FF; intentionally not defined */
  6. /* RAM */
  7. RAM = READ_WRITE 0x0400 TO 0x1FFF;
  8. /* non-paged FLASHs */
  9. ROM_4000 = READ_ONLY 0x4000 TO 0x7FFF;
  10. ROM_C000 = READ_ONLY 0xC000 TO 0xFEFF;
  11. /* VECTORS = READ_ONLY 0xFF00 TO 0xFFFF; intentionally not defined: used for VECTOR commands below */
  12. //OSVECTORS = READ_ONLY 0xFF8C TO 0xFFFF; /* OSEK interrupt vectors (use your vector.o) */
  13. /* paged FLASH: 0x8000 TO 0xBFFF; addressed through PPAGE */
  14. PAGE_38 = READ_ONLY 0x388000 TO 0x38BFFF;
  15. PAGE_39 = READ_ONLY 0x398000 TO 0x39BFFF;
  16. PAGE_3A = READ_ONLY 0x3A8000 TO 0x3ABFFF;
  17. PAGE_3B = READ_ONLY 0x3B8000 TO 0x3BBFFF;
  18. PAGE_3C = READ_ONLY 0x3C8000 TO 0x3CBFFF;
  19. PAGE_3D = READ_ONLY 0x3D8000 TO 0x3DBFFF;
  20. /* PAGE_3E = READ_ONLY 0x3E8000 TO 0x3EBFFF; not used: equivalent to ROM_4000 */
  21. /* PAGE_3F = READ_ONLY 0x3F8000 TO 0x3FBEFF; not used: equivalent to ROM_C000 */
  22. END
  23. PLACEMENT /* here all predefined and user segments are placed into the SEGMENTS defined above. */
  24. _PRESTART, /* Used in HIWARE format: jump to _Startup at the code start */
  25. STARTUP, /* startup data structures */
  26. ROM_VAR, /* constant variables */
  27. STRINGS, /* string literals */
  28. VIRTUAL_TABLE_SEGMENT, /* C++ virtual table segment */
  29. //.ostext, /* OSEK */
  30. DEFAULT_ROM, NON_BANKED, /* runtime routines which must not be banked */
  31. COPY /* copy down information: how to initialize variables */
  32. /* in case you want to use ROM_4000 here as well, make sure
  33. that all files (incl. library files) are compiled with the
  34. option: -OnB=b */
  35. INTO ROM_C000/*, ROM_4000*/;
  36. OTHER_ROM INTO PAGE_38, PAGE_39, PAGE_3A, PAGE_3B, PAGE_3C, PAGE_3D ;
  37. //.stackstart, /* eventually used for OSEK kernel awareness: Main-Stack Start */
  38. SSTACK, /* allocate stack first to avoid overwriting variables on overflow */
  39. //.stackend, /* eventually used for OSEK kernel awareness: Main-Stack End */
  40. DEFAULT_RAM INTO RAM;
  41. //.vectors INTO OSVECTORS; /* OSEK */
  42. END
  43. ENTRIES /* keep the following unreferenced variables */
  44. /* OSEK: always allocate the vector table and all dependent objects */
  45. //_vectab OsBuildNumber _OsOrtiStackStart _OsOrtiStart
  46. END
  47. STACKSIZE 0x100
  48. VECTOR 0 _Startup /* reset vector: this is the default entry point for a C/C++ application. */
  49. VECTOR 6 IRQ_ISR
  50. VECTOR 7 RTI_ISR
  51. //VECTOR 0 Entry /* reset vector: this is the default entry point for an Assembly application. */
  52. //INIT Entry /* for assembly applications: that this is as well the initialization entry point */