⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 simulator_linker.prm

📁 CAN Example(MC9S12XDP512)
💻 PRM
字号:
/* This is a linker parameter file for the MC9S12XDP512 */

/* Note: this prm file does support the XGATE if all lines starting with */
/* ..NoXGATE are commented out or it does not support it if the lines with */
/* ..WithXGATE are commented out. However just one of the two cases must be active. */

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   0x07FF; */

              /* nonpaged RAM */
/*NoXGATE*/   RAM             = READ_WRITE      0x2000 TO   0x3FFF;
//WithXGATE   RAM             = READ_WRITE      0x2000 TO   0x3FFF ALIGN 2;
              /* when changing the RAM_XGATE range, please check the Startup.cmd */

              /* nonpaged EEPROM */
              EEPROM          = READ_ONLY       0x0C00 TO   0x0FFF;

              /* paged EEPROM */
              EEPROM_FC       = READ_ONLY     0xFC0800 TO 0xFC0BFF;
              EEPROM_FD       = READ_ONLY     0xFD0800 TO 0xFD0BFF;
              EEPROM_FE       = READ_ONLY     0xFE0800 TO 0xFE0BFF;
/*            EEPROM_FF       = READ_ONLY     0xFF0800 TO 0xFF0BFF; intentionally not defined: equivalent to RAM */

              /* paged RAM */
/*NoXGATE*/   RAM_FB          = READ_WRITE    0xFB1000 TO 0xFB1FFF;
//WithXGATE   RAM_XGATE       = READ_WRITE    0xFB1000 TO 0xFB1FFF ALIGN 2;
/*NoXGATE*/   RAM_FC          = READ_WRITE    0xFC1000 TO 0xFC1FFF;
//WithXGATE   RAM_FC          = READ_WRITE    0xFC1000 TO 0xFC1EFF;
//WithXGATE   RAM_XGATE_STK   = READ_WRITE    0xFC1F00 TO 0xFC1FFF; // The stack is set by the XGATE compiler option -Cstv=D000
              RAM_FD          = READ_WRITE    0xFD1000 TO 0xFD1FFF;
/*            RAM_FE          = READ_WRITE    0xFE1000 TO 0xFE1FFF; intentionally not defined: equivalent to RAM */
/*            RAM_FF          = READ_WRITE    0xFF1000 TO 0xFF1FFF; intentionally not defined: equivalent to RAM */

              /* unbanked FLASH */
              ROM_4000        = READ_ONLY       0x4000 TO   0x7FFF;

              ROM_C000        = READ_ONLY       0xC000 TO   0xFEFF;
/*            ROM_FF00        = READ_ONLY       0xFF00 TO   0xFFFF; intentionally not defined: used for VECTOR commands below. */

              /* paged FLASH */
              PAGE_E0         = READ_ONLY     0xE08000 TO 0xE0BFFF;
              PAGE_E1         = READ_ONLY     0xE18000 TO 0xE1BFFF;
              PAGE_E2         = READ_ONLY     0xE28000 TO 0xE2BFFF;
              PAGE_E3         = READ_ONLY     0xE38000 TO 0xE3BFFF;
              PAGE_E4         = READ_ONLY     0xE48000 TO 0xE4BFFF;
              PAGE_E5         = READ_ONLY     0xE58000 TO 0xE5BFFF;
              PAGE_E6         = READ_ONLY     0xE68000 TO 0xE6BFFF;
              PAGE_E7         = READ_ONLY     0xE78000 TO 0xE7BFFF;
              PAGE_E8         = READ_ONLY     0xE88000 TO 0xE8BFFF;
              PAGE_E9         = READ_ONLY     0xE98000 TO 0xE9BFFF;
              PAGE_EA         = READ_ONLY     0xEA8000 TO 0xEABFFF;
              PAGE_EB         = READ_ONLY     0xEB8000 TO 0xEBBFFF;
              PAGE_EC         = READ_ONLY     0xEC8000 TO 0xECBFFF;
              PAGE_ED         = READ_ONLY     0xED8000 TO 0xEDBFFF;
              PAGE_EE         = READ_ONLY     0xEE8000 TO 0xEEBFFF;
              PAGE_EF         = READ_ONLY     0xEF8000 TO 0xEFBFFF;
              PAGE_F0         = READ_ONLY     0xF08000 TO 0xF0BFFF;
              PAGE_F1         = READ_ONLY     0xF18000 TO 0xF1BFFF;
              PAGE_F2         = READ_ONLY     0xF28000 TO 0xF2BFFF;
              PAGE_F3         = READ_ONLY     0xF38000 TO 0xF3BFFF;
              PAGE_F4         = READ_ONLY     0xF48000 TO 0xF4BFFF;
              PAGE_F5         = READ_ONLY     0xF58000 TO 0xF5BFFF;
              PAGE_F6         = READ_ONLY     0xF68000 TO 0xF6BFFF;
              PAGE_F7         = READ_ONLY     0xF78000 TO 0xF7BFFF;
              PAGE_F8         = READ_ONLY     0xF88000 TO 0xF8BFFF;
              PAGE_F9         = READ_ONLY     0xF98000 TO 0xF9BFFF;
              PAGE_FA         = READ_ONLY     0xFA8000 TO 0xFABFFF;
              PAGE_FB         = READ_ONLY     0xFB8000 TO 0xFBBFFF;
              PAGE_FC         = READ_ONLY     0xFC8000 TO 0xFCBFFF;
/*            PAGE_FD         = READ_ONLY     0xFD8000 TO 0xFDBFFF; intentionally not defined: equivalent to ROM_4000 */

/*NoXGATE*/   PAGE_FE         = READ_ONLY     0xFE8000 TO 0xFEBFFF;
//WithXGATE   PAGE_FE         = READ_ONLY     0xFE9000 TO 0xFEBFFF;
//WithXGATE   ROM_XGATE       = READ_ONLY     0xFE8000 TO 0xFE8FFF RELOCATE_TO 0xFB1000 ALIGN 2;

      /*      PAGE_FF         = READ_ONLY     0xFF8000 TO 0xFFBFFF; intentionally not defined: equivalent to ROM_C000 */

            //OSVECTORS       = READ_ONLY     0xFF10 TO 0xFFFF;  /* OSEK interrupt vectors (use your vector.o) */
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_C000/*, ROM_4000*/;
              DEFAULT_ROM          INTO  PAGE_E0, PAGE_E1, PAGE_E2, PAGE_E3, PAGE_E4, PAGE_E5, PAGE_E6, PAGE_E7,
                                         PAGE_E8, PAGE_E9, PAGE_EA, PAGE_EB, PAGE_EC, PAGE_ED, PAGE_EE, PAGE_EF,
                                         PAGE_F0, PAGE_F1, PAGE_F2, PAGE_F3, PAGE_F4, PAGE_F5, PAGE_F6, PAGE_F7,
                                         PAGE_F8, PAGE_F9, PAGE_FA, PAGE_FB, PAGE_FC, PAGE_FE;
//WithXGATE   XGATE_CODE           INTO  ROM_XGATE;
              DEFAULT_RAM,                 /* all variables, the default RAM location */
//WithXGATE   XGATE_CONST,                 /* XGATE constants have to be copied into RAM by HCS12X */
//WithXGATE   XGATE_STRING                 /* XGATE string literals have to be copied into RAM by HCS12X */
                                   INTO  RAM;
/*NoXGATE*/   PAGED_RAM            INTO  RAM_FB, RAM_FC, RAM_FD;
//WithXGATE   PAGED_RAM            INTO  RAM_FC, RAM_FD;
            //.vectors             INTO  OSVECTORS; /* OSEK */
END

ENTRIES /* keep the following unreferenced variables */
//_vectab OsBuildNumber /* OSEK */
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 a Assembly application. */
//INIT Entry      /* for assembly applications: that this is as well the initialisation entry point */
VECTOR ADDRESS 0xFF7A PIT0_ISR

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -