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

📄 softec_hcs12_linker.prm

📁 XGATE Training2_Xgate_Software_Interrupts
💻 PRM
字号:
NAMES

END


// ATTENTION : This is a simplified PRM file. 
// To improve readability, we are not listing all existant pages in this lab example.

SEGMENTS 
// non-paged RAM
      RAM           = READ_WRITE    0x2000 TO   0x3FFF ALIGN 2[1:1]; //Equivalent to RAM Pages FE and FF!!

// non-banked FLASH
      ROM_4000      = READ_ONLY     0x4000 TO   0x7FFF;//Equivalent to Flash page FD; 
      ROM_C000      = READ_ONLY     0xC000 TO   0xFEFF;//Equivalent to Flash page FF; 
   

// paged RAM:                       0x1000 TO   0x1FFF; addressed through RPAGE

      //RAM_XGATE_STK = READ_WRITE  0xF81000 TO 0xF810FF; //The stack is set by the XGATE compiler option -Cstv=8100 
      
      RAM_F0        = READ_WRITE  0xF01000 TO 0xF01FFF; 
      RAM_F1        = READ_WRITE  0xF11000 TO 0xF11FFF; 
      RAM_F2        = READ_WRITE  0xF21000 TO 0xF21FFF; 
      RAM_F3        = READ_WRITE  0xF31000 TO 0xF31FFF; 
      RAM_F4        = READ_WRITE  0xF41000 TO 0xF41FFF; 
      RAM_F5        = READ_WRITE  0xF51000 TO 0xF51FFF; 
      RAM_F6        = READ_WRITE  0xF61000 TO 0xF61FFF; 
      RAM_F7        = READ_WRITE  0xF71000 TO 0xF71FFF; 
      RAM_F8        = READ_WRITE  0xF81100 TO 0xF81FFF; 
      RAM_F9        = READ_WRITE  0xF91000 TO 0xF91FFF  ALIGN 2[1:1]; 
      RAM_FA        = READ_WRITE  0xFA1000 TO 0xFA1FFF  ALIGN 2[1:1];
      RAM_FB        = READ_WRITE  0xFB1000 TO 0xFB1FFF; 
      RAM_FC        = READ_WRITE  0xFC1000 TO 0xFC1FFF; 
      RAM_FD        = READ_WRITE  0xFD1000 TO 0xFD1FFF; 
//    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 : 

      PAGE_E0_0     = READ_ONLY   0xE08000 TO 0xE087FF; // Cannot be mapped to XGATE; XGATE sees registers here 
      PAGE_E0       = READ_ONLY   0xE08800 TO 0xE0BFFF; 
      PAGE_E1       = READ_ONLY   0xE18000 TO 0xE1BFFF; 
      
      //Pages E0-E7 should NOT be used for HC12 code when also used for XGATE code since
      //the HC12 will have priority over the XGATE accessing the FLASH modules resulting very poor performance of
      //the XGATE.
      
      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_FE       = READ_ONLY   0xFE8000 TO 0xFEBFFF;
      PAGE_FC       = READ_ONLY   0xFC8000 TO 0xFCBFFF;
      
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
      NON_BANKED,             // runtime routines which must not be banked
      COPY                    // copy down information: how to initialize variables
                              
                                 
                        INTO  ROM_C000;

      DEFAULT_ROM       INTO  PAGE_FE;
      
      
      SSTACK,                 // allocate stack first to avoid overwriting variables on overflow
      DEFAULT_RAM,            // all variables, the default RAM location
      
         
      SHARED_DATA   
                        INTO  RAM;
                        
      MY_CPU_DATA       INTO  RAM_F0;

      XGATE_VECTORS     INTO  RAM_FA;

      XGATE_CODE,             
      
      XGATE_DATA              
                        INTO  RAM_F9;
                        
                        


                              
                               

    
END


ENTRIES /* keep the following unreferenced variables */
  
END

STACKSIZE 0x100   


VECTOR 0 _Startup /* reset vector */

⌨️ 快捷键说明

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