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

📄 _mc9s12dp256_flat.prm

📁 PWM Generation Using HCS12 Timer Channels
💻 PRM
字号:
/*****************************************************************************/
/*                                             COPYRIGHT (c) MOTOROLA 2000   */
/* FILE NAME: _MC9S12DP256_FLAT.PRM                                           */
/*                                                                           */
/* PURPOSE: Example Linker file for building a non-banked Flash target.      */
/*                                                                           */
/* TARGET DEVICE: 68HC912DP256                                               */
/*                                                                           */
/* COMPILER:    Metrowerks                                                   */
/*                                                                           */
/* DESCRIPTION: Linker Parameter file for Metrowerks Code Warrior.           */
/*                                                                           */
/* NOTES:       Source code should include _dummyISR for unused interrupts.  */
/*              ISRs in source code should be assigned to NON_BANKED Section.*/
/*                                                                           */
/*                                                                           */
/*                                                                           */
/* AUTHOR: Martyn Gallop        LOCATION: EKB      LAST EDIT DATE: 18.07.01  */
/*                                                                           */
/* UPDATE HISTORY                                                            */
/* REV      AUTHOR       DATE       DESCRIPTION OF CHANGE                    */
/* ---      ------      ---------    ---------------------                   */
/* 1.0      M Gallop    04/06/01                                             */
/*                                                                           */
/*===========================================================================*/
/* Motorola reserves the right to make changes without further notice to any */
/* product herein to improve reliability, function, or design. Motorola does */
/* not assume any  liability arising  out  of the  application or use of any */
/* product,  circuit, or software described herein;  neither  does it convey */
/* any license under its patent rights  nor the  rights of others.  Motorola */
/* products are not designed, intended,  or authorized for use as components */
/* in  systems  intended  for  surgical  implant  into  the  body, or  other */
/* applications intended to support life, or  for any  other application  in */
/* which the failure of the Motorola product  could create a situation where */
/* personal injury or death may occur. Should Buyer purchase or use Motorola */
/* products for any such intended  or unauthorized  application, Buyer shall */
/* indemnify and  hold  Motorola  and its officers, employees, subsidiaries, */
/* affiliates,  and distributors harmless against all claims costs, damages, */
/* and expenses, and reasonable  attorney  fees arising  out of, directly or */
/* indirectly,  any claim of personal injury  or death  associated with such */
/* unintended or unauthorized use, even if such claim alleges that  Motorola */
/* was negligent regarding the  design  or manufacture of the part. Motorola */
/* and the Motorola logo* are registered trademarks of Motorola Ltd.         */
/*****************************************************************************/

NAMES
END

SECTIONS
  
   RAM = READ_WRITE 0x1010 TO 0x3FFF; 
    /* unbanked FLASH ROM */
    ROM_4000 = READ_ONLY  0x4000 TO 0x7FFF;
    ROM_C000 = READ_ONLY  0xC000 TO 0xFEFF;
    EEPROM = READ_WRITE 0x0400 TO 0x0FFF;
    
    DP256_REG     	= NO_INIT 0x0000 TO 0x002F;
 	DP256_PAGE     	= NO_INIT 0x0030 TO 0x0033; 	
 	DP256_CRG     	= NO_INIT 0x0034 TO 0x003F; 
 	DP256_TIMER    	= NO_INIT 0x0040 TO 0x007F;
 	DP256_ATD0     	= NO_INIT 0x0080 TO 0x009F;
 	DP256_PWM     	= NO_INIT 0x00A0 TO 0x00C7; 
 	DP256_SCI0     	= NO_INIT 0x00C8 TO 0x00CF;
 	DP256_SCI1     	= NO_INIT 0x00D0 TO 0x00D7;
 	DP256_SPI0     	= NO_INIT 0x00D8 TO 0x00DF;
 	DP256_IIC     	= NO_INIT 0x00E0 TO 0x00E7;
 	DP256_BDLC     	= NO_INIT 0x00E8 TO 0x00EF;
 	DP256_SPI1     	= NO_INIT 0x00F0 TO 0x00F7;
 	DP256_SPI2     	= NO_INIT 0x00F8 TO 0x00FF;
 	DP256_FLASH    	= NO_INIT 0x0100 TO 0x010F;
 	DP256_EEPROM  	= NO_INIT 0x0110 TO 0x011B;
 	DP256_ATD1     	= NO_INIT 0x0120 TO 0x013F;
 	DP256_CAN0    	= NO_INIT 0x0140 TO 0x017F;
 	DP256_CAN1     	= NO_INIT 0x0180 TO 0x01BF;
 	DP256_CAN2     	= NO_INIT 0x01C0 TO 0x01FF;
 	DP256_CAN3     	= NO_INIT 0x0200 TO 0x023F;
 	DP256_PIM    	= NO_INIT 0x0240 TO 0x027F; 
 	DP256_CAN4     	= NO_INIT 0x0280 TO 0x02BF;
END


/* For small programs place all code into 0xC000 segment (with vectors) */
/*  so only need to program one segment.   */
/* For larger programs un-comment ROM_4000. */  
PLACEMENT
    _PRESTART, STARTUP,
    ROM_VAR, STRINGS,
    NON_BANKED, DEFAULT_ROM,
    COPY                    INTO  ROM_C000; /*, ROM_4000; */
    DEFAULT_RAM             INTO  RAM;
    
    S12_REG    					INTO DP256_REG;
 	S12_PAGE   					INTO DP256_PAGE;
 	S12_CRG    					INTO DP256_CRG;
	S12_TIMER  					INTO DP256_TIMER;
 	S12_ATD0   					INTO DP256_ATD0;
 	S12_ATD1   					INTO DP256_ATD1;
 	S12_PWM    					INTO DP256_PWM;
 	S12_SCI0	   				INTO DP256_SCI0;
 	S12_SCI1   					INTO DP256_SCI1;
 	S12_SPI0   					INTO DP256_SPI0;
 	S12_SPI1   					INTO DP256_SPI1;
 	S12_SPI2   					INTO DP256_SPI2;
 	S12_PIM   					INTO DP256_PIM;
 	S12_IIC    					INTO DP256_IIC;
 	S12_FLASH  					INTO DP256_FLASH;
 	S12_EEPROM 					INTO DP256_EEPROM;
 	S12_CAN0   					INTO DP256_CAN0;
 	S12_CAN1   					INTO DP256_CAN1;
 	S12_CAN2   					INTO DP256_CAN2;
 	S12_CAN3   					INTO DP256_CAN3;
 	S12_CAN4   					INTO DP256_CAN4;
 	S12_BDLC   					INTO DP256_BDLC;
END

STACKSIZE 0x0200

VECTOR  0 _Startup     /* 0xFFFE Reset   */
VECTOR  1 _dummyISR    /* 0xFFFC Clock monitor fail reset  */
VECTOR  2 _dummyISR    /* 0xFFFA COP failure reset  */
VECTOR  3 _dummyISR    /* 0xFFF8 Unimplemented instruction trap  */
VECTOR  4 _dummyISR    /* 0xFFF6 SWI  */
VECTOR  5 _dummyISR    /* 0xFFF4 XIRQ  */
VECTOR  6 _dummyISR    /* 0xFFF2 IRQ  */
VECTOR  7 _dummyISR    /* 0xFFF0 real Time Interrupt  */
VECTOR  8 _TimerCompare0ISR	   /* 0xFFEE Timer channel 0  */
VECTOR  9 _dummyISR    /* 0xFFEC Timer channel 1  */
VECTOR 10 _dummyISR    /* 0xFFEA Timer channel 2  */
VECTOR 11 _dummyISR    /* 0xFFE8 Timer channel 3  */
VECTOR 12 _dummyISR    /* 0xFFE6 Timer channel 4  */
VECTOR 13 _dummyISR    /* 0xFFE4 Timer channel 5  */
VECTOR 14 _dummyISR    /* 0xFFE2 Timer channel 6  */
VECTOR 15 _dummyISR    /* 0xFFE0 Timer channel 7  */
VECTOR 16 _dummyISR    /* 0xFFDE Timer overflow  */
VECTOR 17 _dummyISR    /* 0xFFDC Pulse accumulator A overflow  */
VECTOR 18 _dummyISR    /* 0xFFDA Pulse accumulator input edge  */
VECTOR 19 _dummyISR    /* 0xFFD8 SPI Serial transfer complete  */
VECTOR 20 _dummyISR    /* 0xFFD6 SCI0  */
VECTOR 21 _dummyISR    /* 0xFFD4 SCI1  */
VECTOR 22 _dummyISR    /* 0xFFD2 ATD0  */
VECTOR 23 _dummyISR    /* 0xFFD0 ATD1  */
VECTOR 24 _dummyISR    /* 0xFFCE port J  */
VECTOR 25 _dummyISR    /* 0xFFCC Port H  */
VECTOR 26 _dummyISR    /* 0xFFCA Modulus Down Counter underflow  */
VECTOR 27 _dummyISR    /* 0xFFC8 Pulse Accumulator B Overflow  */
VECTOR 28 _dummyISR    /* 0xFFC6 CRG lock  */
VECTOR 29 _dummyISR    /* 0xFFC4 SCME  */
VECTOR 30 _dummyISR    /* 0xFFC2 DLC  */
VECTOR 31 _dummyISR    /* 0xFFC0 IIC Bus  */
VECTOR 32 _dummyISR    /* 0xFFBE SPI1  */
VECTOR 33 _dummyISR    /* 0xFFBC SPI2  */
VECTOR 34 _dummyISR    /* 0xFFBA EEPROM  */
VECTOR 35 _dummyISR    /* 0xFFB8 Flash  */
VECTOR 36 _dummyISR    /* 0xFFB6 MSCAN 0 wake-up  */
VECTOR 37 _dummyISR    /* 0xFFB4 MSCAN 0 errors  */
VECTOR 38 _dummyISR    /* 0xFFB2 MSCAN 0 receive  */
VECTOR 39 _dummyISR    /* 0xFFB0 MSCAN 0 transmit  */
VECTOR 40 _dummyISR    /* 0xFFAE MSCAN 1 wake-up  */
VECTOR 41 _dummyISR    /* 0xFFAC MSCAN 1 errors  */
VECTOR 42 _dummyISR    /* 0xFFAA MSCAN 1 receive  */
VECTOR 43 _dummyISR    /* 0xFFA8 MSCAN 1 transmit  */
VECTOR 44 _dummyISR    /* 0xFFA6 MSCAN 2 wake-up  */
VECTOR 45 _dummyISR    /* 0xFFA4 MSCAN 2 errors  */
VECTOR 46 _dummyISR    /* 0xFFA2 MSCAN 2 receive  */
VECTOR 47 _dummyISR    /* 0xFFA0 MSCAN 2 transmit  */
VECTOR 48 _dummyISR    /* 0xFF9E MSCAN 3 wake-up  */
VECTOR 49 _dummyISR    /* 0xFF9C MSCAN 3 errors  */
VECTOR 50 _dummyISR    /* 0xFF9A MSCAN 3 receive  */
VECTOR 51 _dummyISR    /* 0xFF98 MSCAN 3 transmit  */
VECTOR 52 _dummyISR    /* 0xFF96 MSCAN 4 wake-up  */
VECTOR 53 _dummyISR    /* 0xFF94 MSCAN 4 errors  */
VECTOR 54 _dummyISR    /* 0xFF92 MSCAN 4 receive  */
VECTOR 55 _dummyISR    /* 0xFF90 MSCAN 4 transmit  */
VECTOR 56 _dummyISR    /* 0xFF8E Port P Interrupt */
VECTOR 57 _dummyISR    /* 0xFF8C PWM Shutdown  */

⌨️ 快捷键说明

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